Skip to content

S507 — .user-scratch migration and deletion record (id-386)

S507 — .user-scratch migration and deletion record (id-386)

Section titled “S507 — .user-scratch migration and deletion record (id-386)”

Point-in-time record of the id-386 scratch-migration wave, run 28/07/2026 (S507) against the ruling recorded in tasks/id-386.md (S506, owner: adopted in full).

.user-scratch/ is gitignored, so none of the deletions below are a git event. This file is the only audit trail they have. Every one of the 121 files that lived in that directory appears exactly once in this document — migrated or deleted.

The classification is the S506 agent pass, recovered verbatim from the session transcript. Where S507 departed from it, the departure is flagged inline and summarised under Deviations.

Class A — load-bearing, migrated first (21 files)

Section titled “Class A — load-bearing, migrated first (21 files)”

Evidence behind in-force decisions, plus one irreplaceable salvage tree. These are the files whose loss would have been unrecoverable.

From .user-scratch/ToWhy load-bearing
okf-search-sourcing-design-v1.mdspecs/id-131-okf-l-records-refactor/notes/named as governing note by the PRODUCTION migration 20260702120000_id131_search_rpcs.sql
okf-record-model-v3.mdreports/okf-record-model-lineage/DR-037 subject; id-133 TECH §6 and id-134 TECH §9 both build on it
s436-okf-storage-adjudication.mdreports/s436-okf-adjudications/DR-016 evidence
s436-okf-conformance.mdreports/s436-okf-adjudications/DR-019 evidence, cited at line level
user-feedback-on-corpus-durable-home-decision.mdspecs/id-138-corpus-durable-home/notes/DR-025 evidence
s460-oq144-2-staff-review.mdspecs/id-144-hybrid-search-completion/notes/DR-052 evidence
new-dev-workflow-concepts.mdspecs/id-148-initiatives-ledger-cli/notes/DR-074 model doc
salvage-117/ (6 files)specs/id-117-unified-diff-surface/notes/salvage-117/only extant copy of {117.8}/{117.9}/{117.11} — components/viewers/ does not exist on main and id-117 is archived
specialist-agents/ (8 files)canonical:.claude/agents/intent-specialists/DR-062 action site (verifier.md Hard Rule 6); the other seven are stock Intent

Class B — point-in-time, migrated (54 files)

Section titled “Class B — point-in-time, migrated (54 files)”
From .user-scratch/To
okf-record-model-v2.mdreports/okf-record-model-lineage/
okf-record-model-v2-CRITIC-CORRECTIONS.mdreports/okf-record-model-lineage/
okf-record-model-v3-CRITIC-NOTES.mdreports/okf-record-model-lineage/
okf-v3-owner-feedback.mdreports/okf-record-model-lineage/
okf-corpus-reframe-synthesis.mdreports/okf-record-model-lineage/
okf-DECISION-LOG.mdreports/okf-record-model-lineage/
RECOVERED-findings.mdreports/okf-record-model-lineage/
corpus-structure-feedback.mdreports/okf-record-model-lineage/
s436-corpus-admission.mdreports/s436-okf-adjudications/
s436-infra-truth-and-posture.mdreports/s436-okf-adjudications/
s436-okf-lineage-synthesis.mdreports/s436-okf-adjudications/
s436-spec-state-audit.mdreports/s436-okf-adjudications/
workflow-improvement-findings.mdreports/
pre-reingest-schema-and-deferral-findings-s379.mdreports/
p5-provenance-decision-surface.mdreports/
backlog-triage-board.mdreports/
s457-backlog-411-432-review.mdreports/
ast-dataflow-schema-audit.mdreports/
test-audit-next-steps.mdreports/
s483-main-track-delta-audit.mdreports/
doctor-report-2026-07-26.mdreports/
bl-301-feedback.mdspecs/bl-301-platform-pipeline/notes/
bl-431-434-investigation.mdspecs/id-144-hybrid-search-completion/notes/
s460-answer-variant-tier-analysis.mdspecs/id-144-hybrid-search-completion/notes/
data-api-schema-isolation-recon.mdspecs/id-115-data-api-schema-isolation/notes/
dev-workflow-user-feedback.mdspecs/id-164-intent-adoption/notes/
intent-kickoff-id-164.mdspecs/id-164-intent-adoption/notes/
workflow-improvement-notes.mdspecs/id-164-intent-adoption/notes/
intent-kickoff-id-165.mdspecs/id-165-ordna-adoption/notes/
id127-corpus-structure-research.mdspecs/id-127-platform-pipeline/notes/
id-127-additional-context-for-item-3.mdspecs/id-127-platform-pipeline/notes/
s483-additional-context.mdspecs/id-127-platform-pipeline/notes/
id-128-127-vercel-feedback.mdspecs/id-128-test-ci-integration/notes/
id-128-130-feedback.mdspecs/id-128-test-ci-integration/notes/
s485-replay-mechanism-adjudication.mdspecs/id-128-test-ci-integration/notes/
s454-recovery/id-128.10-ephemeral-branch-cost-time.mdspecs/id-128-test-ci-integration/notes/
id-131-2-3-4-user-feedback.mdspecs/id-131-okf-l-records-refactor/notes/
s438-13125-reconcile.mdspecs/id-131-okf-l-records-refactor/notes/
s448-remaining-131-plan.mdspecs/id-131-okf-l-records-refactor/notes/
s483-bl495-script-recon.mdspecs/id-131-okf-l-records-refactor/notes/
s449-go-prep-report.mdspecs/id-131-okf-l-records-refactor/notes/
s442-subo-reports/gov-chain-blocked-packet.mdspecs/id-131-okf-l-records-refactor/notes/
s438-13519-reconcile.mdspecs/id-135-okf-human-search-browse-ui/notes/
s437-bl392-recommendation.mdspecs/id-136-forms-route-retirement/notes/
s440-corpus-durable-home-decision.mdspecs/id-138-corpus-durable-home/notes/
corpus-durable-home-user-feedback.mdspecs/id-138-corpus-durable-home/notes/
note-id-163-10-first-authoring-wave.mdspecs/id-163-okf-system-bundle/notes/
note-id-163-18-per-span-memo-hash-for-e1-concepts.mdspecs/id-163-okf-system-bundle/notes/
s384-id117-s380-decision-grounding.mdspecs/id-117-unified-diff-surface/notes/
s391-id117-staff-review.mdspecs/id-117-unified-diff-surface/notes/
ingest-contract-staff-review.mdspecs/ingest-cross-network-contract/notes/
s454-recovery/id-127.18-cron-secret-split-plan.mdspecs/id-127-platform-pipeline/notes/
s454-recovery/id-127.20-private-ingress-assessment.mdspecs/id-127-platform-pipeline/notes/
s506-config-packet.mdspecs/id-386-intent-context-spine/notes/

