# D source-preservation supplement — 8/8

Target [#21140](https://git.cafe/pingdotgg/t3code/pulls/21140). Candidate [a514925](https://git.cafe/pingdotgg/t3code/commit/a51492518429f805be2ed3f6d323d02382d98023), baseline [eea9895](https://git.cafe/pingdotgg/t3code/commit/eea989536849e5b5049987ee24318b5a77326542). Existing [A/B/C and D link/destination evidence](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a9f842b35bc2b6f6/FINAL-INDEX.md) is reused; this closes only the [audit3 source-return gap](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3541e328c31edb8c/AUDIT.md).

**24/24 source-selection equalities pass across all eight configurations.** Each accepted recording has exactly one initial stale nonexplicit A seed. All returns use the real sidebar. There is no seed/reset/source write between leaving the source and its returned read-only draft/thread snapshot, settled still and open picker. Prompt edits are deliberately excluded from equality. Full original drafts and thread shells are retained.

[Raw state ledger](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80a32838046a9c46/raw-state-ledger.json) · [All scripts, synthetic recipe, native stills, full-frame differences and inspection sheets](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4c28d6e76b15e49/supplement-evidence.tar.gz)

| Configuration | Continuous MP4 | Stale before → return | Explicit before → return | Default-C before → return |
|---|---|---|---|---|
| before-1440-light | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14543b615d4dc04a/before-1440-light.mp4) | 6.78s → 14.12s | 19.67s → 28.85s | 35.66s → 46.32s |
| before-1440-dark | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be546528e1de2a3c/before-1440-dark.mp4) | 6.16s → 14.34s | 19.15s → 27.11s | 31.65s → 42.00s |
| before-390-light | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ccb9403dd189e9ae/before-390-light.mp4) | 4.19s → 9.72s | 12.58s → 18.11s | 20.77s → 27.80s |
| before-390-dark | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca5649e3a96ccaa2/before-390-dark.mp4) | 4.34s → 9.95s | 12.80s → 18.24s | 20.85s → 28.07s |
| after-1440-light | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f81f508ee5ffff4d/after-1440-light.mp4) | 6.90s → 15.63s | 20.02s → 28.34s | 33.76s → 45.29s |
| after-1440-dark | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/39d9f7090f15fbf1/after-1440-dark.mp4) | 14.21s → 22.31s | 26.33s → 34.21s | 38.84s → 49.67s |
| after-390-light | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd0a65623b8b5748/after-390-light.mp4) | 4.27s → 9.94s | 12.94s → 18.45s | 21.22s → 28.50s |
| after-390-dark | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/47afc913c1aaaf1a/after-390-dark.mp4) | 4.32s → 9.39s | 12.34s → 17.92s | 20.47s → 27.37s |

Step narration for every recording: establish an empty reusable destination before the one source seed; capture stale source; actual New thread carry; verify exact destination ID reused; actual sidebar return; read-only equality and source picker. Pick A explicitly through real picker; repeat carry/return/equality/picker. Clear only destination draft-map entries and set project default C before the next source snapshot; carry to a genuinely fresh destination and show Luna in its picker; return through real sidebar; source remains explicit A and own thread remains B. Project settings clear only after final source capture. All intermediate and endpoint timestamps are in each native index.json.

Observed behavior: stale nonexplicit source draft remains A/high with explicit flag absent both before and after. Its own thread remains B/low. Baseline displays A/High; candidate displays B/Low Fast before and after carry. Real explicit A choice clears the draft selection options in this fixture and sets explicit true; A/Low remains before and after both ordinary carry and fresh default-C carry. The fresh destination uses project C/Luna without altering source A. Selection equality includes provider, model, options, explicit flag, source identity and own thread model selection.

Full-frame visible differences: stale A→B model and High→Low Fast trait text, selected picker row and picker height change; explicit/default source model remains A. Narrow source composer collapses on return, with full picker identity retained. Sidebar draft markers/hover and relative-time labels can differ with navigation and the fixture clocks. A transient slow-request toast appears in some desktop endpoints; it does not obscure the source model/traits or picker. Its pixels remain in the masks. No masks, alignment or viewport exclusions were applied.

Computed 112 native full-frame pairs: 64 before/after endpoint pairs plus 48 source-before/return pairs. Every pair includes raw absolute RGB, binary amplified delta>0 and binary amplified delta>16, with pixel counts/max/bbox in diff-metrics.json. These thresholds are images, not a claim that behavior-changing before/after pixels are zero.

128 native stable stills (16 per configuration), all byte-identical to a second full-viewport screenshot 500ms later. Eight matching-viewport H264/20fps X11grab recordings, unspliced. Geometry, Chromium148, DPR1, reduced motion, 100% scale and fixed date are logged. All 40 final sheets were opened and visually inspected: 8 still sheets, 8 timestamped video endpoint sheets, 16 cross-revision diff sheets, 8 preservation diff sheets. Video inspection is targeted endpoint sampling, not a claim to watch every frame continuously. Inspection hashes are retained. No missing/blank critical content or clipped viewport found.

Synthetic isolated round2 homes reused as requested; startup --no-seed, T3CODE_DEV_SEED=0, T3CODE_AUTO_BOOTSTRAP_PROJECT_FROM_CWD=0. No live userdata accessed. This proves responsive web UI replay, not native mobile/Electron shell or backend event-log coherence. No production defect observed. No A/B/C re-recording, source edits, tests, repo-wide checks, subagents, comments, pushes, watches or merges. Parent owns publication and newer-main integration.

Owned server/browser/Xvfb stopped; no owned server listeners remain. Branch takeover/pr-21140 restored at candidate, clean. Artifacts uploaded via [ghdrop skill](/home/ubuntu/.codex/skills/ghdrop/SKILL.md).

![Before and after: untouched source returns with A on baseline and B on candidate](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/83548df6f6ec41a5/source-return-before-after.png)

FRICTION sidebar-locator | Reused helper targeted the first exact thread text, which can be a screen-reader-only label; initial attempt stalled. | Use the actual sidebar row button with its accessible thread/project name.
FRICTION optional-copy | Duplicate optional clipboard checkpoint timed out finding the palette command after return. | Reuse accepted D clipboard proof, as scoped; remove duplicate clipboard exercise from this source-preservation-only supplement.
FRICTION transient-notification | A slow-request notification can appear between initial dismissal and the final stable screenshot. It does not obscure source selection or picker. | Inspect full-frame captures, disclose the transient notification, and retain its pixels in every diff rather than masking it.
FRICTION picker-dismissal | Dismissing a late slow-request notification closed the open source picker in the first two baseline desktop captures. | After notification dismissal, assert the picker input is visible and reopen it before the stable snapshot; replace both affected recordings in full.

