Version. 0.4
Date. 2026-08-01
Supersedes. v0.3 at record 556c316, v0.2 at 78388dc, v0.1 at c942fe1. All stand as siblings, unaltered.
Author. Claude.ai (drafting session). Operator: Marvin Percival.
Status. Standing. Applies to every versioned document a session executes from.
Changes from v0.3. The highest-version check needs a numeric sort, which v0.1–v0.3 did not say. CR-2026-159 became the first series here to pass nine versions, and a plain directory listing sorts v0_10 between v0_1 and v0_2 — so the check the note prescribes would have reported v0.8 as the highest while v0.10 was the current one. It caught nothing that time only because the kickoff named the version and the ordering explicitly. And two verification disciplines are added from the same run, both about checks that pass without testing what they claim.
The record's filing discipline is siblings, never overwrites: a revised document is filed under the next version and the prior version stands untouched. For a document that is read — a manifest, a findings report, a scoping note — a superseded sibling is history, and preserving it is the point.
**For a document that is executed, a superseded sibling is not history. It is a live instruction set that no longer matches the decision.**
CR-2026-159 is the worked case, and by its close it was the strong one. Its v0.5 reversed the seam design; its v0.10 built the opposite of what v0.1–v0.4 specified. A session opening any of the first four by filename would have built an approach the project had proved unsound and abandoned.
The hazard is self-propagating. Each version carries a kickoff block naming its own path, so a session that starts from a stale sibling is told by that sibling that it has the right document.
Before executing any versioned document, confirm it is the highest version present in the record — sorting numerically, not lexically.
> Added at v0.4. v0.1–v0.3 said "one directory listing." That holds only while a series stays in single digits. ls sorts v0_10 between v0_1 and v0_2, so on any series past nine the listing reports the wrong highest version — and reports it confidently. CR-2026-159 reached v0.10 and is the first series here to cross that line; it will not be the last. A gap in the series is normal — that CR has no v0.7 and no v0.9, both drafted and halted at pre-flight before filing — so highest means highest present, not highest expected.
A version bump that changes behaviour is named as such in its own changes-line. The distinction between reads differently and runs differently is the one an executing session needs, and only the drafting session knows it at the time of writing.
The kickoff block names a version, never a bare document. A kickoff that says "execute the CR" inherits whichever file the session happens to open.
When the kickoff and the record disagree, the session stops and surfaces the mismatch. Neither wins automatically.
No standing note outranks an instruction the Operator typed. A note can require that an apparent conflict be surfaced. It cannot decide one. The Operator is the base case the charter's §0 names, and a kickoff block he pastes is his instruction — it may be stale, and stale is not the same as void.
Why the session stops rather than silently taking the highest version. A mismatch is cheap to resolve and might be deliberate — the Operator may want an older version re-run for comparison. Proceeding silently on the highest overrides an intent nobody stated. One message resolves it, and the resolution is his.
What the session reports. The version the kickoff named, the highest version present, and the difference between them if the changes-lines make it visible — so the answer takes one word rather than an investigation.
Added at v0.4. Three instances in one build, and they share a shape: a check reported success while never exercising the thing it was written for. This is the same failure the executable-version rule addresses — a false report of correctness — one layer down, in the verification rather than in the document.
A sweep pattern must not encode an assumption about what it is looking for. Step [0-9] silently skips Steps. A pattern ending in a backtick matches inline code and skips fenced blocks. A grep -c counts lines while the caller means occurrences. In each case the check passed by being narrower than the check it claimed to be. State what the sweep must find, then confirm the pattern can find it.
An exception assertion names the exception. pytest.raises(Exception) around an invariant check will keep passing after the invariant is removed, because something else will raise. A regression test that passes for the wrong reason is worse than no test, since it retires the question. Assert the specific error and the specific condition — in the worked case, an integrity error naming the duplicated key.
Parsing is not compiling. ast.parse accepts a repeated keyword argument that compile() rejects. A generated-code check that parses is not a check that the code is valid. Compile it.
And a check against a path that does not exist passes vacuously. A verification instruction naming a directory that was never created reports clean by having nothing to test. Confirm the target exists before treating its silence as a pass.
Nothing is edited retroactively. Superseded versions stay exactly as filed. The record's precedent for supersession is a marker in the new version — as the manifest does for its superseded entries — not an edit to the old one. This note follows that.
Ordinary archival is unaffected. This note governs only the moment before execution, and only for documents that are executed.
The charter is F-4 — its own amendments are Operator acts. This is a working discipline that sits under it, not a change to its authorization classes, so it files as a standing note. If the Operator wants it in the charter proper, that is his to decide at cadence; nothing is blocked either way.
DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks — standing note — superseded versions of executable documents — v0.4 — 2026-08-01 A document that is read has history. A document that is executed has only a current version — and past nine, you have to count to find it.