## Evidence

**Additional visible effect: project slash commands are restored along with skills (F3).** Captured **6/6 rows in scope: B1, F1, F2.on, F3, R1.a and R1.c**, plus supplementary F1.N. No other matrix row was rerun.

PR [#32471](https://git.cafe/pingdotgg/t3code/pull/32471). Exact revisions exercised: before [8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a); after [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f).

Environment for every dark still and recording: real dev web app in **T3 Browser preview, Chromium157 / Linux x86_64, 1440×900 CSS / 2880×1800 media, DPR2, dark, no device emulation, 100% font scale/root16px, scroll0**. Frozen display clock2026-11-10T15:00:00Z. Supplementary F1.N: same browser, **390×844 CSS / 780×1688 media, DPR2, light**, otherwise identical conditions. Runtime rows: viewport/theme N/A. [environment.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/36760e7121bb0da6/environment.json)

Fresh checkout-local databases were created by each revision with `T3CODE_DEV_SEED=0`. Both apps used the same committed synthetic project root. Real project/worktree/thread RPCs created active branched owners. R1.c was captured while the worktrees existed; then only those managed fixture worktrees were removed, retaining branches and threads. Fresh RPC scans followed by client reloads eliminated intact client inventory. No agent turn was sent. No live database was read or copied.

Before each retained still, fonts/resource completion were checked; screenshots at least500ms apart were pixel-identical. Preview has no native reduced-motion control: CSS disabled animations, transitions and caret instead. Every retained still, diff and sheet was opened for inspection; both recordings were reviewed using per-second full-surface frames/contact sheets. Model controls were blurred identically before capture. No screenshot pixels were edited.

**Common recording sequence and timestamps (before / after):** empty composer at00:00; `$finalize` complete at00:01.11 /00:00.81, settled by00:02.32 /00:01.82; Tab at00:04.43 /00:03.92; `/finalize-command` complete at00:07.29 /00:06.81, settled by00:08.38 /00:07.79; `/skill:finalize` complete at00:11.70 /00:10.54, settled by00:12.77 /00:11.52. Times are tool-completion offsets from recording start; media encoding can add a fraction of a second. Before15.751s, after13.862s. Same driver/actions on both sides. [before-primary-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/05149ec2ae1e4fbf/before-primary-manifest.json) · [after-primary-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75a32cc957f254f9/after-primary-manifest.json)

[before-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/40470f5bb09d5e59/before-primary.mp4) · [after-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9b399567bd8ec3f/after-primary.mp4)

**B1 — removed managed worktree baseline, 1440×900 dark.** All three before queries settle empty. The paired after frames show the restored inventory. The common sequence above records each query on both sides.

| Query | Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|---|
| `$finalize` | ![before-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7720ed95ab40dab5/before-skill.png) | ![after-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55f25447371eab86/after-skill.png) | ![diff-skill-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5c36fea47185484/diff-skill-0.png) | ![diff-skill-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff446f25e7358a3b/diff-skill-16.png) |
| `/finalize-command` | ![before-command.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de250972f96c3cff/before-command.png) | ![after-command.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/11b9045177151c5b/after-command.png) | ![diff-command-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0fc8debc635a848/diff-command-0.png) | ![diff-command-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16ba37ef5dd71e11/diff-command-16.png) |
| `/skill:finalize` | ![before-slash-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a248ca9b236aa141/before-slash-skill.png) | ![after-slash-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae454b61c62a4e11/after-slash-skill.png) | ![diff-slash-skill-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1120a7f918729fd0/diff-slash-skill-0.png) | ![diff-slash-skill-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad9d8e1c47910175/diff-slash-skill-16.png) |

**F1 — dollar skill and selection, 1440×900 dark.** `$finalize` appears at00:01.11 /00:00.81; Tab at00:04.43 /00:03.92. Before: no skill to select, serialized draft remains `"$finalize"`. After: one Project Skill result, Tab closes the menu and serializes `"$finalize "`. No message is submitted.

[before-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/40470f5bb09d5e59/before-primary.mp4) · [after-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9b399567bd8ec3f/after-primary.mp4)

| Query | Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|---|
| `$finalize` → Tab | ![before-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7720ed95ab40dab5/before-skill.png) | ![after-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55f25447371eab86/after-skill.png) | ![diff-skill-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5c36fea47185484/diff-skill-0.png) | ![diff-skill-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff446f25e7358a3b/diff-skill-16.png) |

**F2.on — slash skill enabled, 1440×900 dark.** Settings → Chat → Advanced confirmed Show skills in slash menu checked in both apps. `/skill:finalize` at00:11.70 /00:10.54 settles empty before and shows one Project skill after.

[before-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/40470f5bb09d5e59/before-primary.mp4) · [after-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9b399567bd8ec3f/after-primary.mp4)

| Query | Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|---|
| `/skill:finalize` | ![before-slash-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a248ca9b236aa141/before-slash-skill.png) | ![after-slash-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae454b61c62a4e11/after-slash-skill.png) | ![diff-slash-skill-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1120a7f918729fd0/diff-slash-skill-0.png) | ![diff-slash-skill-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ad9d8e1c47910175/diff-slash-skill-16.png) |

**F3 — project command, 1440×900 dark.** `/finalize-command` at00:07.29 /00:06.81 settles empty before and shows the synthetic command description with `(project)` scope after.

[before-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/40470f5bb09d5e59/before-primary.mp4) · [after-primary.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9b399567bd8ec3f/after-primary.mp4)

| Query | Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|---|
| `/finalize-command` | ![before-command.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de250972f96c3cff/before-command.png) | ![after-command.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/11b9045177151c5b/after-command.png) | ![diff-command-0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0fc8debc635a848/diff-command-0.png) | ![diff-command-16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/16ba37ef5dd71e11/diff-command-16.png) |

**R1.a — missing managed active owner, viewport/theme N/A.** Ordered real-server creation/intact scan → worktree removal → fresh missing scan → client reload and picker selection → fresh scan → filesystem checks. Before returns empty arrays. After retains original missing worktree cwd and returns root skill path plus command inventory. Successful root-file openat excerpts prove reads of both the root skill and command. Final filesystem checks show both fixture worktrees absent and both branches retained.

| Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|
| [R1.a-runtime.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84b517d57de81971/R1.a-runtime.txt) — before section | [R1.a-runtime.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/84b517d57de81971/R1.a-runtime.txt) — after section | N/A: structured runtime transcript | N/A: structured runtime transcript |

[actual-rpc-transcript.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ddcb087907516838/actual-rpc-transcript.json) · [filesystem-state.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea56742f617b1847/filesystem-state.txt) · [scan-syscalls.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5616cb84fb86b5e6/scan-syscalls.txt)

**R1.c — existing worktree AND fresh populated project-root cwd, viewport/theme N/A.** On both revisions, the existing worktree returns its own skill path and `Branch-only fixture inventory` description, and its command has `Branch-only synthetic command inventory (project)`. A separate `fresh:true` request explicitly sets `cwd` to the populated project root. The response snapshot is keyed by that root, its skill path points into that root, and its command is `finalize-command` with `Finalize the synthetic command fixture (project)`. The transcript contains both exact requests, cwd keys, response paths and root file contents. Slash command rows have no path field in the actual wire shape; the successful root command-file openat and file contents are supporting file identity evidence. R1.c was captured before removal, in addition to R1.a after removal.

| Before<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) | After<br>[5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff0<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) | Diff16<br>[8ee7183e6c](https://git.cafe/pingdotgg/t3code/commit/8ee7183e6c8a1c22a6698f4909ef7e2a423bec3a) → [5ac4ccb47f](https://git.cafe/pingdotgg/t3code/commit/5ac4ccb47fd2888646f1776445d701c504b87e1f) |
|---|---|---|---|
| [R1.c-runtime.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2b892ba9f8b9e5a/R1.c-runtime.txt) — before section | [R1.c-runtime.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a2b892ba9f8b9e5a/R1.c-runtime.txt) — after section | N/A: structured runtime transcript | N/A: structured runtime transcript |

**F1.N — supplementary after, 390×844 light.** Same result with description truncation. Resized desktop web, not native mobile.

![narrow-light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f303fce6096552a7/narrow-light.png)

**What else changed:**

- Empty picker text becomes a skill/command row, with description and Project Skill/Project badge or command project scope. Active highlight, padding, menu height and top edge change.
- Project slash commands return along with skills, called out above.
- At Tab, before moves focus to Attach files and shows its tooltip; after inserts a skill token and closes the menu. Browser click highlights/cursors in recordings are instrumentation.
- Narrow/light deliberately changes viewport/theme and truncates the description; it is not a before/after diff.
- All three desktop still pairs have **zero changed pixels outside the picker at threshold0**. Nothing else changed in these three still pairs. This claim does not compare arbitrary recording frames.

Diff0 marks every nonzero RGB difference magenta, including one-level differences. Diff16 marks pixels whose maximum absolute RGB-channel difference is **>16/255**. Both retain dimmed baseline context. [diff-metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff833d38b598892b/diff-metrics.json)

**Sheets (Before | After above Diff0 | Diff16):**

![sheet-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c7e9465fe4b69d2a/sheet-skill.png)

![sheet-command.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/75f9710c251a8345/sheet-command.png)

![sheet-slash-skill.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae26e4542cbc4677/sheet-slash-skill.png)

**Rebuild and audit:** [reproduce.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/950e57d3e165fc38/reproduce.md) · [fixture-main.tar](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f52bb115ae20644e/fixture-main.tar) · [video-metadata.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b5c9fc94579aadb/video-metadata.json)

- [seed-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/46e0fa5c34c5c06c/seed-fixture.py)
- [branch-fixture.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6c154799e5c1fbe9/branch-fixture.py)
- [browser-driver.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/715d2d1e204aabbe/browser-driver.js)
- [capture-driver.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8574a415dcbfc907/capture-driver.js)
- [capture-setup.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4523bec6c360dbb5/capture-setup.js)
- [capture-narrow.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0a2817e00e4616e2/capture-narrow.js)
- [collect-artifacts.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dfb3b5074b28d0d3/collect-artifacts.py)
- [build-diffs.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f63b9528eda00108/build-diffs.py)
- [media-pack.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc4f1c78fd7ac70d/media-pack.py)
- [filesystem-state.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7c6724dc0af35e94/filesystem-state.py)
- [extract-syscalls.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e00c354c4b734a12/extract-syscalls.py)
- [assemble-runtime.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/669ef54ecd12244f/assemble-runtime.py)
- [runtime-controls.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3a19a8baca665531/runtime-controls.py)
- [upload-artifacts.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f4d1000ba53f20fe/upload-artifacts.py)
- [build-report.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b452bebb38ac7d88/build-report.py)

Recording review sheets: ![before-primary-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c7523da49546680/before-primary-contact.png) · ![after-primary-contact.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/542fcb969af37438/after-primary-contact.png)

**Unverified rows:** none among the six in scope. Other matrix rows retain their historical evidence and were not recaptured or relabelled. Other providers, desktop, native mobile, remote/relay/tunnel were not exercised. Native reduced-motion emulation was unavailable; CSS fallback is disclosed.

**Cleanup:** both owned browser tabs closed, both owned dev sessions stopped, no listeners remain on their four ports, and both capture checkouts removed. No PR-body edit or push. Synthetic evidence and private logs remain only in scratch;237GB available. [cleanup.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/63dbdd9f2d87cde3/cleanup.txt)

AI-assisted; verified with the tests and tools listed above.

FRICTION:
- tool | native prefers-reduced-motion control is unavailable in preview; CSS animation, transition and caret fallback used | expose native reduced-motion emulation
- infra | Pillow was missing from Python; installed it into scratch before diffing | preinstall evidence image dependencies
- runbook | immediate after-side seeding following pairing failed; succeeded after the UI loaded | wait for UI and provider catalog readiness before seeding
- runbook | closing Settings after a full navigation returned to a draft | navigate explicitly to the saved fixture route and verify the title before capture