Class C — superseded, DELETED (18 files)

Section titled “Class C — superseded, DELETED (18 files)”

Each has a tracked successor that says the same thing better. Deleted after Classes A and B were committed.

  • client-deployment-architecture-s435.md
  • s454-recovery/id-127.19-secret-rotation-runbook.md
  • s454-recovery/corpus-search.test.ts.recovered
  • s448-forward-graph.md
  • retro-S391.json
  • gh-security-dashboard-findings.md
  • spec-id-163-canonical-okf-system-baseline-bundle.md
  • docs-consolidation-punchlist-s435.md
  • additional-context-for-s437.md
  • backlog-grounding.md
  • procurement-domain-context.md
  • s391-session-state.md
  • s397/s397-pending-ledger-intents.md
  • s451-diary-pending.md
  • s488-diary-pending.md
  • s493-follow-ups.md
  • s391-findprojroot-backlog.json
  • s442-subo-reports/oq-811c4718abc3f93e.json

Class D — pure scratch, DELETED (28 files)

Section titled “Class D — pure scratch, DELETED (28 files)”

Logs, data dumps, regenerable artefacts, retired one-shot scripts, raw session transcripts. No migration value.

  • .DS_Store
  • salvage-117/.DS_Store
  • salvage-117/components-diff/.DS_Store
  • salvage-117/__tests__-components-diff/.DS_Store
  • context-hotspots.csv
  • schema-coverage-2026-07-27.md
  • orphan-tests-with-heuristics.json
  • orphan-tests-imports.json
  • main_session_output.md
  • s448-subo-session-output.md
  • s454-recovery/subo-id127-128-session-output.md
  • s448-fullsuite.log
  • s448-lint.log
  • s485-fleet.jsonl
  • s384-fleet.md
  • s391-decide-goose.sh
  • s391-decide-spec.sh
  • s391-decide-id120-hold.sh
  • s391-id117-subtasks.json
  • s391-id120-product-subtask.json
  • s397/id120-subtasks.json
  • id59-sidecar-subtasks.json
  • seed-contract-status.json
  • preflight-list-concepts.py
  • run-synth-okf.py
  • s460-promote-corpus.ts
  • s442-subo-reports/subo-id131-final-report.yaml
  • s454-recovery/README.md
  1. s454-recovery/id-127.20-private-ingress-assessment.md promoted C → B. S506 read it as superseded by runbooks/private-ingress-cutover.md. But that runbook cites it at section level in two places (:35, :464 — §1, §2, §5, §6, §8) for detail it does not itself carry. A live runbook depending on a document’s sections is the definition of load-bearing, so it was migrated and both citations repointed.
  2. s454-recovery/id-127.18-cron-secret-split-plan.md classified B; S506 left it out of all four classes. runbooks/secret-rotation.md:11 names it as the plan the runbook generalises. Migrated.
  3. s506-config-packet.md classified B. Created after the S506 pass and fully discharged during S507; archived rather than deleted, per the wave brief.
  4. Class counts differ from the S506 headline (10/43/16/29). Recounting file by file gives 21/54/18/28 — S506 counted table rows, several of which named multiple files. No file changed class as a result; the totals were simply under-reported.

What replaces the surface as a governance control

Section titled “What replaces the surface as a governance control”
  • CI guard, both repos — canonical __tests__/docs/user-scratch-citations.test.ts and docs-site __tests__/user-scratch-citations.test.ts. A tracked file on a current-state surface may not cite a path inside .user-scratch/. Point-in-time surfaces (reports/, ledgers/, continuation-prompts/, tasks/, spec notes/) are exempt: they describe a moment, and at that moment the file was where they say it was. Rewriting those would falsify a record rather than repair one.
  • /handoff Step 2d — at session close, every .user-scratch/ file created or modified that session is either migrated to a tracked home or confirmed as scratch by the owner. Nothing leaves the session in a third state.

S506 found 33 of ~101 cited .user-scratch/ paths already pointed at deleted files. Those are not recoverable. Where a current-state document cited one, S507 replaced the path with an honest statement that the evidence is gone rather than leaving a link that resolves for nobody:

  • specs/id-115-data-api-schema-isolation/RESEARCH.md — the S363 migration-squash memo
  • specs/id-121-security-quality-baseline/{RESEARCH,PLAN}.md — the codeql-s391/ SARIF set (regenerable from the CLI recipe in PLAN §Mechanisms)
  • initiatives/.../okf-platform/bundle-doctrine-interim-notes.md — its own pre-move path