Files
PaperClipAI/packages/paperclip-runner/devtools/issue-thread
DottaandPaperclip 46291d82cd fix(runner): address the Phase 7G gate review
Round-1 of the UX acceptance gate requested changes on four items plus a
deep-link nit. All are fixed, with named browser regressions for the two
blocking accessibility items.

§9.1 — Escape now closes the desktop overlay sheet (768–1100px) and hands
focus back to the visible control that owns the panel. The reset confirm
dialog keeps priority over Escape while it is open.

§9.2 — resolving an interaction card moves focus to its state chip. The
controls the user just operated unmount on resolve, so focus was landing on
`body` at exactly the moment the card changed under them.

§6 — the replay strip gains `Play all`, and `?at=<ordinal>` becomes the single
source of truth for the parked ordinal, so step / next-turn / play-all and the
deep link all move the same value instead of the strip being pinned to its
fixture. At 390px the strip wraps so the progress bar keeps a full row rather
than being squeezed to a stub.

Deliverable sizes — the T4 strip said `18.4 kB` where the T7 card said
`18.0 kB` for the same artifact. Both now format through one shared
`phase7FormatBytes`.

`?panel=` without `rec=` now scrolls the opened section clear of the sticky
panel head, so `debug-panel-open` shows the authorization records §10.2 asks
for instead of leaving them below the fold.

`test:browser:phase7` never ran `build:issue-thread`, and the suite's
`vite preview` serves the built bundle — so the gate could pass against a
stale `dist-issue-thread/`. Fixed; that is how these regressions first came up
red against already-fixed source.

Verification: browser suite 50/50 (46 prior + 4 new), axe clean on all 24
routes; 24 PNGs re-recorded and byte-stable across two runs (5 changed);
16/16 view-model, 23/23 phase-7 unit; live runnerd + real Codex smoke 13/13.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-10 07:25:53 +00:00
..