From bc48e3216a5495d2ea371818417ecbc007dd1312 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 25 Aug 2026 09:26:15 +0200 Subject: [PATCH] docs(AS): AS3 REVIEW-CLOSED (APPROVE, no fix round); R3 legend hedge settled at source The AS3 dual-lens review verified the armor-level trio, sentinel, legend, and monster-path exclusion at offset level and disproved the R3 BN-flattening theory structurally (legend sits outside the InqCreature block, pseudo-C line 189962). The ratings adjudication resolved in the implementer's favor: the pre-AS3 composer already had retail's per-row gating and spacer discipline. NITs 11/12 + the AP-110 narrowing ride AS4. Co-Authored-By: Claude Fable 5 --- .../2026-08-25-assess-window-parity-campaign.md | 3 ++- .../2026-08-25-campaign-as-ground-truth.md | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/plans/2026-08-25-assess-window-parity-campaign.md b/docs/plans/2026-08-25-assess-window-parity-campaign.md index 88985783..4acc57cb 100644 --- a/docs/plans/2026-08-25-assess-window-parity-campaign.md +++ b/docs/plans/2026-08-25-assess-window-parity-campaign.md @@ -138,7 +138,8 @@ round → narrow re-review → REVIEW-CLOSED. |---|---|---|---| | AS1 | **DONE 2026-08-25** | (docs commit) | 3-agent research; ground-truth doc committed | | AS2 | **REVIEW-CLOSED 2026-08-25** | `f8a22589` / `cc5290af` | port exact per dual-lens review; 6 findings (docs/test/refactor) fixed; +AD-114 (animated paperdoll), +AD-115 (title clear-vs-stale), PK bits promoted to `PublicWeenieFlags`; carried follow-up chip: 3 more Core PK-bit copies | -| AS3 | dispatched 2026-08-25 | — | | +| AS3 | **REVIEW-CLOSED 2026-08-25** | `1616cd3d` (no fix round) | APPROVE first pass — trio/legend/monster-path exact by offset-level decomp verification; R3 flattening theory disproven at source; ratings adjudication: pre-AS3 code already retail-exact. 5 NITs: 12 (legend-order comment), 11 (stronger refresh test) fold into AS4; 14/15 done in the close commit; 13 (geometry-keyed test helper) noted | +| AS4 | pending chip-session quiesce | — | AS4 also carries AS3 NITs 11+12 and the AP-110 narrowing | | AS4 | pending AS3 review-close | — | | | AS5 | pending AS4 review-close | — | | | AS6 | pending AS5 review-close | — | | diff --git a/docs/research/2026-08-25-campaign-as-ground-truth.md b/docs/research/2026-08-25-campaign-as-ground-truth.md index 32a54d5a..6fc952fc 100644 --- a/docs/research/2026-08-25-campaign-as-ground-truth.md +++ b/docs/research/2026-08-25-campaign-as-ground-truth.md @@ -216,10 +216,16 @@ auto-fail. Guid-not-found → `Flags=0, Success=0` only. 52 is absent for players; harmless either way. - **R2 (Int 323 HealingBoost):** retail reads it and never renders it; we keep discarding it. Do not add a row. -- **R3 (`* = Unenchantable` legend unconditional):** port as the decomp - shows — unconditional at the end of the char extras (it may be a BN - flattening; the CONNECTED GATE explicitly asks the owner to check retail - side-by-side; flip to conditional only on live evidence). +- **R3 (`* = Unenchantable` legend unconditional):** SETTLED AT SOURCE at + the AS3 review — the legend at `004b5d7d-004b5dcd` sits OUTSIDE the + `if (InqCreature(...))` block (opened `004b4638`, closed at pseudo-C line + 189962), so the BN-flattening theory is dead: retail adds it + unconditionally, into the same `m_extraInfoList` (0x10000335), text in + the LABEL slot. Retail's outside-the-gate placement is unobservable in + practice (the dispatcher only routes to CharExamineUI when a creature + profile exists), so "always, on the character path" is the faithful + port. The connected gate keeps its side-by-side check for the VISUAL + question only; do not re-investigate the structure. - **R4 (ratings spacer discipline):** the BN output lost the flag assignments in CharExamineUI; use `CreatureExamineUI::SetAppraiseInfo @0x004B3FF0`'s clean version of the SAME logic: one spacer before the