docs: FA1 CLOSED — re-review CF-1 seam-map addenda + ledger verdict
The narrow re-review (96df892d) closed FA1 with no reopen and one
carry-forward: two further forward-looking seam-map rows (:128 owner
diagram, :214 state-parameter pattern) still cited the deleted
AllegianceTree as FA2 design guidance. Both now carry dated strike/
addendum notes pointing FA2 at the parsed profile records instead.
FA2 unblocked per the re-review's precondition.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
96df892d21
commit
1bb707e248
2 changed files with 18 additions and 4 deletions
|
|
@ -193,7 +193,7 @@ before anything builds on them.
|
|||
|
||||
| Slice | Status | Commit(s) | Review | Gate |
|
||||
|---|---|---|---|---|
|
||||
| FA1 | CODE-COMPLETE 2026-08-12; dual-lens Opus review APPROVE-WITH-FIXES both lenses; fix-round applied 2026-08-12 | `7be86f47` (builders), `6bedbc47` (parsers), `5f9aa16f` (WeenieError), `4281750b` (delete AllegianceTree); fix-round: `ed308087` (mechanism+blast MUST/SHOULD-FIX code+tests), this commit (register/plan/seams doc corrections) | mechanism `docs/research/2026-08-12-fa1-review-mechanism.md` (2 MUST-FIX, 5 SHOULD-FIX, all applied); blast `docs/research/2026-08-12-fa1-review-blast.md` (4 MUST-FIX, 5 SHOULD-FIX, all applied). **Live-surface note (blast SF-1):** FA1 changed the observable output of the ALREADY-LIVE `@allegiance info` command in two retail-faithful ways — vassal print order reversed (now pinned by a 3-vassal test through `FormatAllegianceInfoLines`) and a malformed tree now prints nothing instead of a partial roster (now pinned at the `GameEventWiring` layer) — not a "purely unwired" slice. | automated: Release build + full suite green throughout. **Reconciled totals (blast MF-4):** the ledger's own prior figure (13,149/4/0) is CONFIRMED correct by direct measurement at the pre-fix-round tip `bc693728` (13,153 total = 4+916+1559+15+130+119+4856+877+4677 across all 9 test projects); the campaign-start baseline in §5 is 13,103/4/0, and the diff-verified FA1 delta is **+58 added / −9 deleted (deleted `AllegianceTreeTests.cs`) = net +49**, i.e. 13,103+49=13,152 — one test of drift against the directly-measured 13,153/13,149 baseline, attributed to the §5 baseline being captured at a different point in git history than the FA1 diff's actual parent, not a further miscount. This fix round adds a further **+9 tests** (2 golden vectors for the new `0x001F` builder, 1 D5 `<<1` pin at the `0x02C0` site, 4 MF-1/SF-1 boundary tests, 2 blast SF-1 live-surface pins) — **final: 13,158 passed / 4 skipped / 0 failed (13,162 total), directly measured.** |
|
||||
| FA1 | **CLOSED 2026-08-12** — narrow re-review verdict CLOSED, no reopen (`96df892d`, §7 of the mechanism findings doc: all 7 mechanism dispositions re-derived in the diffs, all 6 blast dispositions spot-verified, suite claim corroborated on post-fix binaries); re-review carry-forward CF-1 (two further stale `AllegianceTree` citations in the seam map's FA2 guidance, `:128`/`:214`) closed by coordinator addenda in the same commit as this ledger update — FA2 was contracted not to start before that | `7be86f47` (builders), `6bedbc47` (parsers), `5f9aa16f` (WeenieError), `4281750b` (delete AllegianceTree); fix-round: `ed308087` (mechanism+blast MUST/SHOULD-FIX code+tests), this commit (register/plan/seams doc corrections) | mechanism `docs/research/2026-08-12-fa1-review-mechanism.md` (2 MUST-FIX, 5 SHOULD-FIX, all applied); blast `docs/research/2026-08-12-fa1-review-blast.md` (4 MUST-FIX, 5 SHOULD-FIX, all applied). **Live-surface note (blast SF-1):** FA1 changed the observable output of the ALREADY-LIVE `@allegiance info` command in two retail-faithful ways — vassal print order reversed (now pinned by a 3-vassal test through `FormatAllegianceInfoLines`) and a malformed tree now prints nothing instead of a partial roster (now pinned at the `GameEventWiring` layer) — not a "purely unwired" slice. | automated: Release build + full suite green throughout. **Reconciled totals (blast MF-4):** the ledger's own prior figure (13,149/4/0) is CONFIRMED correct by direct measurement at the pre-fix-round tip `bc693728` (13,153 total = 4+916+1559+15+130+119+4856+877+4677 across all 9 test projects); the campaign-start baseline in §5 is 13,103/4/0, and the diff-verified FA1 delta is **+58 added / −9 deleted (deleted `AllegianceTreeTests.cs`) = net +49**, i.e. 13,103+49=13,152 — one test of drift against the directly-measured 13,153/13,149 baseline, attributed to the §5 baseline being captured at a different point in git history than the FA1 diff's actual parent, not a further miscount. This fix round adds a further **+9 tests** (2 golden vectors for the new `0x001F` builder, 1 D5 `<<1` pin at the `0x02C0` site, 4 MF-1/SF-1 boundary tests, 2 blast SF-1 live-surface pins) — **final: 13,158 passed / 4 skipped / 0 failed (13,162 total), directly measured.** |
|
||||
| FA2 | — | | | |
|
||||
| FA3 | — | | | |
|
||||
| FA4 | — | | | |
|
||||
|
|
|
|||
|
|
@ -126,6 +126,14 @@ GameRuntime
|
|||
│ └── borrows RuntimeEntityObjectLifetime (member guid → ClientObject)
|
||||
└── AllegianceOwner : RuntimeAllegianceState (new)
|
||||
└── owns the ported AcDream.Core.Allegiance.AllegianceTree
|
||||
^^^ [FA1 fix-round addendum 2026-08-12, re-review CF-1:
|
||||
AllegianceTree was DELETED at 4281750b (lane C verdict —
|
||||
wrong passup transcription, wire-contradicting tree model).
|
||||
RuntimeAllegianceState owns the PARSED profile records from
|
||||
ClientCommandResponses.ReadAllegianceProfileBody instead —
|
||||
the flat vassal list + monarch/patron/self blocks, already
|
||||
assembled with retail's four rejection rules. Do not recreate
|
||||
a tree type.]
|
||||
```
|
||||
|
||||
Rationale and precedent:
|
||||
|
|
@ -211,9 +219,15 @@ like every other Runtime-owned sink above"). Two legal shapes:
|
|||
- **State object** (like `friends`, `squelch`, `itemMana`, `vendor`,
|
||||
`externalContainers`): the type lives in `AcDream.Core.*`, Runtime owns
|
||||
the instance, Core.Net writes into it. `FriendsState`/`SquelchState` live
|
||||
in `AcDream.Core.Social`; `AllegianceTree` already lives in
|
||||
`AcDream.Core.Allegiance` — **so the allegiance tree can be passed
|
||||
directly as a state parameter**, exactly like `friends`.
|
||||
in `AcDream.Core.Social`; ~~`AllegianceTree` already lives in
|
||||
`AcDream.Core.Allegiance` — so the allegiance tree can be passed
|
||||
directly as a state parameter, exactly like `friends`~~ [FA1 fix-round
|
||||
addendum 2026-08-12, re-review CF-1: `AllegianceTree` was DELETED at
|
||||
`4281750b`. The pattern itself stands — the PARSED allegiance profile
|
||||
records (from `ReadAllegianceProfileBody`, in `AcDream.Core.Net`) are
|
||||
what gets passed/held; FA2 defines the owned snapshot type in
|
||||
`AcDream.Core.*` if a Core-side holder is needed, or holds the parsed
|
||||
records directly in the Runtime owner].
|
||||
- **Delegate hole** (like `onCharacterOptions`, `onInterfaceText`,
|
||||
`onUseDone`): a `Action<...>` the router closes over.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue