Version. 0.1
Date. 2026-08-01
Author. Claude.ai (drafting session). Operator: Marvin Percival.
Charter. standing-notes/dunin7-standing-authorization-charter-v0_1 §2 R-3 — manifest bumps via splice-instruction documents, drafted in a drafting session, applied mechanically, checklist verified.
Applies to. current-status/current-status-manifest-v0_77.md.
Produces. current-status/current-status-manifest-v0_78.md. v0.77 is not edited.
What this bump carries. Two builds closed and merged. One correction reversed — a "correction" filed at v0.77 was itself wrong, and the position it corrected was right. One self-inconsistency resolved inside v0.77's own methodology material. Four verification disciplines added as candidates. Residues opened and closed.
Anchor discipline. Every splice asserts its anchor text before editing. If an anchor does not match v0.77's actual text, halt on that splice and report — do not approximate. This is the practice the v0.77 application followed and it caught nothing only because it was applied.
Replace: # Loomworks Current-Status Manifest — v0.77
With: # Loomworks Current-Status Manifest — v0.78
Append after the existing v0.77 status paragraph:
> v0.78 (2026-08-01) closes the first two builds executed under the charter. B-29 is merged — the provenance field is true at all eighty-three sites, after the cheap approach was proved unsound at a checkpoint and abandoned. B-5 is merged — the Manifestation room exists and carries the room state contract, the first surface merge under the charter. One correction filed at v0.77 is reversed here: C-4's file count was wrong and the position it corrected was right.
Append after the partial-numeric-refresh block added at v0.77:
> Fronts as at 2026-08-01. Engine main e106917, tag provenance-seam-v0_1 at f89e9c7. Operator Layer main 7e81e30, tag manifestation-room-v0_1. stele 689de41, tag v0.4.0. Alembic head unchanged at 0102.
>
> Neither merge is deployed. Both await the Operator's restart, which is F-1 and batches to cadence. Merged is not live — the standing note of that name applies to both.
>
> Suite state, and why "green" is not the word. Engine: 1 failed, 3444 passed, 68 skipped — the single failure is test_stele_router_mount, which predates this work and is unrelated to it. Operator Layer: 630 passed, 0 failed, exit code 1, on twelve unhandled fetchPlatformLevel rejections present at baseline. Neither repository can currently report a clean run, and both now carry a build-list item to fix that (B-33, B-34). A standing exception is how a second failure hides.
Assert this anchor, from the second candidate added at v0.77:
> Do not state a specific the work does not need. The narrower rule the same day produced, with four instances:
Replace the phrase The narrower rule the same day produced, with four instances: with The narrower rule the same day produced:
> Why. v0.77 carried this candidate saying "four instances" while Entry 130 in the same document said the two-role discipline "caught all five." Same class, two counts, in the document that names ornamental counts as the defect. Both counts are removed rather than reconciled — neither is a finding, and the candidate reads correctly with no tally at all. (Splice 5 removes the other.)
Then append to §2.D, in the New-for-v0.78 group:
> Checks that pass without testing what they claim. A verification can report success while never exercising the thing it was written for, and four distinct instances landed in a single build. A sweep pattern must not encode an assumption about its target — Step [0-9] skips Steps; a pattern ending in a backtick skips fenced blocks; grep -c counts lines where the caller means occurrences. An exception assertion must name the exception — pytest.raises(Exception) around an invariant keeps passing after the invariant is removed, which is worse than no test because it retires the question. Parsing is not compiling — ast.parse accepts a repeated keyword argument that compile() rejects. And a check against a path that does not exist passes vacuously. Filed in full at standing-notes/loomworks-standing-note-executable-document-versions-v0_4. Candidate for the methodology canon.
>
> A document that is executed has only a current version. Superseded siblings are history for a document that is read and a live hazard for one that is executed. CR-2026-159 is the worked case: its v0.5 reversed the design, so a session opening v0.1–v0.4 by filename would have built an approach the project had already proved unsound. Past nine versions the highest-version check requires a numeric sort — v0_10 sorts between v0_1 and v0_2. Candidate, filed at the standing note above.
Assert this anchor, in Entry 130:
> The two-role discipline is the mechanism that caught all five, and none reached the work.
Replace with:
> The two-role discipline is the mechanism that caught every one of them, and none reached the work.
Why. The count contradicted the same document's other count, and the discipline it illustrates forbids stating a number the point does not need.
Insert after Entry 131 if one exists, otherwise after Entry 130, before §4. [ASSERT: report which entry number this follows and what the highest existing entry is. If the highest is not 130 or 131, halt — the drafting session did not read the entry list.]
> ### Entry 132 — B-29 merged, after the cheap fix was proved unsound (new v0.78; 2026-08-01)
>
> The provenance field now carries the true value at all eighty-three sites. Engine main e106917, tag provenance-seam-v0_1.
>
> The arc is the finding, not the fix. Two designs were specified, built and abandoned before the third held. Option B — the seam stamps the field itself — was specified across CR-2026-159 v0.1 to v0.4 on the stated ground that nothing reads the field, so no downstream consumer can break. Checkpoint A proved that false. MemoryObject is frozen, so the seam corrected a copy while the caller kept the original; roughly thirty-five call sites return their object immediately after appending, and every one would have handed back provenance contradicting the row just written. **The sweep that produced the safety claim asked what reads the field when the question was what returns the object.**
>
> Option A — the caller mints and passes the identifier — was adopted at v0.5 and broke at 292 integrity errors, all duplicate primary keys. The cause was an invariant no version had stated: one object version is one event is one freshly minted identifier, and a model_copy advancing a version while copying provenance forward attaches to version 2 the identifier that produced version 1. Under the old fabricated regime that was silently wrong and worked; under option A the database rejects it. The enforcement is the feature — the invariant cannot now rot.
>
> A third option was set aside by Operator ruling: drop wasGeneratedBy from Provenance entirely and join on memory_events.event_id, which is already the primary key. The drafting session leaned that way on the ground that a field required to equal a column in its own row is a denormalisation. Overruled; the reasoning is preserved rather than deleted, because the cost of maintaining the duplicate does not disappear by being accepted.
>
> What it cost. Ten change-request versions, two of them halted at pre-flight and never filed. What it bought: the record, the stored copy, and the object the caller holds all agree — which option B could not have delivered at any price.
>
> ---
>
> ### Entry 133 — B-5 merged: the room state contract (new v0.78; 2026-08-01)
>
> The Manifestation room exists, and with it the first structural enforcement of the completion arc's governing rule. Operator Layer main 7e81e30, tag manifestation-room-v0_1 — the first surface merge under the charter.
>
> What the contract does. ReadState is not a status enum with a better name. Its two states that make a claim about the record — empty and populated — cannot be constructed without the timestamp of the completed read that produced them. A room can still choose a poor sentence; it can no longer render "there is nothing here" out of a value no read produced. Every pre-existing field on the shared hook survived.
>
> Face 2 was confirmed verbatim before it was fixed. All four unwired-room strings asserted the record while the surrounding comments claimed to assert the surface — the sharpest evidence being that renderingEmpty uses the identical sentence form honestly, because a completed read stands behind it. The surface had taught the Operator that the form means the engine was asked and said none.
>
> One CR defect found at build. The specified adapter path could not work: the vocabulary wall matches substrings over every line including import specifiers, so each consumer would have needed a whole-file exemption — the blanket weakening the CR's own naming decision forbids. Established with a probe file rather than by argument — it failed at line 1 — and resolved by naming the adapter for the discriminator instead.
>
> Verification without the production database. playground_dev is fenced, so the live pass ran against a throwaway fake engine on spare ports, plus a read of the real engine's OpenAPI document confirming every adapter field exists across all eight schemas — which is the one risk mocked tests cannot catch. All five states observed in a browser, including a deliberately failed fetch rendering an error with no empty claim on screen.
Mark resolved:
> B-29 must land before FORAY integration opens (filed v0.77). [RESOLVED at v0.78.] Merged at e106917. The ordering constraint is discharged; FORAY integration may open, and B-24 is unblocked.
>
> The eighty-three dead stampers, after CR-2026-159 (filed v0.77). [DISSOLVED at v0.78, not resolved.] The residue existed only under option B, which left eighty-three sites minting a discarded value. Option A visits all eighty-three as the work, so there is nothing left over to sweep. The residue is recorded as dissolved rather than deleted, because its disappearance is a consequence of the design reversal and not of anything being done about it.
Insert as new residues:
> C-4 is reversed; the original sizing was right (new v0.78). inspection-briefs/loomworks-inspection-corrections-note-v0_1 C-4 "corrected" B-29's file count from 36 to 37, and manifest v0.77 absorbed that. Both are wrong. Two independent sweeps at a317051 return 83 sites across 36 files — the original sizing, and CR-2026-159's own Step 0. A correction that was itself an error, filed against a position that was correct. The corrections note owes an amendment; the build list already carries 36. (Recorded as a residue rather than silently fixed, because the lesson is that a corrections document is not privileged over what it corrects.)
>
> Two suites, neither able to report a clean run (new v0.78). The engine carries one long-standing unrelated failure; the Operator Layer exits 1 on twelve unhandled rejections. Both now require every session to hold a standing exception in its head, which is how a second failure hides. Filed as build-list items B-33 and B-34.
>
> The Manifestation room has no re-derive control (new v0.78). CR-2026-160's design note said the room offers the action; its build instructions then enumerated no control, and the executing session correctly declined to add one on an unenumerated reading. An enumeration gap in the drafting, not a fork — resolved into build-list item B-32. It stays an Operator-pressed button rather than an automatic effect, because re-deriving spends credits and mutates the record.
>
> A charter amendment candidate, standing (new v0.78). Two sessions committed a first step to main before moving it to a branch. A branch check before the first commit of any change-request session belongs in R-2. The charter is F-4 — amendable only by the Operator — so this is recorded as a candidate, not applied. Both change requests since carry the check in their own kickoff blocks as an interim measure.
Insert immediately after the ## Changelog line, above the v0.77 entry:
> - v0.78 (2026-08-01): The first two builds under the charter, both merged. Adds Entries 132 (B-29 merged after two abandoned designs; the invariant that broke the second; the third option set aside by Operator ruling) and 133 (B-5 merged; the room state contract; the CR defect found by probe rather than argument). Reverses C-4 — the file count is 36, and the "correction" filed at v0.77 was itself wrong. Resolves v0.77's own four-versus-five inconsistency by removing both counts. Records both fronts, both tags, and that neither is deployed. Adds two methodology candidates on verification that passes without testing, and on executable-document versioning. Two residues resolved or dissolved, four opened.
Replace the version line with:
*Loomworks Current-Status Manifest — v0.78 — 2026-08-01*
current-status-manifest-v0_77.md is unmodified — git log shows it untouched by this commit.DUNIN7 — Done In Seven LLC — Miami, Florida Current-Status Manifest v0.77 → v0.78 — amendment instructions — v0.1 — 2026-08-01 Nine splices. One correction reversed, one self-contradiction removed, two builds closed.