diff --git a/docs/plans/2026-09-06-campaign-vt-slice1-files-and-columns.md b/docs/plans/2026-09-06-campaign-vt-slice1-files-and-columns.md index ec948a0b..d1419549 100644 --- a/docs/plans/2026-09-06-campaign-vt-slice1-files-and-columns.md +++ b/docs/plans/2026-09-06-campaign-vt-slice1-files-and-columns.md @@ -128,3 +128,4 @@ change in combat/buff/loot/nav (slices 2-6). - 2026-09-06 full App suite on the merged branch: 7,411 passed / 36 failed / 97 skipped. The 36 are the same environment-gated lanes the Part A architecture reviewer saw on the base commit (installed-DAT physics/streaming/walk-trace, live-mount UI probes, Linux-only pacing/credential tests, the fixture regenerator) — none in markup or plugin code. - 2026-09-06 Part A fix round 1 landed 3 of 12 items (`9c34b6074` declared-type tags + G15 + per-tag compare; `74283e111` `UseArcs` 3-way enum, test normalizer deleted; `07664b199` character-oriented `ba`/void-tag cursor). MossTank suite 424 → 562. The agent kept a float tolerance for `tDouble` settings stored in `float` fields (root cause deferred to round 1b item I: widen the fields). Round 1b dispatched on the same worktree for the remaining nine items (two-triple `ptl`/`tlk`, typed embedded routes, export collision, full `CreateNew` schema + replica deletion, metaf header, `IPluginStorage VtankProfiles` host contract, `mineOnly`/`.cdf`/`.ast`, restored tests, nits). Round 2 (store cutover) still follows. - 2026-09-06 Part A fix round 1b landed all nine remaining items (`0219c6e03`…`d631cc4fe`): two-triple `ptl`/`tlk` (jmp direction loss recorded in KB 06 §6), typed `MetaAction.EmbeddedRoute` with the binary blob writers deleted, `exports/meta/` vs `exports/nav/`, `CreateNew` seeded from the embedded `defaultsettings.usd` with the hand-typed recharge replica deleted, metaf header + real byte identity, `IPluginStorage VtankProfiles` composed by the App and Headless hosts (`ACDREAM_VTANK_PROFILE_DIR`), real `mineOnly` + `.cdf` + `.ast`, restored tests + disabled-rule refusal, all fifteen `tDouble` fields widened so the compare is exact, nits. MossTank suite 562 → 585. Contract correction: `bore_quest.af` is hand-edited (space instead of tab after `IF:`) like `bore_enhanced.af` and cannot byte-match any writer — excluded with the reason, not a defect. Round 2 (store cutover: `.usd`/`.af` primary, one-time JSON migration, Profiles tab, `/vt` verbs) dispatched. +- 2026-09-07 Part A round 2 (store cutover) landed: `479495ecc` settings → real `.usd` (load/save/create/clear through the serializer, listing + `.cdf` binding through `VtankProfileDirectory`, `SetOptionInAll` patches every `.usd`), `a5d52bfb0` metas and routes → `.af` (sole storage; `WriteLegacyExport` deleted; named routes carry the owner's own `nav_` prefix), `e5c4912b6` migration pins, `8a146aa8c` Profiles-tab Delete through the markup contract. One-time JSON migration per store (idempotent, counterpart-exists tests); disabled-rule saves refused with a notice. MossTank suite 585 → 595. Left in JSON as MossTank-only state: item/consumable name lists, no-buff names, attack power, scan intervals, meta state, dynamic settings, the monster-rule and loot-rule tables, the buff category bools, vitals enabled, the loot classifier id, and a `MineOnly` preference. Flagged: `MyMonsters` ↔ `MonsterRule` not parsed (slice 3/7 scope); `.utl` loot profile store still JSON-indexed with its own legacy export (round-2 scope question for the re-review). Narrow re-reviews (both lenses) dispatched.