docs: Campaign CC gate round 1 closeout — register/ISSUES/ledger bookkeeping (F3, F12, F15)
Doc-only findings from the round review, plus the register rows the three code commits' own bookkeeping notes reference: - F3: AP-229 amended with the dialog-as-sibling z-order addendum — the same flat-sibling-list mechanism that motivates AP-229's own screen- layering row also covers RetailDialogFactory's open dialogs, which was GF-15's actual root cause (now fixed, but the underlying divergence — dialogs and screens sharing one z-order list at all — remains and could reintroduce the same failure class via a future sibling's own unconditional per-tick BringToFront). - F5/F6: AP-230 amended with the second narrow-honor addendum (the LayoutImporter carve-out fix landed in the Group 3 code commit); the findings doc's "CHAT INPUT" label corrected to "chat transcript" in both places it appeared (0x2100006F/0x10000011 is the transcript display, not the input textbox). - F12: the AD section header recounted 77 -> 79 (a direct physical count found it undercounted by 2); the AP section header's own "one high" drift-direction note corrected to "one low" — verified against the actual commit history (Batch A ended with 165 physical rows but a 164 header; Batch B's recount correctly landed on 164, the header was never overcounting). - F15: ISSUES.md #406 gains the crash-vs-incomplete-shutdown precedence sentence — ReportExited's _runFailure check runs first and returns immediately, so a crash always wins over a subsequently-failed shutdown for the same session's reported reason. - AP-231 filed (the Group 2 commit's own ComposeFormula connector-text approximation — referenced in that commit's message but the register row itself was missed until this pass; 161 active AP rows). - Campaign CC plan ledger gains a "Gate round 1" row with the full commit list for batches A-G plus this session's three closeout commits, superseding the ledger's stale "sole remaining acceptance step" framing (written before the connected gate ran and found the GF-1..GF-16 / R2-1..R2-8 findings this whole round fixed). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
bd359d5181
commit
9efcd80e34
4 changed files with 34 additions and 10 deletions
|
|
@ -188,7 +188,18 @@ free-text `reason` field (§LA1's `exited{code,reason}` vocabulary pins
|
|||
the EVENT name, not an enum of `reason` strings — `StatusEventParser`
|
||||
already round-trips any string there) so no wire-contract amendment was
|
||||
needed. Pinned as a source-shape test (`GameWindowCrashStatusTests`) since
|
||||
`GameWindow` cannot be constructed without a live GPU/window.
|
||||
`GameWindow` cannot be constructed without a live GPU/window. **Precedence
|
||||
(F15, gate round 1 closeout, 2026-08-16):** `ReportExited`'s `_runFailure`
|
||||
check runs FIRST and returns immediately, so a crash ALWAYS wins over an
|
||||
incomplete shutdown for the same session: if `Run()` observed an
|
||||
exception AND the resource-shutdown transaction subsequently failed to
|
||||
converge (`report.Status != Complete`), the reported reason is still
|
||||
`"crashed"`, never `"shutdown-incomplete"`. The teardown failure itself is
|
||||
not lost -- `Console.Error.WriteLine` still logs the blocked stage and
|
||||
every cleanup failure right before `ReportExited` runs -- but the ONE
|
||||
terminal status event a launcher/monitoring consumer reads only ever
|
||||
carries one reason per session, and a crash is judged the more actionable
|
||||
of the two.
|
||||
|
||||
Sibling gap fixed in the same commit: the launcher previously discarded
|
||||
the child's stdout/stderr entirely, which is why diagnosing this exact
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue