Commit Graph

9 Commits

Author SHA1 Message Date
3336b2f661 feat: build-suffix labels for [add] actions; chain RV Interior Expansion after Project RV B42
Label format change ('!missing' actions):
  - "add TrueMoozic (renamed from truemusic)" → "add TrueMoozic B42"
  - "add truemusic"                           → "add truemusic B41"
Build context lives in the suffix; the alias-rename hint was redundant
because the user already sees the original mod_id in the warning text.

RV Interior Expansion ordering (B42):
  PROJECTRVInterior42 → RVInteriorExpansion → RVInteriorExpansionPart2
  map folders: map_distanciado → map_aquatsar → rvupdate → rv2 → Muldraugh, KY
Authors didn't declare loadAfter in mod.info; new modpack rules file
data/modpack_rules/rv_expansion.txt establishes the chain. Triggers fire
when either expansion wsid (3618427553 / 3622163276) is in input.
2026-05-04 16:21:35 +00:00
fabc79d0dc fix: drop auto-picked-branch warning on resort when user pick honored
The amber "auto-picked" warning persisted even after the user explicitly
picked a branch via the picker — the resort flow only updated the message
text from "auto-picked X" to "selected X" but kept the warning visible.
That reads as "you should review this" when in fact the user already did.

Now: when /api/resort honors a user's explicit branch selection, the
matching auto-picked-branch warning is dropped from WARNINGS. The
BranchPicker in the ModTable expansion (sortof-app.jsx ~818) keeps the
picker accessible if the user wants to switch branches later.

Initial /api/sort still emits the warning (the user hasn't picked yet);
suppression only kicks in once selected_modids honors a group's pick.
2026-05-04 16:15:35 +00:00
591f4608d4 fix: missing-dep [add] button respects MOD_ID_ALIASES on build mismatch
When user is on B42 and a mod requires the B41 mod_id (e.g.
truemusic_mixtape_megapack require=truemusic), the canonical wsid
(2613146550, B41-only) is rightly filtered out by the build guard —
but we were silently dropping the suggestion. Now we fall back to
MOD_ID_ALIASES: truemusic → TrueMoozic, suggest wsid 3632610172.

- _lookup_wsids_for_missing returns Dict[str, Tuple[wsid, suggested_mod_id]]
- build_warnings unpacks tuple, label clarifies rename when alias used
- adapters.build_response signature updated for new shape
2026-05-04 16:08:43 +00:00
75728e6b28 chore: gitignore .claude/ session state 2026-05-04 16:00:02 +00:00
cee433f47e feat: modpack-bundled sorting rules + B41/B42 build pair
- data/modpack_rules/helldrinx.txt: bundled rules for HellDrinx FULL/LITE
- app.py auto-injects modpack rules when a trigger wsid is in input;
  user-supplied rules are appended after and override on conflict
- MANUAL_BUILD_PAIRS: betterLockpicking (B41) ↔ NFsBetterLockpicking (B42)
- mlos_sort.py: minor adjustments (kept in lockstep across api/worker)
2026-05-04 15:58:39 +00:00
b73325882e feat: pzmm conflict detection + content-type categorization
- mod_files manifest table populated at parse time
- POST /api/conflicts endpoint
- mod_types fingerprinting feeds derive_category
- DD filelist regex broadened to cover conflict-eligible exts
- media/maps/<*>/* excluded from manifest (per-mod namespaced,
  no conflict value, can be tens of MB per mod)

Plan: docs/plans/2026-05-04-pzmm-conflict-and-typing.md
2026-05-04 15:22:35 +00:00
a15d35214e Stage warning actions; defer sort to explicit click
Add/remove/swap warning-action handlers no longer auto-fire /api/sort.
They mutate the input textarea idempotently; the sort button gets a
pending cue when current input != last-sorted input. Branch-picker
(/api/resort, cheap) keeps instant behavior. Spec lives in
docs/specs/2026-05-04-staged-warning-actions.md.
2026-05-04 14:16:33 +00:00
55d3794bfb Add full sortof codebase: API, drain workers, frontend, schema, specs 2026-05-04 03:27:54 +00:00
acda2c90f8 first commit 2026-05-04 03:12:29 +00:00