# fix\(web\): don't save retention age until committed · PR \#22208 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/22208)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: open

Source repository: Unavailable fork

Source branch: cursor/retention-toggle-14743

Target branch: main

Head commit: 1e57ef1ce923c9c219ec18f63494311909dc5b4d

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/22208)

[Commits](https://git.cafe/pingdotgg/t3code/pull/22208/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/22208/diffs?format=markdown)

## Description

---

## Problem

In Settings → Storage, turning an Off retention rule on immediately saved eight days before its age input appeared. Cleanup could run with that intermediate age before the user entered the intended value.

## Change

Turning a rule on opens a focused local age draft. Committing the displayed age saves it; leaving an untouched draft, Escape, or switching it off discards it. Turning an already saved rule off still saves immediately. The shared control covers inactive worktrees, settled worktrees, browser artifacts, and rotated logs.

Scoped saves report their outcome so a failed enable returns to Off. Submission identity preserves a newer age when an older save fails. Enter uses NumberField’s locale-aware numeric value and rejects invalid visible text.

## Scope and approval

Fixes https://github.com/pingdotgg/t3code/issues/14743

Triaged bug via the automated issue flow. Reuses the existing contribution and its PR branch. The change affects the shared web/desktop Storage control and scoped-save outcome reporting.

## Verification

Final head: [1e57ef1](https://github.com/pingdotgg/t3code/commit/1e57ef1ce923c9c219ec18f63494311909dc5b4d). Subsequent test-only follow-ups add failure-safe render disposal and assert the retained age through `vi.waitFor`; fixture tooling adds explicit post-capture cleanup. Production remains unchanged from the compiler-compatible implementation described below. All 26 checks pass, including CodeRabbit; latest focused suites: 1176 tests passed, web typecheck, targeted lint and formatting clean.


- Red test on main: clicking On unexpectedly called the settings updater with `worktreeAfterDays: 8` before any age was committed.
- `vp test run src/components/settings/StorageSettings.browser.test.tsx src/components/settings/scopedSettings.test.ts` from `apps/web`: 36 passed after integration with main.
- Scoped web typecheck and targeted lint passed. Both independent final code reviews returned MERGE.
- Real dev app: On sent no settings update; committing 30 produced a matching acknowledgement and server readback. All four retention rules were exercised at 1440 and 390 CSS widths, light and dark. Delete now stayed disabled during the draft and became enabled after acknowledgement; cleanup was not manually executed.
- Controlled command-boundary captures exercised the actual scoped runner, planner, aggregation, and toast provider for failure, unavailable-plan, and partial-success outcomes. Component captures cover overlapping submissions and pointer/composition ordering; these do not establish arbitrary transport reordering guarantees.

- Fixture follow-up: targeted lint and format checks pass; scoped Knip for the scripts workspace reports no findings. Namespace import and Knip entry corrections leave production and generated harness text unchanged.

- Compiler follow-up: `CI=true vp test run --project unit --project browser` for StorageSettings, scopedSettings, SourceControlWritingSettings, and React compiler coverage: 4 files / 1,177 tests passed. Targeted lint and formatting passed. The prior failure was unsupported logical-assignment syntax, now replaced with an equivalent null guard.

### Evidence

Incidental capture differences outside the retention control are explicitly measured at the light desktop sidebar seam. Narrow captures retain 28–29 focus-ring corner pixels of unknown cause. No “nothing else changed” claim is made. The full [visible-difference accounting](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5bfa971283add463/report.md) partitions every changed region; the earlier unequal-seed and theme-mislabeled comparisons are superseded.

Real app, Chromium on Linux, en-US/UTC, DPR 2, system fonts, default motion. CSS viewports 1440×1000 and 390×844; saved images 1280×889 and 780×1688. Identical disposable project data and persisted themes; clock not frozen (no changing clock text on this surface). Before source is [22840ab943](https://github.com/pingdotgg/t3code/commit/22840ab943b8418744b48223411e46ba4fdcef1a); after capture production is [30734756fc](https://github.com/pingdotgg/t3code/commit/30734756fcc3424fc3cb1350235c7a190182f170), byte-identical to the final reviewed production. Replay fixtures are committed at [0642083522](https://github.com/pingdotgg/t3code/commit/0642083522df9989de2165a8707012376a1e5864).

[Before dark desktop recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5c65f314168f743/before-desktop-dark.mp4) · [After dark desktop recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/553b9d4972350edf/after-desktop-dark.mp4) · [All eight real-app recordings and captures](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e309d3081f99b998/project-proof.zip) · [Timestamped actions](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9f91df0ebd6cbeb/actions.md).

The [four-caller and failure/race addendum](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/578405a8afd1ac23/index.md) contains recordings in every width/theme, labeled real-app or controlled-boundary chapters. [Bounded request/ack/readback windows](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/37eff7e41bd18efd/bounded-R1-windows.json) and [corrected earlier metadata](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8107ac2ca811d774/index.md) retain provenance and invalid comparisons explicitly.

Final head [d3910b9e17](https://github.com/pingdotgg/t3code/commit/d3910b9e1735f9afcd790737bd023f1d09cdf0aa) includes main and fixture lint corrections. Compared with the captured production, the sole control change replaces `pressing.current ??= "row"` with an explicit null check and assignment so React Compiler can optimize it; the allowed ref values and event behavior are unchanged. The scoped-save hook and regression tests remain byte-identical. [Independent proof audit: SUFFICIENT](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/09b553b5fe61fef2/proof-audit.md). Its fresh replay has five pixel-identical checkpoints; the enable checkpoint differs only at the insertion caret.

Each row below uses the source SHAs above. Diff0 is full-surface RGB delta amplified ×8; DiffT is full-surface maximum-channel RGBA delta >16/255. [Counts and region accounting](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2ba69d7dee21153/pixels.csv) include RGB and alpha separately.

| Fixture / CSS width / theme | Before · [22840ab943](https://github.com/pingdotgg/t3code/commit/22840ab943b8418744b48223411e46ba4fdcef1a) | After · [30734756fc](https://github.com/pingdotgg/t3code/commit/30734756fcc3424fc3cb1350235c7a190182f170) | Diff0 ×8 | DiffT >16 |
|---|---|---|---|---|
| 1440-light-Off | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/256a8d668e36e1c5/Off.png) | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14f62e832dff7baf/Off.png) | ![1440-light-Off-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cffb17cfd8d4e65b/1440-light-Off-amplified.png) | ![1440-light-Off-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bd754ff457440225/1440-light-Off-rgba-diff16.png) |
| 1440-light-enable | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c19e27fcc0b27c10/enable.png) | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c2c0e6e6e8f9d135/enable.png) | ![1440-light-enable-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15dfc0c6647e47c4/1440-light-enable-amplified.png) | ![1440-light-enable-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a244dd80041cbd41/1440-light-enable-rgba-diff16.png) |
| 1440-light-enable-selected | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/228090b4ed48482e/enable-selected.png) | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4699c35cd640333d/enable-selected.png) | ![1440-light-enable-selected-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e66520d9941af5a/1440-light-enable-selected-amplified.png) | ![1440-light-enable-selected-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/72812f5403edf15b/1440-light-enable-selected-rgba-diff16.png) |
| 1440-light-committed30 | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf2712f245fdf21b/committed30.png) | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12c2be4bdb199928/committed30.png) | ![1440-light-committed30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4e3cfa3df183f65a/1440-light-committed30-amplified.png) | ![1440-light-committed30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a5063340be9999bc/1440-light-committed30-rgba-diff16.png) |
| 1440-light-reload30 | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4b4530e608717519/reload30.png) | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/272fd877d9537c3d/reload30.png) | ![1440-light-reload30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d24bc9d2ca68d99/1440-light-reload30-amplified.png) | ![1440-light-reload30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c53f531772a27318/1440-light-reload30-rgba-diff16.png) |
| 1440-light-loaded-return | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/54cf12f6f9865bc1/loaded-return.png) | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8bf287c300bedf1/loaded-return.png) | ![1440-light-loaded-return-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/08029455c70e46f0/1440-light-loaded-return-amplified.png) | ![1440-light-loaded-return-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4bd54931924e5750/1440-light-loaded-return-rgba-diff16.png) |
| 1440-dark-Off | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22bc2e0d8c3b72c9/Off.png) | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/256ddc51f3796e1c/Off.png) | ![1440-dark-Off-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec33a09cdec083e0/1440-dark-Off-amplified.png) | ![1440-dark-Off-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bfc92bb2278cebf2/1440-dark-Off-rgba-diff16.png) |
| 1440-dark-enable | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/171b3fdc0bb104c6/enable.png) | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6eeefbe5a2d3fc9c/enable.png) | ![1440-dark-enable-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/109bf3840479fa58/1440-dark-enable-amplified.png) | ![1440-dark-enable-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/555f6386dcd44e37/1440-dark-enable-rgba-diff16.png) |
| 1440-dark-enable-selected | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04d8c76f03eb6ce6/enable-selected.png) | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8719a3f65da431c2/enable-selected.png) | ![1440-dark-enable-selected-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0256e8abcb2ef099/1440-dark-enable-selected-amplified.png) | ![1440-dark-enable-selected-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e908eeae246593b9/1440-dark-enable-selected-rgba-diff16.png) |
| 1440-dark-committed30 | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3412b289f24b27e3/committed30.png) | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fbc7a5b2330153ee/committed30.png) | ![1440-dark-committed30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/822c97d3f97cb47e/1440-dark-committed30-amplified.png) | ![1440-dark-committed30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4cfa67df08d4a523/1440-dark-committed30-rgba-diff16.png) |
| 1440-dark-reload30 | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de0b5f42deec2c92/reload30.png) | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/70c0f0670afbd115/reload30.png) | ![1440-dark-reload30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e4afacfd9a20613/1440-dark-reload30-amplified.png) | ![1440-dark-reload30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/34320a81ee1ca8e1/1440-dark-reload30-rgba-diff16.png) |
| 1440-dark-loaded-return | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fa113e3da3c3e965/loaded-return.png) | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd65ae39c4ac0532/loaded-return.png) | ![1440-dark-loaded-return-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5636df4bf8286060/1440-dark-loaded-return-amplified.png) | ![1440-dark-loaded-return-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a45a8166278b2aa9/1440-dark-loaded-return-rgba-diff16.png) |
| 390-light-Off | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12e8fea85cccffde/Off.png) | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3bfd5d0a7a25fa03/Off.png) | ![390-light-Off-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aaed46d881155bc9/390-light-Off-amplified.png) | ![390-light-Off-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9153a0410716d7ca/390-light-Off-rgba-diff16.png) |
| 390-light-enable | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/03e9551880de5b50/enable.png) | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e64caef2bd49e32/enable.png) | ![390-light-enable-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b35762d4e30958c6/390-light-enable-amplified.png) | ![390-light-enable-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d4c57f26f6f351d4/390-light-enable-rgba-diff16.png) |
| 390-light-enable-selected | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/134006a13095b6b1/enable-selected.png) | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef34207c77d14d6d/enable-selected.png) | ![390-light-enable-selected-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7522f7962fc67ca9/390-light-enable-selected-amplified.png) | ![390-light-enable-selected-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f6a52d3b2e06a939/390-light-enable-selected-rgba-diff16.png) |
| 390-light-committed30 | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5bc1ae8c99a1fd4d/committed30.png) | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f005a7845622c57/committed30.png) | ![390-light-committed30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d19675eafc9fb986/390-light-committed30-amplified.png) | ![390-light-committed30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b6cc79fa3f685ea/390-light-committed30-rgba-diff16.png) |
| 390-light-reload30 | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ca529f3295f04895/reload30.png) | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/219f296198aadb06/reload30.png) | ![390-light-reload30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba0c7dda2e9c8984/390-light-reload30-amplified.png) | ![390-light-reload30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee05bc408e2f293c/390-light-reload30-rgba-diff16.png) |
| 390-light-loaded-return | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bda3fda71f2ee3e7/loaded-return.png) | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b9a90097e0992fc3/loaded-return.png) | ![390-light-loaded-return-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/12b6fb48eb6bc10e/390-light-loaded-return-amplified.png) | ![390-light-loaded-return-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04932bc3b16efbd2/390-light-loaded-return-rgba-diff16.png) |
| 390-dark-Off | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6f647c1992dba1ad/Off.png) | ![Off.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fb242533e01bb000/Off.png) | ![390-dark-Off-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1ce42ed7ba5eb044/390-dark-Off-amplified.png) | ![390-dark-Off-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/826500ecbb4a4145/390-dark-Off-rgba-diff16.png) |
| 390-dark-enable | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ef79f68524f7bd55/enable.png) | ![enable.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a7942f2419496493/enable.png) | ![390-dark-enable-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f46d68d8e90c8dd/390-dark-enable-amplified.png) | ![390-dark-enable-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/23fd7a0fc3147a71/390-dark-enable-rgba-diff16.png) |
| 390-dark-enable-selected | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/41cb142e1e90e55a/enable-selected.png) | ![enable-selected.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/575fcce268bc614e/enable-selected.png) | ![390-dark-enable-selected-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1226fd9c6d202fca/390-dark-enable-selected-amplified.png) | ![390-dark-enable-selected-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a1c5d34115781363/390-dark-enable-selected-rgba-diff16.png) |
| 390-dark-committed30 | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/24b9589d4448c5f5/committed30.png) | ![committed30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/748e8ca26e91884b/committed30.png) | ![390-dark-committed30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7affdcfc6657d1c7/390-dark-committed30-amplified.png) | ![390-dark-committed30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0dc44d146be32744/390-dark-committed30-rgba-diff16.png) |
| 390-dark-reload30 | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7409a66731d068a3/reload30.png) | ![reload30.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d889362fb51e25a3/reload30.png) | ![390-dark-reload30-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/607f84a5d5d71241/390-dark-reload30-amplified.png) | ![390-dark-reload30-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bccb4cc1afcfcde4/390-dark-reload30-rgba-diff16.png) |
| 390-dark-loaded-return | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/feb4263737b87d07/loaded-return.png) | ![loaded-return.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f95e15ca2a5649d7/loaded-return.png) | ![390-dark-loaded-return-amplified.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f57db8fc6ff8cf3/390-dark-loaded-return-amplified.png) | ![390-dark-loaded-return-rgba-diff16.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26a30b33e7a933c9/390-dark-loaded-return-rgba-diff16.png) |

Unverified: no live deletion of an eligible 15-day worktree; no standalone Electron session. Native mobile has no affected retention control. Controlled failure/race chapters do not substitute for real transport failure tests.


Model and harness: GPT-6.1 Sol in Codex and Claude Opus 5.5 in Claude Code, coordinated through T3 Code.

