Files
Drew T a291c2b479 tools+docs(phase-33.5): task 13 — the kit's dry-run install under D6's guardrails: three runs in a throwaway repo (PA 2.0 + the kit, one Opus subagent per run, every answer from answers.md, writes only inside the throwaway), judged independently by judge.py (manifest set, placeholder audit, 14 check-ignore probes, G == 65, seeds == 32, trailer-free commits, the audit, PhaseEnd/log state, BEFORE/AFTER guardrails incl. the real tree's dirty paths). Run 1 FAILED at kit Step 3.7: ProjectArchitect's directory-form .run/ ignore defeats every re-include beneath it and the kit forbade the edit → SETUP Step 3.0 (the one named edit above a marker) + Step 0.4 + Step 10.1 scoped past both packages with a plain grep + a troubleshooting row. Run 2 (resumed from Step 3, the fixed kit) PASSED 10/10 and found two more → Step 10.2 in-memory compile (py_compile always writes bytecode), the "never paste a literal double-brace" rule (SETUP + docs-README), Step 10.6's digest synopsis, README "Findings for ProjectArchitect" (three upstream items); the judge's own two false FAILs fixed (scope; dirty PATHS not count). Run 3 (fresh throwaway, fresh agent, the final kit) PASSED 10/10 with 0 defects; its 57-line manifest vs my 46 exposed a spec gap → Step 10.5 tightened to an exact derivable rule; regenerated 53 == 53; judge PASS 20/20; every guardrail value unchanged. Evidence tracked under .run/P33.5/kit-dryrun/ (answers, expected manifest, before/after ×2, install logs, manifests ×3, verdicts ×2, judge.py; the gitignore block re-includes *.py); audit_public OK over the 14 fixture files; log + checkpoint (NEXT = task 13.5, xHigh; the dictionary amendment recorded as awaiting Drew's go)
2026-09-07 20:54:03 -06:00

3.8 KiB

docs/ — what goes where

Installed by decomp-architect (Step 4) on {{INSTALL_DATE}} for {{PROJECT_NAME}}. This folder holds the records and references the project's wiki summarises and links; knowledge has a home by KIND, not by the session that produced it. A note written for one session is scratch (.run/); the durable result it produced goes into one of the files below, and the note is archived.

Kind of knowledge Where it goes The rule behind it
A compiler idiom proven on the bytes (the residual, the mechanism, the lever, the byte proof) a numbered section of the cookbook, and its symptom index (regenerated by a tool, never edited) the flywheel: consult before a match, feed back after
A strategic pivot: what was believed, what failed, the measurement, the hindsight an entry in docs/decision-log.md, written while fresh capture the why while it hurts
A late discovery that would have sped up an earlier phase — what it is, when it was found, when it could have been found, what it would have saved docs/accelerators.md the ledger a future project starts from
A procedure people run (the wave, the publication) a runbook under docs/; a superseded runbook carries a banner at the top and is then archived one runbook is the procedure
An environment or tool fact (a version, a flag, a hook, a row per tool) docs/ops-setup.md, in the same change as the tool keep the ops reference current
An address, with its source and its verification status docs/memory-map.md address provenance and region tags
A file or container format docs/formats.md (the medium's layout: {{CONTAINER_LAYOUT}}) —
The state of the open phase; then the phase's synthesis; then the one-page digest every session starts from phase-ends/CURRENT_PHASE.md → phase-ends/PhaseEnd_Phase<N>.md → phase-ends/DIGEST.md the replayable checkpoint; the digest
How the project is used: building, verifying, contributing, its layout and conventions the wiki (docs/wiki/), the source of truth for documentation —
A design note, a frontier analysis, a triage ladder, a worklist for one session .run/<session>/ while live; once its result is in the record above, the note moves to the archive — it is never a reference see the archive

Authored versus generated. Numbers are generated, never typed: every progress figure, badge, timeline row and census in a published document is produced by a tool from the tree, and the tool asserts the published copy is fresh; a generated file says so on its first line; edits go to the generator. A number that has to appear in prose is a dated snapshot with the command that produced it. Snapshots of a state that no longer exists are frozen, not regenerated.

Placeholders. A tracked document never pastes a literal double-brace placeholder token; it names the placeholder in prose. The install-time placeholder audit cannot tell a quotation from an unfilled placeholder, and it must stay a true signal.

Links. A document links the wiki page for a topic, not the docs/ file behind it; a wiki page links into docs/ only through its Reference index; nothing links into the archive (docs/sunset/), whose index names files as backticked paths with the version they were archived at. A backticked path is a citation, not a link; a link checker classifies cited paths as TRACKED or UNTRACKED by asking git, never the disk.

The archive. A document leaves docs/ when its purpose is fulfilled and its information lives elsewhere: git mv into docs/sunset/ under the same relative path, one row in the archive index (what it was, what came of it, where it lives now), and a review row for the owner; deletion is the owner's decision, never part of the move; every referrer is re-pointed first (a git grep over the tree must return only the two index files).