docs: keep only what describes the system as it is, and generate the rest - #55
Merged
Conversation
…rest Three decisions applied: documentation is written for agents, anything derivable from code is generated rather than typed, and the tree carries only current state because git carries the history. Removed 33 files: the 29 completed-phase evidence and migration-plan documents, the two superseded ADRs, and the two architecture documents that described the pre-migration design. Nothing is lost -- git holds all of it -- and the tree now shows the system as it is rather than as a record of how it got here. `gds-completion-plan.md` was not purely historical: three runbooks cited it as their authority, and it carried the canonical-owner table, the status vocabulary and the change protocol, none of which are migration steps. Those are extracted into docs/contracts/authority-and-change-protocol-v1.md and the runbooks point there. The migration order itself is gone. Generation instead of prose. `docs/contracts/harness-adapters-v1.md` claimed that `scripts/validate_harness_docs.py` "fails when this list, the registry, and that constant disagree, so the three cannot drift apart silently as they did before". That script did not exist. The document described a guard nobody had built, and the drift it promised to prevent is exactly what happened: the doc listed seventeen identities while the code had seven. So the list is generated now, not validated. `scripts/generate_harness_docs.py` renders the identity blocks from the registry, refuses to run when the registry and `core/harness.CanonicalIDs` disagree, and `--check` runs in `validate_ci_tier.sh` beside the ADR index check. Proved it fails in both directions before relying on it: injecting a stale id into the README, and adding an id to CanonicalIDs, each exit 1. Corrected statements that had become false: the README's seventeen harnesses and its `example-org/example-harnesses` evidence owner, the architecture binary list still naming the deleted zcode driver, and the adapter table's rows for three removed harnesses. Two accepted ADRs carried consequences that are now wrong; those are annotated in place with what changed rather than rewritten, because the decision was real when it was taken. Verified: go test ./... 64 packages zero failures; validate_ci_tier.sh fast exits 0; generate_harness_docs.py --check clean; no dangling reference to any deleted file remains. Claude-Session: https://claude.ai/code/session_01GFeam4oG1UnwF9r55pXEyp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three decisions applied: documentation is written for agents, anything derivable from code is generated rather than typed, and the tree carries only current state because git carries the history.
Removed — 33 files, 11,884 lines
29 completed-phase evidence and migration-plan documents, two superseded ADRs (0001, 0017), two architecture documents describing the pre-migration design. Git holds all of it.
gds-completion-plan.mdwas not purely historical. Three runbooks cited it as their authority, and it carried the canonical-owner table, the status vocabulary and the change protocol — none of which are migration steps. Those are extracted intodocs/contracts/authority-and-change-protocol-v1.md; the runbooks point there. The migration order itself is gone.Generation instead of prose
docs/contracts/harness-adapters-v1.mdclaimed:That script does not exist. The document described a guard nobody had built, and the drift it promised to prevent is exactly what happened — the doc listed seventeen identities while the code had seven.
So the list is now generated, not validated.
scripts/generate_harness_docs.py:harnesses/README.mdfrom the registry;core/harness.CanonicalIDsdisagree;--checkruns invalidate_ci_tier.shbeside the ADR index check.Proved it fails in both directions before relying on it — injecting a stale id into the README, and adding an id to
CanonicalIDs, each exit 1.Corrected statements that had become false
example-org/example-harnessesas evidence owner (nowNDDev-it-com/setup-systems)gds-zcode-runtime-driverVerification
go test ./...— 64 packages, zero failuresscripts/validate_ci_tier.sh fast— exit 0generate_harness_docs.py --check— cleanhttps://claude.ai/code/session_01GFeam4oG1UnwF9r55pXEyp