DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path current-status/current-status-manifest-v0_69-amendment-v0_1.md

Current-status manifest — v0.69 amendment instructions — v0.1

Document: current-status-manifest-v0_69-amendment-v0_1 Version: v0.1 (amendment-instruction document; the product is manifest v0.69) Date: 2026-06-28 For: Claude Code — apply these splices to current-status-manifest-v0_68.md and save the result as current-status-manifest-v0_69.md (add-new-file, never git mv — every manifest version is a standing sibling). Purpose: Absorb two arcs that landed after v0.68 (2026-06-19) and were never recorded: (1) the Companion add-side rework arc (last night, 2026-06-27/28), and (2) today's mobile Companion surface (2026-06-28). Both are now on live repos, SHAs verified against the repos (not the session summary).


Plain-language summary

The manifest stopped at v0.68 on 2026-06-19, recording the Stele extraction as the live front. Since then two more things shipped on the Companion/Operator-Layer side and were never written into the manifest: a rework of how the Companion captures spoken notes ("add-side"), and today's mobile Companion surface. This amendment brings the manifest current — recording what shipped, and honestly naming two gaps the add-side arc left (no completion record was written for it; the Operator-Layer half lives on the feat branch, now anchored by a tag).


How to apply

This is a splice list. Each item gives the target location in v0.68 and the exact text to insert or change. Apply in order, then update the version/date/header throughout (v0.68 → v0.69, date → 2026-06-28).


Splice 1 — Version, date, status header (top of file)

Change the three header lines:

The long Status: paragraph at the top of v0.68 is Stele-Phase-7-focused. Do not rewrite it. Prepend a new status sentence-block at the very front of the Status: value, before the existing "Stele Phase 7 is CLOSED…" text:

> Status: Working draft. Two Companion/Operator-Layer arcs absorbed in v0.69 (both shipped, SHAs verified against live repos): the add-side rework (Companion spoken-note capture) and the mobile Companion surface. Engine main at 5ccc3d7 (add-side Phases 1–4 merged; pushed, in sync). Operator Layer add-side half is the single commit 8bd73f2 (Phase 5 — held-card Dismiss), anchored by annotated tag add-side-rework-ol-v0_1, living on feat-companion-surface (not on main). The mobile Companion surface is on feat-companion-surface at dac9fec (pushed), built on top of 8bd73f2. Two residues named (§5): the add-side arc has no completion record; the OL add-side + mobile-Companion work is preserved on the feat branch only — no merge to main. [then the existing v0.68 status text continues unchanged: "Stele Phase 7 is CLOSED…"]


Splice 2 — §1 "Current live build front" — add a note that the live front has a second active strand

In §1, the "Current live build front" subsection opens "The Stele extraction is the current live build front." That remains true for the substrate. Add one paragraph at the END of that subsection (after the Stele content, before "### Loomworks engagement seed"):

> A second active strand — the Companion / Operator-Layer surface — also carries unabsorbed-until-v0.69 work. Parallel to the Stele substrate extraction, the Companion surface advanced on feat-companion-surface: the add-side rework (spoken-note capture, engine Phases 1–4 merged to main at 5ccc3d7; OL Phase 5 at 8bd73f2, tagged add-side-rework-ol-v0_1) and today's mobile Companion surface (dac9fec). This strand is frontend-and-responder work on the Operator Layer; the Stele strand is substrate. They are independent. The mobile Companion surface resolved the build-queue-v0.3 open gap ("mobile in-engagement transcript — confirm intended end state") and is recorded in §3 Entry 114; the add-side arc is Entry 113.


Splice 3 — §3 Entries — add Entry 113 and Entry 114

Insert these two entries at the end of Section 3 (after the last existing entry, before Section 4):


Entry 113 — Companion add-side rework (new v0.69; arc shipped 2026-06-27/28, absorbed late)

Provenance. Engine main 5ccc3d7 ("Merge add-side rework Phase 4 into main"; local == origin, pushed, no tag on the merge). Operator Layer 8bd73f2 ("Add-side rework Phase 5 — held-card Dismiss (+ Confirm) wired to discard/commit"), on feat-companion-surface, anchored by annotated tag add-side-rework-ol-v0_1 (added 2026-06-28 at absorption time). Governing CR: change-requests/loomworks-cr-add-side-rework-v0_1 (only version; no v0.2). SHAs verified against the live repos at absorption, not from the session summary.

Content. A six-phase rework of how the Companion captures a spoken/typed personal note (the "add side," paired with the earlier "remove side" matcher work). The arc:

