Version. 0.1
Date. 2026-08-01
Author. Claude.ai (drafting session). Operator: Marvin Percival.
Executed by. Claude Code on DUNIN7-M4, one engine session.
Target. /Users/dunin7/loomworks-engine at main e106917, tag provenance-seam-v0_1.
Charter. standing-notes/dunin7-standing-authorization-charter-v0_1. R-5 inspection run.
Build-list item. B-25.
Status. Read-only. Establishes ground for B-25's change request. Produces no code change and no change request.
Why now. B-29 is merged and B-25 is unblocked. But B-29 rewrote provenance construction at every one of the eighty-three sites, and three of B-25's eleven sit inside those same Provenance(...) expressions. Every line number in B-25's evidence base was taken at a317051 and is now suspect.
Evidence base, all of it pre-B-29. inspection-briefs/loomworks-b25-sizing-sweeps-findings-v0_1 (the eleven, plus two unclear); inspection-briefs/loomworks-inspection-corrections-note-v0_1 C-6 (two recorded locations that do not resolve); inspection-briefs/loomworks-walk-audit-report-v0_1 W-6.
Read-only. No fixes, no branches, no commits, no stashes, no dependency installs.
No database connection. playground_dev is the live production database.
No test-suite run and no live-perimeter call. Every question here is decidable from source.
The engine is free — B-29 released it — but this session does not build. If a question needs a build to answer, report it unread.
State only what you have read back, and the four verification disciplines now filed at standing-notes/loomworks-standing-note-executable-document-versions-v0_4:
unread where a question cannot be settled inside the fences.a317051. This session reads at e106917.For each site: does it still exist, at what line, and did B-29 change the expression it sits in?
| # | Site, as recorded at a317051 | Writes today | True value |
|---|---|---|---|
| 1 | api/routers/engagements.py:285 | Actor with a generated identifier, as the draft seed's author | The authenticated person, in scope two lines earlier |
| 2 | api/routers/engagements.py:347 | Same construction, as amend author | The principal the creator-assertion resolved |
| 3 | api/routers/engagements.py:392 | Same construction, as induction author | Same |
| 4 | api/routers/considerations.py:195 | Coalesces the client's agent identifier against a generated one | The agent the client named |
| 5 | api/routers/seed_commit_from_brief.py:271 | Kind contributor, carrying a person identifier | Kind person — the session-cookie path |
| 6 | api/routers/me_create_engagement.py:393 | Same | Same |
| 7 | api/routers/me_create_engagement.py:728 | Same | Same |
| 8 | api/routers/seed_extraction.py:246 | Same | Same |
| 9 | api/routers/seed_extraction.py:283 | Same | Same |
| 10 | orchestration/router.py:359, :3292, orchestration/routers/converse.py:1378 vs api/deps.py:1176 | Spoken door writes kind companion; typed door writes kind person, same person identifier | One of the two, consistently |
| 11 | orchestration/routers/converse.py:690 | Does not resolve — see §5 | — |
Three sites need particular care. B-29's work touched Provenance(...) expressions at api/routers/seed_extraction.py, api/routers/seed_commit_from_brief.py and api/routers/me_create_engagement.py — the same expressions B-25's sites 5 through 9 sit in or beside. Report the current line and the shape of the expression as it now stands, not merely whether the defect survives.
Also re-anchor the compounding site. The hardcoded companion name is at api/routers/assertions.py:405 — not engagement/assertions.py:404, which corrections-note C-6 established carries no such string. Confirm at e106917.
Both were deferred to this Step 0 by the sizing findings. Each needs a read that establishes what the engine already treats as true, so the Operator decides against evidence rather than in the abstract.
4.1 api/routers/considerations.py:111, called at :534. The escalation recipient's actor is taken wholesale from the request body — kind, identifier and version all client-supplied, written through without validating that the actor exists or that the kind matches the identifier.
The question: is the escalation recipient an assertion about a party, which is the client's to make, or a reference to a party, which is the engine's to resolve?
What to read: every other place the engine accepts an actor from a request body, and whether any of them validate. If some do and some don't, the inconsistency is itself the finding. Also read whether the recipient is ever dereferenced later — a reference that is never followed and a reference that is followed have different stakes.
4.2 api/routers/seed_conversation.py:116. The seed-conversation Companion writes as kind agent under a stable sentinel rather than kind companion.
The question: is this Companion person-bound? Kind companion requires the identifier to carry the person's own value; if this identity is not person-bound, agent may be correct rather than a mislabel.
What to read: memory/base.py:69-81's definitions of the four kinds; how the sentinel is constructed and whether it varies by person; and whether any other Companion-like identity in the tree writes as agent. Do not assume it is a defect because it appears in a defect list.
Corrections-note C-6 established that orchestration/routers/converse.py:690 at a317051 is engagement_id = body.project_id or _current_engagement_id — creation-scope resolution, not an authorship construction. The file's only actor constructions were :1307 and :1378, and :1378 is already site 10c.
Two possibilities, and this session settles which: site 11 meant :1307, or the line moved between the sizing sweep and the corrections read.
What to read: :1307 at e106917 — is it a falsy-coalesce writing a wrong value? And is there any other coalescing construction in that file that fits the sizing findings' description of site 11 (coalesces the request's project field against the last-viewed engagement)?
If neither resolves, report site 11 as unrecoverable and the count drops to ten. Do not manufacture a site to preserve the number eleven.
B-25 corrects wasAttributedTo. B-29 rewrote how wasGeneratedBy is produced at the same construction sites.
Establish: does the post-B-29 shape make B-25's eleven easier, harder, or unchanged? Specifically, do any of the eleven now sit inside a helper that B-29 introduced or modified, such that one correction would reach several sites at once — the shape-two pattern from B-29's own build?
If a helper-shaped fix exists, that is a material finding for the change request. B-25 was sized as eleven heterogeneous fixes; if B-29's refactoring has clustered them, the sizing changes.
One findings document, Markdown primary.
Path. inspection-briefs/loomworks-b25-step-0-findings-v0_1.md. Copy to ~/Downloads.
Structure: environment (SHA, tree state, explicit statement that no database, suite or perimeter call was made) · question one as a table, recorded line beside current line, with the expression shape at sites 5–9 · question two, both questions with what the read establishes and what still needs a ruling · question three, ending in :1307, a different line, or unrecoverable · question four · corrections preserved · unread.
Filing. Charter R-1: commit and push on clean pre-flight. Append the outcome to current-status/dunin7-status-brief.
B-25 Step 0 inspection. Read-only.
Brief: loomworks-record/inspection-briefs/loomworks-b25-step-0-inspection-brief-v0_1.md
Confirm it is the highest version present — numeric sort.
Read the brief in full. Charter dunin7-standing-authorization-charter-v0_1 governs.
Target: /Users/dunin7/loomworks-engine at main e106917 — POST-B-29.
Every line number in the brief's evidence base was taken at a317051 and is
suspect. Re-anchor rather than inherit.
Read-only: no fixes, no branches, no commits, no suite run, no database
connection, no perimeter call. playground_dev is the live production database.
Four questions in the brief's order. Section 5 may legitimately end in
"unrecoverable" — do not manufacture a site to preserve a count.
Section 4 asks what the engine already treats as true, not what should be
done about it.
File findings per section 8. Append the outcome to the status brief.
DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks — B-25 Step 0 inspection brief — v0.1 — 2026-08-01 Eleven sites recorded before the ground moved. Read them where they are now.