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 fd962caf..a4d65055 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 @@ -125,3 +125,4 @@ change in combat/buff/loot/nav (slices 2-6). - 2026-09-06 Part B landed on `worktree-agent-a4da5c8764f9e7f71` at `959a69482` (6 files, 27 tests). Opus architecture lens: APPROVE-WITH-FIXES (row-bound guard on callbacks, try/finally clip, column-identifying binder contexts, per-frame allocations, width silent-zero, contract test unaware of ``, shared lamp helper). Opus fidelity lens: REJECT — text columns had no per-cell callback (VTank never uses row selection), missing width silently hid the Meta tab's condition column, single-absorber vs VVS's equal-share auto width, short check columns drew nothing, no Meta/Monsters-shaped end-to-end test, no pitch convention. Both lists folded into one fix round (11 items) dispatched on the same worktree; B1 amended above (text `onclick`, `width="*"`), B2's stray "draw header" struck. - 2026-09-06 Part A landed on `worktree-agent-a4e93dac28a3d6f36` at `17f2143a7` (4 commits; MossTank suite 345 → 424). Implementer deviations: A2 "foundation-only" (stores still JSON-primary with an `.af` sidecar export), a raw-path `IPluginHost.VtankProfileDirectory`, `-text` gitattributes for fixtures. Opus fidelity lens: REJECT — 20/137 settings written with the wrong `gy` type tag (VTank unboxes → crash), `UseArcs` 3-value enum collapsed to bool with the byte-identity test edited to hide it, `ptl`/`tlk` approach coordinates lost on save, meta/route exports collide, `ba` blobs and void tags mis-parsed, `CreateNew` emits a schema VTank would overwrite, no metaf header emitted, `mineOnly` wrong, `.cdf`/`.ast` absent. Opus architecture lens: APPROVE-WITH-FIXES — the raw path violates the architecture doc's storage invariant and is not forwarded by `ScopedPluginHost` (dead on arrival), the new engines have zero production callers, the recharge replica was not replaced, the binary nav writer survived inside `MetafSerializer`, `.met` reader tests deleted with the writer tests, tautological Linux-path pin, `G15` formatting. Fix round 1 (fidelity blockers + host contract: `IPluginStorage VtankProfiles` composed by the host, `ACDREAM_VTANK_PROFILE_DIR`) dispatched on the same worktree; fix round 2 = the store cutover (JSON → `.usd`/`.af` primary with one-time migration, Profiles tab, `/vt` save commands) follows. - 2026-09-06 Part B fix round landed (`fd521f781`…`026b51207`, 11 commits; column tests 27 → 46, contract tests 6 → 8). Narrow Opus re-review: all eleven findings CLOSED with mutation-sensitive evidence, legacy path proven byte-identical, verdict MERGE-READY. Merged into the campaign branch at `da0fcb374`. Carry-forwards for the owner's next visual gate: a check column shorter than the list draws unchecked lamps that ignore clicks (documented; author bug in practice); `UiMarkupList.Columns` is sized once at assignment (mutating the list afterwards is unsupported; no in-repo caller does). +- 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.