docs(fa3): fix gate script tab order + false-defect route, add scroll/restore-open steps, correct #383 timing, fix bold markers + add U11

Mechanism MUST-FIX 1: the connected-gate script's steps 1/9/10 carried
the REFUTED x-order guess forward — claiming Friends was drawn left-most
and that the authored default (Allegiance) was somehow NOT the left-most
tab. The real authored order (fixture + live-mount probe, corroborated
by each page's own P0x57 action-map id) is Allegiance (x=0, DEFAULT),
Fellowship, Friends, Squelch — the default tab IS the left-most tab.
Fixed steps 1, 9, 10, and the "What to report" bullet that repeated the
wrong claim.

Mechanism MUST-FIX 2: step 14 sent the user to `@allegiance info` as a
trigger that would supposedly reveal the monarch/patron blocks, and told
them to report it if it didn't — the trigger CANNOT fire post-FA2
(0x0020 AllegianceUpdate is the only inbound writer of this panel's
data; 0x027C, the @allegiance info response, stopped seeding it in
4272ad0e) and FA3 sends no 0x001F subscription at all (FA5 scope). The
script primed the user to file a false defect. Rewritten to state the
true FA3 expectation: @allegiance info prints real data to chat, the
panel blocks stay hidden regardless, for the whole gate — report
NEITHER half as a bug; the actual anomaly to watch for is the blocks
becoming visible at all.

Mechanism SHOULD-FIX 4: step 11's Fellowship checkbox count hedge
("three... a fourth may also be present") replaced with the settled
count (four).

Blast NIT 8 / gate note: added two steps the original script never
exercised — a long-roster Friends/Squelch scroll check (exactly where
blast MF-1's scrollbar-wiring fix bites, and a short test roster would
never surface it) and an honest restore-open-across-relaunch
observation step (the social panel follows the SAME restore-open
convention every sibling main panel already has — Options/Spellbook/
Character/Inventory/Vitae — stated up front so it isn't mistaken for a
bug mid-gate).

Blast SHOULD-FIX 6: docs/ISSUES.md #383 said the two drifted fixtures
were committed "days ago" — git says otherwise: ~18h and ~21h before the
FA3 regeneration run, the previous day. Corrected, and added the
mechanism reviewer's no-drift finding for the NEW social-panel fixture
(cross-checked against the live probe on every axis, zero drift) —
narrows the issue to exactly the two pre-existing OP-era fixtures.

Blast SHOULD-FIX 7: the §10 addendum in fa-panel-structure.md had five
`**` bold markers (odd count) — an orphaned trailing marker bled bold
formatting into the following section. Dropped the orphan; the addendum
now bolds only its lead sentence and the inline "Allegiance" callout,
both balanced pairs.

Mechanism SHOULD-FIX 1 (research-doc half): filed unknown U11 in §8 —
what a repeat F3/F4 press does when the panel is open on the OTHER tab
is not established from retail decomp (no OnAction consumer exists for
either action in the binary); acdream's own OpenSpellbook-precedent
choice is not a retail port.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-12 03:44:26 +02:00
parent ae77270939
commit a555390483
3 changed files with 137 additions and 46 deletions

View file

@ -32,7 +32,14 @@ machine to dump the NEW social-panel fixture also silently rewrote
`keyboard_config_21000009.json` and `options_2100002B.json` with LARGE
diffs — the currently-installed DATs under
`%USERPROFILE%\Documents\Asheron's Call` no longer match the DAT state
those fixtures were committed from (days ago, same machine). The FA3
those fixtures were committed from. **[FA3 fix-round correction, blast
SF-6:** the original filing said "days ago, same machine" — git says
otherwise. `keyboard_config_21000009.json` was committed at `b4edee97`
(2026-08-11 09:19) and `options_2100002B.json` at `e71e5a96` (2026-08-11
06:25); the FA3 regeneration run was 2026-08-12 ~02:58 — **~18h and ~21h
earlier, the previous day**, not multi-day drift. That materially tightens
the investigation window below: a same-day change is far easier to
correlate against tooling activity than a multi-day one.]** The FA3
implementer reverted both to HEAD and committed only the new fixture.
Possible cause observed in passing: local `mudsort` tooling artifacts in
the Documents DAT folder (a DAT-modifying tool may have touched the
@ -40,13 +47,23 @@ files). **Impact/risk:** the committed fixtures drive the conformance
suites; the live client reads the INSTALLED DATs — if they diverge, the
fixture-green/live-broken class this project keeps meeting gets a new
systemic cause. The env-gated live-mount probes (which read the installed
DATs directly) are the cross-check that still holds. **Investigation
DATs directly) are the cross-check that still holds. **[FA3 fix-round
addendum, mechanism review's no-drift finding:** the NEW social-panel
fixture itself is NOT part of this drift — the mechanism reviewer
cross-checked the committed `social_panel_2100006E_1000018F.json` against
the same live-mount probe's dump on root extent, child count and order,
the full tab table, all four pages' `P0x57` values, and both allegiance
blocks' geometry (including the two differently-sized `0x10000490`
instances). No drift; this fixture is faithful to the installed DAT as
committed. **The issue therefore narrows to exactly the two pre-existing,
OP-era fixtures (`keyboard_config_21000009.json`, `options_2100002B.json`)
— the social-panel fixture is not implicated.**]** **Investigation
needed before anyone regenerates fixtures on this machine again:** diff
the two fixture regenerations structurally (what changed — geometry?
string ids? media?), determine WHAT modified the installed DATs and when,
and decide the canonical DAT source for fixtures (a pristine copy vs the
live install). Do not regenerate-and-commit existing fixtures until the
drift is understood.
string ids? media?), determine WHAT modified the installed DATs in that
~18-21h same-day window, and decide the canonical DAT source for fixtures
(a pristine copy vs the live install). Do not regenerate-and-commit
existing fixtures until the drift is understood.
## #382 — Floating chat-window tab buttons are invisible until first hovered