DR-104: Ratified docs outrank the codebase as evidence of correctness
DR-104: Ratified docs outrank the codebase as evidence of correctness
Section titled “DR-104: Ratified docs outrank the codebase as evidence of correctness”Context
Section titled “Context”The reference set, runbooks, platform-direction.md, the OKF doctrine and
corpus-reframe-review.html were deliberately corrected (S504 rulings R1–R14) so the
platform has a north star, precisely because large parts of the codebase are
known-inaccurate: half-repointed work that later sessions are fixing. Initiative 12
exists to close that gap.
Nothing stated that precedence anywhere. In S515, four separate verdicts — three by sub-agents, all accepted by the Coordinator — were derived from the codebase and each was overturned by the owner. The four inferences all looked like diligence:
- “
record-run.tshas 10+ production importers, so it is live, not residue.” It has 18 callers, of which one passes the current cocoindex fields. The S507 audit had already diagnosed the module as “lib/pipeline/cron-helper vintage, pre-cocoindex” — many callers is the symptom that phrase describes, read as its refutation. - “There is a row on staging, so the write path is correct.” Platform staging and
prod are internal dev environments pre-launch. Population proves nothing, and
emptiness may mean unexercised rather than dead — which also re-opened a retire
verdict on
pipeline_runs.items_updated/items_skipped. - “
grepfound nothing inscripts/census/, so the manifest coupling was never built.” It searched the column census, not the corpus fixture gate — which already carried a hardcodedDRIVER_MANIFEST_DEST_PATHSarray. - “Every assertion binds a live table, so the spec matches the target model.” The
specs bound live tables while framing themselves around retired concepts, and used
binding-admission gate— a compound fusing the two gates DR-025 separates, defined in zero decision records and coined in one session working note, yet present at 10 code sites.
Decision
Section titled “Decision”In rebase-class work, ratified documents are the authority on what is correct; code is
evidence only of what exists. The precedence order is: corpus-reframe-review.html
(R1–R8) and the Decision Register, then platform-direction.md and
reference/entity-glossary.md and the OKF doctrine, then the task’s own spec chain —
and only then the tree.
An existing reference in code is the symptom under investigation, not proof the thing referenced is right. Specifically, none of the following is evidence of correctness: caller count, row population on any Platform DB, absence from a grep, or assertions binding live tables.
This binds sub-agent dispatch too: a brief citing only task files, specs and code reproduces the codebase’s errors.
Alternatives considered
Section titled “Alternatives considered”- Leave it as reviewer judgement. Rejected — it was reviewer judgement in S515 and failed four times in one session, including cases where the audit of record already said the opposite.
- Ban codebase evidence outright. Rejected — the code is the only source for what exists today, which is exactly what a census or impact pass needs. The rule is about precedence when doc and code disagree, not about ignoring the tree.
- Encode it only in
platform-context.md. Insufficient on its own: the anchor is read at session start and its pointers were treated as optional depth. It needs a citableDR-NNNthat a verdict can be checked against, plus the skill change.
Consequences
Section titled “Consequences”- A retire/keep/rename verdict must cite a ratified document, not a code observation. Where the doc is silent, that silence is a finding to raise, not licence to infer from the tree.
platform-context.mdcarries the operational form of this rule as## Evidence precedence — docs outrank code, naming the four traps above; thestart-sessionskill makes reading it binding and carries it into dispatch briefs.- A term absent from
reference/entity-glossary.mdis a drift risk (S504 R6). The source-lifecycle vocabulary — binding gate, knowledge admission, retention classes — is not yet in the glossary; id-408 owns closing that. - Costs a verification step on work that would previously have shipped on a plausible code read. That is the intended trade.