Repository navigation
Open
Labels
effort/mMedium: expected under 1 day of workMedium: expected under 1 day of workkind/designA design proposal (design-architect): multi-step, phased, decision-bearingA design proposal (design-architect): multi-step, phased, decision-bearingmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)queue/blockedQueue or user escalation stateQueue or user escalation statesource/humanFiled directly by a humanFiled directly by a humanstatus/blockedQueue or user escalation stateQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemuser/escalatedQueue or user escalation stateQueue or user escalation state
Description
Proposal — git as a second backup leg for the core knowledge files (from 2026-11-05 file-state investigation)
Current coverage (verified 2026-11-05; full evidence in the investigation report)
| Class | Disk | hatch-personal git (→ GitHub) | Restic → R2 |
|---|---|---|---|
| research_notes (172 files / 24 MB) | ✅ | ✅ 172/172 tracked | ✅ |
| memory topics (71 files) | ✅ | ✅ 71/71 tracked | ✅ |
| goal files/ (348 files) | ✅ | ✅ 348/348 tracked | ✅ |
| goal hidden_files records | ✅ | ✅ tracked except deliberately-ignored regenerables (probe-/clone-/monitor-/wt-, node_modules) | ✅ |
| workspace/scratch (803 files / 104 MB; 221 .md ≈ 0.9 MB) | ✅ | ❌ tracked nowhere in git | ✅ (only backup leg) |
Drew's concern ("core files… supposed to be kept forever") is well-aimed at exactly one class: scratch — tonight's briefs/designs (worlds, atlas, docs-migration, modal, mistral) live there and have no git leg. Research notes, topics, and goal records already have three legs (disk + private git + restic/R2).
Proposal
- Bring scratch under hatch-personal git using the existing pattern: relocate the real tree to
hatch-personal/workspace/scratchwith/home/hatch/workspace/scratchas a symlink — identical to how goals/ and research_notes/ were relocated on 2026-10-25. The per-minute autocommit then tracks it with zero new machinery. - Track records, ignore bulk: add scratch entries to git for documents and small data (md/txt/json under ~1 MB each); gitignore large regenerable payloads inside scratch subdirs (model/data dumps). Starting point: 221 md files ≈ 0.9 MB — the entire current markdown corpus is trivially small. Nothing in scratch today exceeds sane git size except raw data payloads, which restic already covers.
- Close the hygiene-scratch hole in the same change (see the companion security issue): add
workspace/goals/*/hidden_files/hygiene-scratch/to .gitignore + untrack — regenerable inventory dumps do not belong in git and demonstrably capture credential material. - Promotion convention (Drew's stated end state): scratch is a staging area, not a home. At task close, durable deliverables get promoted — research/design docs toward
developing-today/codedoc/ (per the docs-migration batches, tracker Docs migration: hatch-personal/hatch/darwin-nix → code canonical home (tracking) #5983) or into research_notes — and the scratch dir is discarded. Truly sensitive material stays in hatch-personal only. - Do not bulk-add the 9.3 GB goals tree to git: the current split (records tracked, regenerable probe/clone/monitor trees ignored per .gitignore lines 59–75) is correct and should be kept as documented policy.
No files were moved or re-tracked by the investigation itself — this issue is the work order for steps 1–3 when Drew approves.
Acceptance criteria
- A decision on this proposal is recorded on this issue (adopt / adopt-modified / decline) with the reasoning.
- If adopted: workspace/scratch's knowledge files (the ~221 markdown files at minimum) are tracked by the git second leg, with ignore rules excluding bulk/binary scratch, and hygiene-scratch is untracked as proposed.
- A restore drill from the git leg alone succeeds for a sample of the newly covered files.
- The coverage table in the body is updated to the post-change state (git column no longer empty for the covered classes).
Metadata
Metadata
Assignees
Labels
effort/mMedium: expected under 1 day of workMedium: expected under 1 day of workkind/designA design proposal (design-architect): multi-step, phased, decision-bearingA design proposal (design-architect): multi-step, phased, decision-bearingmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)queue/blockedQueue or user escalation stateQueue or user escalation statesource/humanFiled directly by a humanFiled directly by a humanstatus/blockedQueue or user escalation stateQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemuser/escalatedQueue or user escalation stateQueue or user escalation state
Activity
developing-today commentedon Nov 5, 2026
CODE-1757
dezren39 commentedon Nov 5, 2026
Intake review
No merged PR or duplicate issue referencing #6100 was found in a title/body search this run. The body's verified coverage table (2026-11-05 investigation) is the evidence base: restic already covers scratch, git does not.
Notes: the gap is real but not urgent — one leg (restic→R2) already covers these files, hence priority/normal. Risk: tracking 104 MB of scratch wholesale would bloat the repo; the markdown-only scoping in the acceptance criteria is the safe shape. Suggested approach: decide, then implement the narrow git leg + untrack hygiene-scratch in one PR.
— Fleet monitor intake (repo-fleet-monitor), 2026-11-05. Merged-PR title/body search count for this issue number at intake: 1.
dezren39 commentedon Nov 5, 2026
🤖 Agent note · escalated
Worker review (verified 2026-11-05 against fresh state)
.gitignorealready carries the rule (lines 74–78, dated 2026-11-05, citing code#6097):workspace/goals/*/hidden_files/hygiene-scratch/is ignored. So the untrack half of this proposal landed with the security fix; what remains for decision is steps 1–2 only. If adopted, this is effectively adopt-modified (steps 1–2; step 3 already satisfied).~/workspace/scratchis still a plain directory with no git leg — restic→R2 is its only backup. The ~221 markdown files (≈0.9 MB) named in the proposal are tonight's briefs/designs (worlds, atlas, docs-migration) — the "kept forever" class.