6 Commits

Author SHA1 Message Date
9602801f5e chore: drop dead code, sync stale comments
- delete api/categorize.py: orphaned module, never imported. The live
  pzmm-types→category mapping is _types_to_category in mlos_sort.py.
- delete api/adapters.py:_autopick_ambiguous: 5-line wrapper around
  _apply_branch_rules with zero callers in current source.
- delete docs/backlog/polling-path-pz-build.md: described work that
  shipped — init/06_sort_jobs_pz_build.sql plus pz_build plumbing in
  jobs.create_job, app._route_to_job, and app._build_result_for_job.
- sync MAP_LINE convention comment in api/mlos_sort.py with the worker
  copy (Muldraugh, KY is appended at the end, not prepended at the
  front — see adapters.build_response:577).
- update init/04_required_wsids.sql header to reflect the authed-API
  fetch path (HTML scrape was retired in 3a34b71).
- soften the now-stale '~14 rows' count in app._strip_path_prefix's
  docstring.
2026-05-07 17:58:57 +00:00
afea4bbe98 fix: strip leading UTF-8 BOM in parse_mod_info
mod.info files saved by Windows notepad start with a U+FEFF BOM, which
made the first line's `name=` regex miss; affected mods displayed with
empty name (sort still worked because `id=` on subsequent lines parsed
fine, but MOD_DB display name fell back to mod_id). Both copies of
mlos_sort.py updated; existing 23 BOM-affected rows already cleaned in
place from raw_mod_info.
2026-05-06 21:30:38 +00:00
8deaf82eac working on add/fix/remove buttons 2026-05-06 05:10:19 +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
55d3794bfb Add full sortof codebase: API, drain workers, frontend, schema, specs 2026-05-04 03:27:54 +00:00