docs: non-warhammer system drop policy (Middle-Earth default-dropped)

This commit is contained in:
2026-10-07 08:04:09 +02:00
parent 0439071f70
commit fcec027473
2 changed files with 33 additions and 2 deletions
+25 -2
View File
@@ -225,9 +225,32 @@ never re-fetch them again):
(`CROSS_SYSTEM_MIN = 0.75`) - weaker guesses stay in `_unsorted`.
Token-containment boosts exist for short names vs long catalog names
("telemon" → "Telemon Heavy Dreadnought"), guarded by a generic-token
stoplist. The catalog deliberately covers all GW systems (needed for
stoplist.
**Refined 2026-10-07 (dir re-homing + weak tier + non-warhammer drop):**
- **Deepest-matching-dir wins**: ancestor directory names (inside the
archive in provenance mode, real dirs in manual trees) compete with
the pack/file name; the best accepted match re-homes the whole
subtree. Junk dir names (files/images/HEADS/pure numbers/lone generic
words) are never candidates. Fixes multi-unit sculptor packs (one
"Retro Elvez" archive ≈ 20 Eldar units no longer all land in one
keyword class).
- **Weak tier**: when nothing reaches the threshold, a hit >= `WEAK_MIN`
(0.50) is accepted but flagged low confidence - `[w]` in the plan,
`confidence: low` in the audit, listed in
`<library>/sorter_low_confidence.txt`. Weak and tokenless adoptions
require a shared non-generic token; tokenless normal adoption needs
+0.08 (`TOKENLESS_BONUS`); cross-system adoption additionally needs
token containment (`_token_contained`), because char-ratio lies
("aeldari rangers" vs "dwarf rangers" = 0.786).
- **Non-warhammer systems dropped**: `DROPPED_SYSTEMS` (default
`{Middle-Earth}`) - catalog entries filtered at load, keyword hits
count as unclassified; files stay in `_unsorted`. `--drop-system`/
`--keep-system` adjust. The catalog snapshot keeps all systems.
The catalog deliberately covers all GW systems (needed for
catalog-agnostic use) - wrong-system placement is prevented by matching
discipline, not by shrinking the catalog.
discipline and the drop filter, not by shrinking the catalog.
**Catalog source: the GW webshop via Algolia (`dlphelper/gwshop.py`,
working, verified 2026-10-04 — how it was obtained, do not re-derive):**