diff --git a/docs/milestones/M1-foundation.md b/docs/milestones/M1-foundation.md index 1451fa7..c8e6a30 100644 --- a/docs/milestones/M1-foundation.md +++ b/docs/milestones/M1-foundation.md @@ -10,11 +10,11 @@ ## Current State -The mod has a strong skeleton but several issues prevent a clean boot and -playthrough. All critical issues from the original review have been resolved -(trait name mismatches, missing event namespaces, `@#` comment syntax, missing -modifiers, province history, bookmark). However, warning-level issues remain -that must be fixed before M2 work can begin safely. +All M1 implementation tasks are complete. The mod has a clean skeleton with +zero ck3-tiger errors, zero untidy warnings, and all static validation checks +passing. The remaining ck3-tiger warnings (335) are expected province +redefinitions, auto-generated MaA formats, and not-yet-generated art assets. +In-game testing is the final step before declaring M1 done. **What exists and works:** - `common/modifiers/00_mistborn_modifiers.txt` -- all 7 modifier definitions @@ -480,6 +480,47 @@ display errors in-game. - All localization keys for modifiers, game rules, and decisions resolve correctly (no `[KEY]` display). +## Test Results + +### Implementation Tasks — Status (2026-02-07) + +| Task | Status | Notes | +|------|--------|-------| +| 1.1 Province History | PASS | 105 provinces remapped to vanilla IDs (2030-3107); 2,413 default province entries for unused vanilla provinces | +| 1.2 Culture Pillars | PASS | All pillars have `type`, `is_shown`, `color`; `head_determination` added to all cultures | +| 1.3 Scripted Triggers | PASS | `is_feruchemist_trigger` matches only active; `has_allomantic_potential_trigger` excludes active allomancers; `has_any_*` variants exist | +| 1.4 Unified Attention | PASS | Variable-based system (0-100) with tiered modifiers; zero references to `lord_ruler_attention_modifier` | +| 1.5 Vanilla Suppression | PASS | 34 vanilla decision files suppressed; only Mistborn decisions remain | +| 1.6 Game Rules | PASS | `mistborn_game_mode` with narrative/sandbox; mode triggers integrated | +| 1.7 Localization Coverage | PASS | All 47 modifiers, game rules, opinion modifiers localized | + +### Static Validation Checks (2026-02-07) + +| Check | Result | Notes | +|-------|--------|-------| +| Encoding audit (UTF-8 BOM) | PASS | All 94 .txt/.yml files have correct 3-byte BOM | +| Comment syntax (`@#`) | PASS | No invalid comment prefixes | +| Brace matching | PASS | All .txt files balanced | +| Trait reference integrity | PASS | All 26 trait references resolve to definitions | +| Modifier reference integrity | PASS | All 13 modifier references resolve | +| Event reference integrity | PASS | All 13 event references resolve to existing files | +| Mod descriptor | PASS | `lords-of-ash.mod` path field correct | + +### ck3-tiger Static Analysis (2026-02-07) + +``` +fatal: 0, error: 0, warning: 335, untidy: 0, tips: 0 +``` + +Remaining 335 warnings are all expected/deferred: +- 290 duplicate-field/item: mod provinces intentionally override vanilla +- 30 missing-item: auto-generated MaA modifier formats (26) + dynasty CoAs (4) +- 15 missing-file: art assets not yet generated + +### In-Game Testing + +Requires human player — see Testing Checkpoints above. Not yet performed. + ## Risks & Mitigations 1. **Province ID mapping errors.** If any vanilla province ID is wrong, the