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
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -270,7 +270,7 @@ tint" halves stay open, judged disproportionate to add alongside this
|
|||
batch's ~10 other fixes), (2) a CLIENT-WIDE `LayoutImporter` fix
|
||||
un-consuming media-bearing dat children on `UiText`/`UiField` (37 distinct
|
||||
(layout, element) pairs across 15 layouts, independently re-derived —
|
||||
includes MAIN GAME UI and CHAT INPUT, closing the build half of pre-filed
|
||||
includes MAIN GAME UI and the chat transcript, closing the build half of pre-filed
|
||||
issue #366), (3) the Summary how-to text
|
||||
(`gmCGSummaryPage::SetHowToText`) plus the scrollbar-to-text-scroll
|
||||
linkage Commit 2 left unbound. Fixture + live-DAT tests only (no
|
||||
|
|
@ -632,11 +632,25 @@ ISSUES.md; this doc is the six-page batch.
|
|||
as before. Independently re-derived blast radius: **37 distinct
|
||||
(layout, element) pairs across 15 layouts** (see the commit message for
|
||||
the full enumeration), including MAIN GAME UI (`0x21000005/0x1000059A`)
|
||||
and CHAT INPUT (`0x2100006F/0x10000011` — closing the BUILD half of
|
||||
and the chat transcript (`0x2100006F/0x10000011` — closing the BUILD half of
|
||||
pre-filed issue #366's own "fix shape" recommendation, which proposed
|
||||
this EXACT carve-out). Full App suite (5304 tests): zero regressions.
|
||||
**The user's own visual check of chat + the main game UI is still owed**
|
||||
— automated coverage cannot catch a purely visual placement regression.
|
||||
**Closeout Group 3 (F5/F6, 2026-08-16):** one of this carve-out's
|
||||
media-bearing children — the chat new-text indicator, `0x1000048C`,
|
||||
live-DAT-confirmed authored `Invisible=true` on every layout it appears
|
||||
in (`0x21000005`/`0x21000006`/`0x2100005B`/`0x2100006F`) — was building as
|
||||
a visible phantom element retail never shows. Fixed with a NARROW honor
|
||||
scoped to exactly this carve-out (`LayoutImporter.BuildWidget`'s
|
||||
`UiText or UiField` branch sets a built child's `Visible = false` when its
|
||||
own `AuthoredInvisible` flag is set), not the general #408 client-wide
|
||||
honor. Verified in both directions: the invisible chat indicator now
|
||||
builds hidden, and the eight chargen/main-game-UI gold-frame pieces
|
||||
(`0x100002DE-E3`/`0x100000E8`/`0x100000EA`) do NOT author `Invisible` and
|
||||
stay visible — confirmed both by a live-DAT sweep
|
||||
(`MediaBearingChildSweep_EnumeratesWhichAffectedChildrenAuthorInvisible`)
|
||||
and a fixture regression test.
|
||||
- **GF-14 Summary paperdoll backdrop black — FIXED (Campaign CC gate round
|
||||
1, Batch D, same fix as GF-7 above — both pages call the identical
|
||||
`gmCG3DView::Update` on their own `gmCG3DView` instance).** **Summary
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue