Repository navigation
ui-server: storage accounting misattributes staging lifetime protection to scratch pins #1787
Description
Context
Found during #1781’s coordination review after #1780 merged via #1785. At main 1ed6e3d431fac8fa28c217d695a8ab412dd22fe4, docs/plans/storage-accounting.md:77 says “#1656 supplies staging-lifetime protection.” #1656 implements retained scratch conversation pins; #807 supplies live backend unwind/settlement protection for staging cleanup (createInboxCleanup, packages/ui-server/src/inbox/cleanup.ts:14-37). The requested correction was posted on #1780 before its outcome receipt, but remains in the merged document.
Out of scope
No cleanup behavior, retention rule, contract, source implementation, experiment result or accounting model changes. Do not push to the merged #1785 branch.
Scope
Correct the source-G staging attribution to #807. Review the accounting document for other scratch/staging issue-attribution instances of the same shape.
Acceptance criteria
- The staging source-G paragraph links ui-server: defer staging cleanup until the originating backend has unwound #807 for live-work/settlement protection and no longer attributes that protection to core: scratch prune never deletes a file that a retained conversation still links #1656.
- Any retained core: scratch prune never deletes a file that a retained conversation still links #1656 attribution accurately describes scratch conversation pins.
- The source anchors still name the current staging/pin guards; no accounting or lifecycle policy is changed.
Verification
Read #807 and #1656, inspect the cited cleanup/pin source, audit every matching issue reference in the document, and run citation/leakage checks plus normal docs preflight.
Contract impact
None. Documentation correction only; no shipped package files change and no consumer changeset is needed.
Activity
schlessera commentedon Oct 16, 2026
Claiming the documentation correction as part of the requested #1782 dependency review. Claim token: storage-1787-20261016-a1; intended branch: docs/1787-staging-attribution-20261016. I will verify #807 and #1656 against the current cleanup/pin guards, correct the attribution, and run the docs preflight before opening a PR.
schlessera commentedon Oct 16, 2026
Delivered in #2007, squash
04ef3552190d8f56eab09dd6c3580101b6385ba4, verified on main with the same tree and parent as the inspected combined PR checkout. #807 now names staging lifetime/settlement protection; #1656 names scratch conversation pins. The document-wide attribution audit found no further instances.Local docs preflight and all 44 citation tests passed. PR CI run 38841682987 passed its docs-selected proof; contract passed on the same head. The body-edit contract rerun and board sync were still in progress at the final merge query; the contract rerun subsequently passed. Automatic main-push CI run 38841879540 passed on the squash. Issue and PR retain milestone 0.44.0. No runtime behavior, policy, contract or package files changed.