Also shipped in the same session and recorded here for completeness (they preceded the numbered phases): the Companion truthfulness fix (engine 41704ef — removal actually retracts now; the success line is server-composed and gated on the real retraction, out of the LLM's reach; the invented "permanent erasure in settings" promise deleted) and the removal matcher robustness work (engine ed5b2b4 — stem normalization so "remove parking" finds "Parked on Level 13"; candidate-surfacing on a near-miss instead of flat-deny; the Fix-1 number disambiguation + confirm-before-retract preserved).

Standing notes added this session (record them under §2 when the next consolidation runs; named here): "The Companion must not claim what the system did not do" (success language gated on the engine's confirmed result, not scripted on intent) and "Merged is not deployed — restart dev after a runtime-affecting merge" (prompts cache in-process at first read; a merge does not update a running server).

The disposal-of-never-committed decision (recorded). Dismissing a held draft that was never committed discards cleanly — no retraction/correction record — because corrections-preserved applies to things that were in the record; a mis-transcription that never committed is noise, not a superseded fact. This is the discarded terminal state (distinct from retracted). The confirm-back simplification scoping note (loomworks-voice-entry-confirm-back-simplification-scoping-note-v0_1) was folded into this CR (its lean (a)), and is preserved as the decision-trail, not as an open queue item.

Trajectory worth recording. The CR's lesson, consistent with the project's standing discipline: success language and authority gates are structural, not scripted — the truthfulness fix and the move of the commit gate onto the human held-card are both instances of "correctness in code, not in the prompt/surface."

Build-quantitative summary. Engine Phases 1–4 merged to main (5ccc3d7), pushed. OL Phase 5 (8bd73f2) on feat-companion-surface, tagged. Suite green at ship (per the session record; not independently re-run at absorption).

Two residues (see §5). (1) No completion record was written for this arc — every other phase arc in the project has one; this is owed work, deliberately not backfilled at absorption time to avoid reconstructing a completion record from a summary rather than the live build. (2) The OL half is on feat-companion-surface only — not merged to main — now anchored by the add-side-rework-ol-v0_1 tag so it survives any branch lifecycle.


Entry 114 — Mobile Companion surface (new v0.69; built and pushed 2026-06-28)

Provenance. Operator Layer feat-companion-surface at dac9fec (pushed; 8bd73f2..dac9fec). Governing CR: change-requests/cr-mobile-companion-surface-v0_1 (record loomworks-record, commit 891ef15). Frontend only — no engine change, no migration. No tag (lives on the feat branch under the same not-yet-merged-to-main condition as the add-side OL work).

Content. The Companion becomes a readable, persistent fifth surface in the mobile swipe plane — slot 0, the default landing on entering an engagement — alongside the four rooms (Memory / Manifestation / Shaping / Rendering). Before, mobile had no way to read the Companion conversation; replies only flashed for five seconds in the hint line. The transcript bubbles (Operator turns, Companion turns, the voice-origin microphone glyph, per-bubble timestamps, suggested-action chips, upload-result cards) were extracted from the desktop ConversationPane into a shared ConversationTranscript component that both surfaces render — so provenance display (the build-queue-v0.3 cross-cutting conformance requirement) carries to mobile identically, for free. Both surfaces drive the same useConversation instance, so transcript, paging ("load earlier"), and message order are the same on mobile as desktop. The five-second hint flash is unchanged.

The structural decision (recorded). The Companion is added as a surface-index layer local to MobileSurface (slot 0 = Companion, slots 1–4 = the four rooms), wrapping the room model — NOT as a fifth ROOMS entry and NOT by widening the parent's RoomKey-typed activeRoom state. The alternative (widen activeRoom to RoomKey | "companion" in InEngagementSurface) was set aside: it pushes a non-room value into a room-typed contract across every consumer, contradicts "the Companion is not a room," and has a larger blast radius. The local-index approach kept the parent untouched except for two new downward props (messageOrder, companionName).

Build. Five steps, suite green at each, halt-before-push:

Decisions made at drafting (recorded). heldCount NOT introduced to the mobile transcript (matches desktop, which also threads 0 today; the build queue lists "no shared held-count source" as an open gap — both surfaces get it together when a source lands). The transcript bubbles extracted, not reimplemented (provenance carries; no drift). The Companion slot keeps MobileSurface's existing bottom bar (no second composer).

Build-quantitative summary. Final suite 443 passed / 83 files; tsc clean on changed files; vocabulary-wall clean. Files: ConversationTranscript.tsx (new), ConversationPane.tsx, MobileSurface.tsx, InEngagementSurface.tsx, strings.ts, tests/components/engagement/MobileSurface.test.tsx.

Position. Resolves the build-queue-v0.3 open gap "mobile in-engagement transcript — confirm intended end state." The queue's gap entry should be marked resolved (see the paired queue update, loomworks-companion-build-queue-v0_4 if produced, or a note on v0.3). Shares the same not-merged-to-main condition as the add-side OL work (§5).


Splice 4 — §4.A or §4 Carryover — add the queued Companion directions

Add a short block to Section 4 (under the carryover/new subsections, wherever queued-directions are tracked) naming the four Companion directions filed 2026-06-27/28, so they are visible as queued work, not lost:

> Queued Companion directions (filed 2026-06-27/28; scoping notes/investigation in loomworks-record). Four directions await deliberate pickup, none a loose end: > - Command/settings discoverability (loomworks-command-settings-discoverability-scoping-note-v0_1) — a "show settings" command + Preferences panel, plain-terms, generated from the real catalog (KNOWN_SETTINGS/_LABEL_TO_KEY). Lean: both, command-first. Do NOT fold into add-side. May share a catalog mechanism with the queued API-documentation effort. Full scoping needed. > - Conversation search (loomworks-conversation-search-scoping-note-v0_1) — find a past Companion exchange without re-asking; explicitly distinct from recall (recall searches committed assertions; this searches the message stream). Data already present (paginated keyset stream). Lean: deterministic text search first, engagement-scoped, results in place. Named dependency on the mobile Companion surface — now built (Entry 114), so the mobile-results dependency is cleared. > - Recordable facts & topic (loomworks-recordable-facts-and-topic-investigation-v0_1) — investigation, no CR implied. The "it is sunny" probe exposed two unsettled questions: durable vs. ephemeral facts (does the system distinguish them), and whether assertions should carry a topic so recall and removal work by subject not literal token/stem ("weather"↔"sunny" — which stemming cannot close). A design direction for the classifier/matcher/Memory-structure work; touches the thesis. Settle the design before any build. > - Confirm-back simplification (loomworks-voice-entry-confirm-back-simplification-scoping-note-v0_1) — CONSUMED: folded into the add-side CR (Entry 113). Kept as decision-trail, not open queue.


Splice 5 — §5 Open questions and known issues — add two residues

Add two items to Section 5:

> Add-side arc — no completion record. The Companion add-side rework (Entry 113) shipped — engine merged to main at 5ccc3d7, OL at 8bd73f2 (tagged) — but no completion record was written, where every other phase arc in the project has one. Owed work. Deliberately not backfilled at v0.69 absorption: a completion record written nine days late from the CR + session summary rather than the live build would reconstruct-from-summary, the exact thing the discipline warns against. If written, it should be grounded in the live engine/OL state, not the summary. > > OL Companion work preserved on the feat branch only — no merge to main. Both the OL add-side half (8bd73f2, tagged add-side-rework-ol-v0_1) and the mobile Companion surface (dac9fec, untagged) live on feat-companion-surface, not on Operator-Layer main (main tip bafdb07). They are pushed (origin carries the branch) and the add-side half is tag-anchored, so neither is at risk of loss — but the OL main does not yet carry this Companion work. The feat→main merge is a separate, unscheduled Operator decision. Until it happens, OL main and the live Companion surface diverge; this is deliberate (the feat branch is the integration line for the Companion-surface arc), named here so it is not mistaken for drift.


Splice 6 — Changelog — add the v0.69 entry at the top of the changelog list

Insert immediately after ## Changelog and before the - v0.68 line:

> - v0.69 (2026-06-28): Absorbs two Companion/Operator-Layer arcs that landed after v0.68 and were never recorded — SHAs verified against the live repos, not the session summary. (1) The Companion add-side rework (Entry 113) — six-phase rework of spoken-note capture: classifier recognizes command-shaped facts (F1); confirm-back dropped for an informative "Got it — X, held" ack with the commit gate moved onto the human held-card (seed-aligned); new discarded terminal state (append-only, human-gated, distinct from retracted, no migration) + held-card Dismiss; plus the same session's truthfulness fix (41704ef, removal actually retracts, server-composed success line) and matcher stem-normalization (ed5b2b4). Engine main 5ccc3d7 (Phases 1–4 merged, pushed); OL 8bd73f2 (Phase 5) on feat-companion-surface, now anchored by annotated tag add-side-rework-ol-v0_1. Two standing notes named for the next §2 consolidation ("the Companion must not claim what the system did not do"; "merged is not deployed — restart dev"). (2) The mobile Companion surface (Entry 114) — the Companion as a fifth swipe surface (slot 0, default landing) on mobile, rendering the same transcript the desktop pane renders via a shared ConversationTranscript extraction (provenance carries to mobile for free — the build-queue-v0.3 conformance check); five steps, suite 443/83, OL feat-companion-surface dac9fec (pushed); CR cr-mobile-companion-surface-v0_1 in the record. Resolves the build-queue-v0.3 "mobile in-engagement transcript — confirm intended end state" gap. Adds §3 Entries 113–114; §1 second-strand note; §4 queued Companion directions (discoverability, conversation-search, recordable-facts/topic, confirm-back-consumed); §5 two residues — the add-side arc has no completion record (owed, not backfilled to avoid reconstructing from a summary), and the OL Companion work is on the feat branch only, no merge to main (tag-anchored, not at risk, but OL main diverges). Stele state (Phase 7 CLOSED) carried forward from v0.68 unchanged. Otherwise carries v0.68 forward.


Splice 7 — Footer

Update the footer version/date line:

The tagline line ("The manifest is the absorption layer; the foundation document is the consolidation layer.") stays unchanged.


Verification checklist for CC after applying


DUNIN7 — Done In Seven LLC — Miami, Florida Current-status manifest — v0.69 amendment instructions — v0.1 — 2026-06-28 Splice list to turn v0.68 into v0.69: absorbs the add-side rework (Entry 113) and the mobile Companion surface (Entry 114), names two residues (no completion record; OL work on feat branch only). SHAs verified against live repos.