Version. 0.29
Date. 2026-08-06
Status of this document. The single guide we work to. This is the one page the Operator reads at each sitting. Charter v0.1 ratified 2026-07-30; autonomous regime in effect. Day-to-day status lives in current-status/dunin7-status-brief.
Author. Claude.ai; v0.3–v0.4 and v0.10 by Claude Code; the rest by Claude.ai.
Changes from v0.28. Nothing waits on you. Both open questions are answered, B-12's unread fact was measured, and B-16 is closed — **the first time this list has had an empty Waiting on you section since it was written. Also: the foundation document's two-month-old error is corrected and so are the documents that inherited it. A duplicated block in the previous version's Waiting on you is removed.**
Changes from v0.27, carried. Everything is deployed, and looking at the deployed product found six things. Thirteen change requests went live in one act and were verified one at a time in the running system. Six new items, B-53 to B-58, five of them found by using the product rather than by reading the code.
Changes from v0.26, carried. B-8 scoped and joined B-12 on the Operator's side of the line.
Changes from v0.25, carried. B-12 scoped; the fourteen small items grouped.
Changes from v0.24, carried. B-11, B-50 and the gates are all closed.
Changes from v0.23, carried. One claim about a tag corrected.
Changes from v0.22, carried. B-49 is closed, and it was worse than the item described.
Changes from v0.21, carried. The clean-report cluster is closed and one item opened.
Changes from v0.20, carried. A recommendation corrected and three items added that nobody knew were there.
Changes from v0.19, carried. B-10 is closed.
Nothing waits on you. Both questions are answered, the one unread fact is measured, and everything merged is running.
The largest thing available: B-8 slice two — teaching the Companion to do things in the other three rooms rather than only describe them. Q-6's answer unblocked it. It has a scoping note and needs a change request.
Or the small work — twenty items, each currently implying its own change request, together perhaps two days. Grouped below so they can be swept. Six of them were found by using the deployed product.
Or B-48, the decision about what the engine's quality tooling should check — the largest remaining question about the codebase rather than the product.
It is written for you first. Technical cross-references sit at the end of each line for the sessions.
The highest-numbered version is always the truth — past nine, sort as numbers, not text.
Some numbers are deliberately absent. Where a count grows every time something is built, this list names the mechanism and says to count it at scoping time. A figure written here is wrong before it is read.
The statuses: READY · IN PROGRESS · NEEDS YOU: decision · NEEDS YOU: act · WAITING · DONE · PARKED.
The finish line, in one sentence: the full live demonstration works with no excuses — a firm's own document becomes a working engagement, information flows in, the summary view appears, a finished report comes out, a question gets a truthful answer with its sources shown, and an outsider can contribute without seeing anything else.
The foundation document named the wrong authorization mechanism for two months, and so did everything built on it.
A decision in June moved authorization from OVA to GRANTHA — and the seed, which every session reads first, kept describing the old model. Five places. Anything written against the seed in that window inherited it: a scoping note, two vertical documents, an investigation. A correction note filed in July swept the arc it was written inside and never looked at what was written in parallel.
All of it is now corrected, and the correction took three seed versions rather than one:
v0.13 replaced the superseded model with the current one. v0.14 removed the mechanism entirely — because describing a mechanism is what made the seed go stale in the first place, and swapping one description for another leaves it exposed to the same failure on a slower clock. The seed now names which seat each substrate occupies and nothing more. (Operator direction: while basic functionality is being tested, these are named by placement, not function.)
Two of the four inherited documents were corrected. One needed nothing — its stale text lives in a version two behind the current one, and the version anyone actually reads was already clean. Naming it as a live problem was itself the error, and that is recorded.
> The finding worth keeping. The sweep searched for stale text and reported the files containing it. It never asked whether those files were the current version of their document. A superseded version carrying a superseded claim is the record working; the question is always whether the current version carries it.
B-1 to B-7. DONE. The four rooms exist: Memory, Manifestation, Shaping, Rendering.
B-8. Teach the Companion the last three rooms. SLICE ONE DONE · slice two READY, unblocked by Q-6.
Slice one shipped and is live. Three words came off a forbidden list and the Companion can now name and describe all four rooms. Verified in the product. (CR-2026-170; engine 1706248, tag companion-room-reads-v0_1.)
Slice two — the writes. One test governs it: can you know what you are approving from the sentence you typed? Deriving a summary passes. Asking for a draft passes in kind but not in cost — you would not know the price. Confirming a Shape fails outright, which is why its control stays on a screen that shows the outputs first (Q-7, answered: defer).
Q-6's answer is the prerequisite it was waiting for. Every answer a model writes will show the notes it was given; answers the system assembles will not, because they already show their own material. A write proposed from material the Companion cannot show would be an approval you could not check — that is now handled. (scoping-notes/loomworks-b8-slice-two-scoping-note-v0_1.)
B-9. The "show me where this came from" walk. DONE.
B-10. Outside contributors, safely. DONE.
B-11. Make answers truthful. DONE.
B-12. Make the record searchable. MOSTLY ANSWERED, and smaller than the item said.
The unread fact is now measured. Twenty-three engagements hold notes; two hundred and thirty-five between them. The largest engagement anyone actually works in holds fifty-eight. The window is fifty. Everything else is a long tail — eleven engagements hold one or two notes each.
So for every project that exists today, raising a constant closes it. No index, no extension, no search.
> One thing does grow without bound, and it is not a project. The universal commons — the engagement every account joins automatically — holds the most of anything, and it grows with every person who signs up and contributes. Any window will be exceeded there eventually; raising the limit only moves the date. That is a different question from search, and probably a different answer: a shared space everyone contributes to is not the same thing as your own notes.
What remains before the constant is raised: measure what the model's prompt actually holds against fifty-eight notes, and raise the limit to a figure someone measured rather than a round number that sounds safe. Small. (scoping-notes/loomworks-b12-scoping-note-v0_6.)
B-13. Ask your engagement. WAITING on B-12.
B-14. Read spreadsheets and slide decks. READY (independent).
B-33, B-34, B-42. DONE. Three symptoms of one problem: nobody could read a clean report as clean, because a standing exception had to be held in mind — and a standing exception is how a second failure hides. They were three of six; the other three are below. (CR-2026-166.)
> The inventory matters more than the zero. Lint now reports nothing. A zero standing over an unlabelled exception is the same defect as a green report standing over a known failure — so every exception is categorised, and the ones covering real defects carry the item that will fix them.
Twenty items, and grouping them is the point. Each is currently its own change request; taken in one or two passes they are perhaps two days. Ordered by how self-contained they are.
Single-line or near it. B-53 (a render's sequence number never arrives) · B-58 (a document whose header says it was never installed) · B-35 (a missing key reports a crash instead of a service being unavailable) · B-44 (things with titles displaying as untitled) · B-57 (a screen that appears to argue with itself) · B-26 (correct the record about door 3).
Small builds, one file or two. B-52 (an answer's sources vanish on refresh) · B-32 (no way to rebuild a summary the record has moved past) · B-36 (no way to retire a render) · B-37 (a failed production looks identical to a running one) · B-38 (one room still uses its own state handling instead of the shared one) · B-47 (credentials can only be issued through the interface) · B-54 (nothing requires a render to have a sequence number) · B-55 (a screen claiming something it cannot check) · B-56 (a development sign-in on the live perimeter).
Small but needing a decision first. B-45 (wrap the five stand-up commands, or leave them visible) · B-46 (where implementation notes should live) · B-51 (four components rebuilt on every change — and whether anyone loses anything is unread).
Scoping, not building. B-39 (agent identities invented and recorded) · B-40 (where contributed Markdown should route).
B-48. The engine has quality tooling it has never run. READY to scope — the largest of these. Two standard checkers are configured and shipped, neither has ever been run as a gate, and both report large backlogs. This is not a cleanup item. The question is what a gate ought to check, and the answer is unlikely to be everything currently reported. A rule that has never run has never been agreed to.
B-49. Nothing was checking anything. DONE. The engine's single check had never passed — not once since June — and the surface had none at all. A permanently-red check is worse than none, because it teaches everyone that red means nothing. Both repositories now check themselves on every push, and every gate was deliberately broken and observed failing before it was trusted. (CR-2026-167.)
> One thing to keep an eye on. The engine's suite takes about a quarter of an hour on a fresh machine. That is a real cost on every push, and if it grows it will start to be paid in people not waiting for it.
B-50. Building the surface is not the same as checking it. DONE. The build only inspects what the running application reaches, so the test tree was invisible to it — and that is where the errors were. All drift in test fixtures; none silenced with an exception.
B-16. Update the foundation document. DONE. See What just closed. The seed is at v0.14, committed.
B-17. The portfolio filter. READY. B-18. File the four protocol requirements. READY. B-19. Keep this list alive. IN PROGRESS.
B-25, B-27, B-28, B-29, B-41. DONE.
B-26. Correct the record about door 3. READY (small).
B-30. The trap that caused B-27. READY — small. Never repaired; only the broken door was removed. The test suite cannot see it.
B-31. The post-admission lifecycle investigation. READY to open. An investigation, not a build.
B-32. The re-derive button on the Manifestation screen. READY — small.
B-35. A missing key looks like a crash. READY — small.
B-36. A way to retire a render. READY — small.
B-37. Show when a shape's production has failed. READY — small (engine).
B-38. Bring the Rendering screen onto the shared contract. READY — small.
B-39. Ephemeral agent identities. READY to scope. B-40. Where contributed Markdown should go. READY to scope.
B-43. Walk the other way. READY — costed.
B-44. Things with titles displaying as untitled. READY — cosmetic, confirmed in two places. On a walk, a Shape's title comes back empty. And every shape in the Shaping room displays as "Untitled shape."
B-45. One command instead of five. READY — deliberately deferred.
B-46. Where documents live. READY to scope — small. Implementation notes land in the code repositories; the filing convention says documents live in the record. A session orienting from the record alone cannot find them.
B-47. The issuance screen for contributor credentials. READY — small. The whole pathway exists in the engine and no screen was built for it, deliberately, as a named follow-on.
B-51. Four components rebuilt on every change. READY to scope. What is unread decides the priority: whether any of the four holds something a user would notice losing — a scroll position, a selection, where the cursor is.
B-52. The sources vanish on reload. READY — small. The answer survives a refresh; its sources do not.
B-53. A render's sequence number never arrives. READY — small, and well diagnosed. The number is assigned correctly, was backfilled onto old records, and is declared all the way through — the list query simply never asks for the column. The code that reads it looks up a key that was never fetched and gets nothing back, which is indistinguishable from a record that genuinely has no number.
B-54. Nothing requires that number to exist. READY — small. The only rule prevents two from sharing one; nothing requires one at all.
B-55. The screen says "of its type" without knowing what type is. READY — small. An unverified claim, in a product whose posture is that claims should be checkable.
B-56. A development sign-in is reachable on the live perimeter. READY — small. It refuses correctly and nothing is exposed. But it offers something it cannot do.
B-57. A screen that appears to argue with itself. READY — cosmetic. One clause fixes it: the counter has moved, the content has not.
B-58. A superseded document still says it was never done. READY — trivial.
B-20. The marketing website. READY. B-22. Package Stele. WAITING (background). B-23. The security story. READY. B-24. Investor-visible FORAY. READY.
Restricted-visibility slices 2–3 · target-hosted visibility · protocol wire-format changes · OVA's remaining standalone role · cross-fund questions · the stray zip file in the record's working tree — every session reports it and leaves it alone; a one-line decision ends that · how many live records carry a fabricated author · whether playground_dev's schema matches what the chain now produces · whether a held shape whose job failed is ever cleaned up · how the universal commons should be searched — it grows with adoption rather than with work, and it is a different question from B-12.
Nothing. For the first time since this list was written.
Everything merged is running, deployed 2026-08-06 and verified in the product one item at a time.
Both questions are answered. Sources will appear on every answer a model writes, and not on answers the system assembles, because those already show their own material (Q-6: split). Confirming a Shape stays on the screen for now, and reopens after the Companion's other writes have been used (Q-7: defer).
B-12's unread fact is measured. The largest engagement anyone works in holds fifty-eight notes against a window of fifty. Raising a constant closes it for everything that exists — and the commons, which grows with adoption rather than with work, is parked as its own question.
The seed is current and committed at v0.14.
Two decisions sit on the queue and block nothing, unchanged: per-statement provenance, and whether a walk should use the event identifier. Neither has a deadline and neither stops anything.
Everything else proceeds without you.
DUNIN7 — Done In Seven LLC — Miami, Florida DUNIN7 — the build list — v0.29 — 2026-08-06