← back to Ticket System

data/codex-yoloforever/cycle-20260908T1221Z.HzXvuQ/ops-memo-preimage.md

50 lines

# TK-10928 — projects-root snapshot growth: approval draft

Status: BLOCKED pending explicit Steve approval; prepared proposal only, zero operational fixes.
Recommendation: APPROVE a root-only retained-backup rehearsal and conditional maintenance plan below. If the rehearsal cannot preserve recovery or does not meet the unchanged canary threshold, BLOCK live application and return measured results.

## Verified failure and scope

On 2026-09-08 at 11:28Z, /Users/macstudio3/Projects/.git measured 3,101,072 KiB, rounded by the actual canary to 3028 MB, above its existing 3000 MB ceiling. Pure classifyRepo confirms FAIL, with 3000 MB WARN and 3001 MB FAIL. No remote is configured. The 11:00:26Z artifact has 697 repos, FAIL 1/WARN 10, and only projects-root failing; pgdump logs report all 38 databases fresh. launchctl shows runs=24 and last exit=1, consistent with run.sh intentionally failing on this artifact; a new correlated scheduler run is still required to prove recovery.

The Sept-4 Designer-Wallcoverings/dead-agentabrams approvals and repairs do not authorize this new projects-root action. Active pending top-level files contain no duplicate root proposal; the only TK-10928 search hit was historical _decisions.jsonl.

## Exact recovery identities

- Root: /Users/macstudio3/Projects/.git
- refs/heads/master: c539b5a08a4f84a551d8825a0fc73fa588bcbce8
- refs/auto-snapshot/latest: 023b0072c04562ab9f19bcf5c9fb3c6c5d242316 (2026-09-08 04:01:30 PDT; parentless).
- Current master tree: 54 files, 405,240 logical bytes; recovery snapshot: 3031 files, 3,161,747,626 logical bytes. Logical bytes are not disk savings.
- Recurrence source: /Users/macstudio3/scripts/auto-commit-fleet.sh SHA256 6fc0e884b527d91c1f656c772860b589646629eb9093e6e060a0cb8cf77b0a78, invoked every 1800 seconds by com.steve.auto-commit-fleet. Job2 lines58–73 stages the full tree to an orphan recovery ref; Job1 BLOAT_GLOBS exclusions do not apply there. Unreferenced snapshots do not automatically free their stored objects.

## Bounded candidate set

Propose excluding only these five generated renders from the ROOT recovery snapshot after their independent archived recovery has been proven. Do not apply a fleet-wide binary exclusion, modify nested repositories, or rewrite master. Preserve all original worktree files.

| Relative path | Blob SHA | Stored object bytes |
|---|---|---:|
| rentv-slideshow/renders/rentv-slideshow_2026-07-29_07-02-25.mp4 | efbba50e8faff2c98d5cd58654619ffcc85b7e92 | 53759218 |
| rentv-slideshow/renders/rentv-slideshow_2026-07-29_08-29-23.mp4 | b43f1788d2681871ff6ac918be7b5857a2e5cdd5 | 52302303 |
| rentv-slideshow/renders/rentv-slideshow_2026-07-29_08-22-08.mp4 | 4744083a7a07447f55cde597cdbb14b530e82371 | 52235507 |
| rentv-slideshow/renders/rentv-slideshow_2026-07-29_08-16-11.mp4 | f868b83b92bc085314fd49cd1f791c7ea3b114bf | 28569567 |
| rentv-slideshow/renders/rentv-slideshow_2026-07-29_07-49-53.mp4 | dbf6ed038c5be1d119c9f8956cbe83dd72bb1e42 | 26285652 |

Total stored object representations: 213,152,247 bytes (203.28 MiB); this is a candidate estimate, not a promise of filesystem reclamation. The 723,501,447-byte dw-dup-sweep/data/active-products.jsonl blob ada9d21265593b91fb6331d40f4aae8acd1053dc occupies only 46,666,955 stored bytes; it remains preserved and is not in the proposed exclusion set. Settlement audit records remain preserved.

## Requested authorization and sequence

1. Re-read canonical ownership, refs, source hashes, writer state and free space. Stop if identities drift until the exact revised inventory is reviewed. Coordinate a maintenance window with the fleet owner; check pm2 list before any process action, and obtain awareness before pausing the shared writer. Do not silently alter schedules.
2. Retain a byte-complete copy of the entire root .git including loose/unreachable objects, refs, index and reflogs on a verified mounted backup volume outside ~/Projects, using a freshly allocated mktemp directory; a mirror alone is insufficient for unreachable undo. Separately preserve the five source files and the snapshot script. Record original file hashes, status, permissions and all refs; leave all copies retained without automatic expiry. Reject if backup space or write integrity cannot be verified.
3. Rehearse exclusively in a fresh isolated copy with no hardlinks/shared Git object store. Confirm both recorded refs and each candidate blob restore exactly. In the rehearsal only, evaluate a root-only Job2 path exclusion for the five exact files, keep master and all other snapshot paths intact, and measure storage after bounded unreachable-object maintenance. Do not infer safe removal from Git garbage warnings or logical sizes. Retain old full recovery state outside the measured repository.
4. A live change is conditional on the rehearsal: candidate render hashes restored correctly, every non-candidate snapshot path retained, master ref unchanged, original worktree/index unchanged, and measured .git below 2850 MB with the existing policy. The approved scope is the five exact root snapshot exclusions and only unreachable-object maintenance needed to attain that result, with a documented restore path; history rewriting, broader exclusions, threshold raises and old mirror removal are outside scope. If the exact bounded set does not work, return REVISE rather than expanding it.
5. After authorized application, exercise two 30-minute snapshot intervals to show excluded binaries are not recaptured and preserved source/data are captured. Check actual du and pure classifyRepo each time. Allow the next normal canary window to produce fresh repo and pgdump artifacts, run log and an incremented launchctl run counter with exit0; no manual alerting run is authorized by this draft. Correlate captured start/end timestamps and artifact mtime. Expected repo fail count0, pgdump PASS, root below2850MB. WARN elsewhere may remain.

## Rollback and acceptance

Rollback requires the retained full root Git copy, five original render files and original snapshot script, with recorded SHA256 manifests and a successful rehearsal restoration; preserve all other owners’ concurrent work and coordinate exclusive writer access before replacing state. Keep undo indefinitely unless Steve separately approves retirement. No destructive command sequence is included in this draft.

No run.sh, scan.mjs, pgdump-freshness.sh, history edit, repack/GC, threshold write, schedule mutation, outbound message or push was executed for this diagnosis. It is not a fix. Source ticket remains blocked on explicit approval and successful real scheduler proof.

Evidence: /Users/macstudio3/Projects/ticket-system/data/codex-yoloforever/cycle-20260908T1121Z.O0jFR4
A2A task: cycle-20260908T1121Z.O0jFR4/backup-root; source DM M-02264 correlation dm-mtsl2sdz-55763-4mm05s; ACK action-mtsl50m2-6871-f1lvsn.