Version. 0.41
Date. 2026-05-12
Status. Working draft. Forty-first version. Records Phase 56 (Engagement Creation Surface — Voice Work) closed cleanly on 2026-05-12. Phase 56 voice-tuned the conversational engagement creation surface Phase 55 shipped, establishing plain-terms-discipline on a product surface and the discipline-plus-recovery principle that frames future affordance work. Phase 56: zero Operator-elective amendment cycles, zero halt-and-surface events, zero buffer-slot consumption (slots 7–8 unconsumed — seventh consecutive phase of unconsumed reserved slots), thirteen of thirteen acceptance gates green (gates 1–12 at Checkpoint B; gate 13 closed at tag-and-push). Substrate: engine 2,279 tests passed (+43 over v0.40; Δ +43 from Phase 56), 30 skipped (+4 — four calibration-gated tests skip in CI per P56-D7; pass with LOOMWORKS_RUN_CALIBRATION=1); Operator Layer 149 vitest (unchanged from v0.40 — banner-text revision was an in-place assertion update, no new vitest files needed), 30 test files (unchanged), 12 prerendered routes (unchanged). Alembic 0064 (no new migration consumed across Phase 56; seventh consecutive phase of typed-MemoryObject-without-migration; no MemoryObject added at Phase 56 — voice-only work). Marketing repo: untouched. Workshop repo: untouched. Phase 56 contributed five methodology findings (close handoff §5 items 1–5) — three from the scoping arc, two surfaced at build. Two named principles promoted at v0.41 absorption — branch-and-tag-name-collision refspec convention (single-instance but concrete convention shape; promoted on the kickoff prompt's "lean toward elevation" guidance given procedural specificity); Step 0 branch lifecycle (two-instance evidence: Phase 55 + Phase 56 step-0 branches both accumulate). Three candidates carry to v0.21 methodology consolidation — discipline-plus-recovery (single-instance, first instance shipped at Phase 56); gap-diagnosis-precedes-gap-implementation (single-instance); dialog-example-as-scoping-instrument sharpening (extends existing pattern). First production firing of the refined close protocol (handoff §10 item 11): local build branch + remote tracking branch both deleted at close on both engine and OL repos, with the branch-and-tag-name-collision friction encountered and resolved in-session via explicit refs/heads/ and refs/tags/ refspecs (now promoted to convention). Phase 57 carry-forward refined accordingly; Phase 57 recommendation per close handoff §9 is Phase 32 (marketing engagement through Phase 55/56's surface) as recommended-but-not-binding, with the explain-affordance investigation as a Phase 57+ candidate adjacent to mobile presence + quick-capture (voice-modality substrate overlap), Option C (Discovery-trajectory + Discovery-record render specialists) as alternate, and Option B (Phase 31 / Phase 53 unification verdict) still verdict-able with full evidence.
Purpose. To serve as a fresh chat's first orientation.
Scope. The DUNIN7 project and its Loomworks implementation.
This manifest is a current-status record, not a foundation. The foundation is what-dunin7-is-building-v0_20.md (2026-05-02). The manifest sits above it.
Before treating any document in project knowledge as authoritative, check this manifest first.
Three repos plus marketing. loomworks-engine (substrate), loomworks-ui (Workshop frontend), loomworks (Operator Layer frontend), and loomworks-marketing (marketing site, new at Phase 51). All on GitHub under DUNIN7/.
Local paths. /Users/dunin7/loomworks-engine (substrate), /Users/dunin7/loomworks-ui (Workshop), /Users/dunin7/loomworks (Operator Layer), /Users/dunin7/loomworks-marketing (marketing).
Unchanged from v0.40. DUNIN7/loomworks-engine, DUNIN7/loomworks-ui, DUNIN7/loomworks, DUNIN7/loomworks-marketing. All four exist.
Unchanged from v0.40. Current: what-dunin7-is-building-v0_20.md (2026-05-02). New for v0.41: Phase 56's five methodology contributions (two promotions to named principle — branch-and-tag-name-collision refspec convention; Step 0 branch lifecycle; three candidates carrying to v0.21 — discipline-plus-recovery, gap-diagnosis-precedes-gap-implementation, dialog-example-as-scoping-instrument sharpening). The methodology document does not yet reflect any of this or any prior phase's contributions. Draft material accumulating at methodology-v0_21-consolidation-draft-material-v0_1.md. The next consolidation pass to what-dunin7-is-building-v0_21.md is its own larger workstream and runs at its own pace, parallel to Phase 57 build, not blocking it. The manifest is the absorption layer; the methodology document is the consolidation layer. Consolidation pressure compounds: ten phases of unconsolidated build findings (Phase 47/48/49/50/51/52/53/54/55/56) plus the five-piece Discovery arc plus the investigation pair plus the resident-engagement vocabulary rehearsal plus the Phase 56 scoping arc's contributions. Worth scheduling soon.
Unchanged from v0.40. Current: candidate seed v0.9. Phase 56 introduced new vocabulary at the voice-discipline layer (voice principles document; plain-terms-discipline; discipline-plus-recovery; per-field elicitation prompts under prompts/intent_instructions/create_engagement/; persona-transcript calibration fixtures; calibration-gated tests; refined close protocol; branch-and-tag-name-collision refspec convention; Step 0 branch lifecycle). Recommendation continues from v0.40: defer the seed bump and revisit at manifest consolidation pace; not a Phase 57 blocker.
Unchanged from v0.40. Engagement creation arc product loop closed end-to-end through Phase 55. Phase 56 added voice-discipline polish to that surface. Phase 32 remains newly first-class actionable; Option B verdict still pending (no Phase 56 work changed it).
Updated for v0.41. Engine: 2,279 tests passed (+43 over v0.40 from Phase 56), 30 skipped (+4 from Phase 56 — four calibration-gated tests skip in CI per P56-D7; pass with LOOMWORKS_RUN_CALIBRATION=1). Alembic 0064 (no new migration consumed across Phase 56 — seventh consecutive phase of typed-MemoryObject-without-migration; Phase 56 added no MemoryObject subclass, no _ANCHOR_PRIORITY entry, no endpoint; the work was voice-content authoring plus a single substrate primitive — load_per_field_components loader at prompt_assets.py plus dispatcher splice at prompt.py:817).
Tags (engine). Unchanged from v0.40 plus: phase-56-conversational-creation-surface-voice at engine 0044e3b (annotated tag object 49457cb). Pushed to origin. Build-close hygiene at Phase 56: first production firing of the refined close protocol (handoff §10 item 11) — local build branch + remote tracking branch both deleted at close. phase-56-step-0 inspection branch remains local at engine repo (never pushed to origin; out of refined close-protocol scope; Operator-elective deletion or retention pending the Step 0 branch lifecycle decision now named in §2).
Tags (Operator Layer). Unchanged from v0.40 plus: phase-56-conversational-creation-surface-voice at OL 2cc0ebc (annotated tag object 2db3c88). Pushed to origin. Refined close protocol's first production firing applied here too: local build branch + remote tracking branch both deleted at close.
New substrate surfaces from Phase 56:
docs/voice-principles-v0_1.md (146 lines). Names plain-terms-discipline as the operative discipline for product-surface voice; names discipline-plus-recovery as the methodology-grade principle that frames future affordance work (the explain affordance being its first instance, scoped in loomworks-explain-affordance-investigation-v0_1.md). Forward-reference to the explain-affordance investigation embedded. This is a methodology artifact landing in the engine repo because it governs Companion-prompt authoring; future versions may relocate.prompts/intent_instructions/create_engagement/ (voice / constraints / success; 11 lines each). These author the missing elicitation prompts in plain language from the start — the additive coverage-expansion work Phase 56 v0.2 named after the Step 0 reshape from "vocabulary leak" to "coverage gap."load_per_field_components(stage). New loader at prompt_assets.py (+38 LOC; functional implementation ~10 LOC, docstring density matching existing loaders' convention per _read / load_persona / load_classifier_prompt / load_intent_instruction). Reads field components from the create_engagement/ directory.prompt.py:817. assemble_prompt()'s create_engagement_active branch reads operation_data["field_coverage"] (a map of {field_name: "covered" | "partial" | "missing"} populated by the active-template Companion-judgement at Step 3 authoring time) and splices in one missing-field component at a time (break-after-first; preserves one-question-at-a-time conversation discipline). Empty-state safe: no components in directory → loader returns {} → no splice, no error.tests/fixtures/voice-calibration/ plus test helper at tests/helpers/voice_calibration.py. Calibration tests gated on LOOMWORKS_RUN_CALIBRATION=1 per P56-D7 — skip in CI by default, pass locally with the env var set. Forward-looking persona discipline applied (manifest v0.40-era observation from Phase 56 scoping v0.2 V4 NARROWER): when calibration mechanism is persona-based and no existing variety exists to calibrate against, the discipline is forward-looking establishment, not measurement against present diversity.router.py recognizes both legacy and plain-terms terminal-turn phrasings. Phase 55 scaffolding (create_engagement_active.md, create_engagement_commit.md, intent_classifier.md taxonomy examples) revised in-place per the plain-terms-discipline.ChatView.tsx:254 banner string revised in-place; ChatView.test.tsx assertion update covers the regression. No new vitest file; the existing 2 banner-text assertions cover the regression.Unchanged from v0.40. 282 vitest (29 files), eslint 0 errors / 1 pre-existing warning, tsc/build clean. Phase 56 didn't touch the Workshop repo.
Updated for v0.41. 149 vitest passed (unchanged from v0.40 — Phase 56's OL slice was a single in-place banner-string revision; no new test files), 30 test files (unchanged), 12 prerendered routes (unchanged), eslint/tsc/build clean. Phase 56 OL phase-named tag phase-56-conversational-creation-surface-voice lands at OL 2cc0ebc (annotated 2db3c88). Second consecutive phase with OL phase-named tag (after Phase 55's first). The Phase 51 marker tag at e4c09e0 is unchanged; OL repo carries three phase-bearing tags now (Phase 51 marker; Phase 55; Phase 56).
Unchanged from v0.40. DUNIN7/loomworks-marketing. Astro project on Cloudflare Pages. Live at https://loomworks.doneinseven.com. Phase 56 didn't touch the marketing repo.
Marketing-site content observations held — three items continue to be held per v0.37 framing (room order rendered as Memory → Shaping → Rendering → Manifestation when canonical is Memory → Manifestation → Shaping → Rendering; Manifestation paired with "ships into the world" when that's Rendering's role; broader frame-level question about whether the marketing site should be talking about substrate vocabulary outward at all). Phase 56 didn't advance these. The Phase 57 recommendation (Phase 32 marketing engagement) may surface revisions to these as a byproduct of using Phase 55/56's surface on the marketing engagement itself.
Updated for v0.41. One new phase recorded:
loomworks-phase-56-step-0-inspection-brief-v0_1.md. Drafted by Claude.ai. V0 through V8 verifications.phase-56-step-0-findings-v0_1.md. CC's V0–V8 verifications absorbed. Engine repo docs/phase-impl-notes/. Filed on branch phase-56-step-0 at commit 3cc5a08 (never pushed; still local at close).loomworks-phase-56-scoping-note-v0_3.md. Active scoping. Adds discipline-plus-recovery principle scope; references the explain-affordance investigation as forward-looking companion artifact.loomworks-phase-56-cr-drafting-handoff-v0_1.md.phase-56-cr-conversational-creation-surface-voice-v0_2.md. CR-2026-080. Active CR. v0.1 → v0.2 absorbed four cross-check edits: (a) §3.1 close-protocol refinement (CC's framing was sharper than the original instruction — distinguished historical drift from going-forward discipline; absorbed verbatim); (b) §10 Step 6 close action extension (local + remote branch deletion); (c) §13 Post-CR state addition; (d) §10 Step 1 Operator-elective split note. No scoping-time amendments to v0.3 needed beyond these; no mid-build halt-surface events.loomworks-phase-56-scoping-arc-session-handoff-v0_1.md. Closes the scoping chat; carries six methodology candidates and four loose ends to v0.41 absorption.phase-56-conversational-creation-surface-voice — annotated tag on both engine (0044e3b annotated 49457cb) and Operator Layer (2cc0ebc annotated 2db3c88). Second consecutive phase with phase-named tag on both repos (Phase 55 was the first since Phase 51). CR-2026-080 v0.2 (one CR-drafting-time cross-check cycle producing v0.2; no further amendments). Zero halt-surface events. Reserved slots 7–8 unconsumed (seventh consecutive phase).All prior phase CRs and tags unchanged from v0.40.
Updated for v0.41. Queued directions document advanced through v0.11 (this absorption). loomworks-queued-directions-and-deferred-work-v0_11.md is current. v0.11 absorbs Phase 56 close: §1.1 (Engagement creation assistance pattern) current-state extends to note that voice-discipline is now applied to the surface (Phase 56's plain-terms-discipline plus per-field elicitation coverage plus persona-transcript calibration); §2.2 (Phase 32 marketing engagement) status unchanged at "newly first-class actionable" but Phase 57 candidacy now carries Phase 56-tuned surface as input; new entry §6.4 (Explain affordance for Companion comprehension recovery) added under Section 6's voice-modality adjacency, carrying the three candidate phase shapes from the investigation document (button-mode-first / wait-for-voice-modality / audible-first-via-lightweight-substrate); selection deferred to post-Phase-32 calibration evidence. Other v0.10 sections (3 through 12) unchanged.
New investigation document at v0.41 absorption: loomworks-explain-affordance-investigation-v0_1.md (project knowledge; produced during Phase 56 scoping arc; not a Phase 56 deliverable). First-instance evidence for the discipline-plus-recovery candidate principle. Scopes three candidate phase shapes for the affordance; selection deferred. Adjacent to mobile presence + quick-capture via voice-modality substrate overlap.
Other investigation documents unchanged from v0.40: the five-piece Discovery arc; credit/growth infrastructure scoping; deployment strategy v0.2; hosting cost analysis; white-label/multi-language analysis; upload pathway investigation; mobile-presence investigation; quick-capture engagement investigation v0.2; resident-engagement-investigation v0.2; structural-defensibility-investigation v0.1 + positioning v0.1.
Unchanged from v0.40. docs/phase-impl-notes/phase-54-implementation-notes-v0_2.md remains the Phase 54 build-record companion document. Phase 54 close session handoff at docs/phase-impl-notes/loomworks-phase-54-close-session-handoff-v0_1.md.
Unchanged from v0.40. docs/phase-impl-notes/phase-55-implementation-notes-v0_2.md remains the Phase 55 build-record companion document. Companion document phase-55-step-0-findings-v0_1.md. Halt-surface document phase-55-halt-surface-2026-05-11-step-3-cr-5_4-orchestration-v0_1.md. Phase 55 close session handoff at docs/phase-impl-notes/loomworks-phase-55-close-session-handoff-v0_1.md.
New for v0.41. Phase 56 didn't produce a dedicated phase-56-implementation-notes-v0_X.md companion file; the build was small enough (six active steps, zero halt-surface events) that the build summary was carried by the Phase 56 close session handoff directly. Filed at docs/phase-impl-notes/loomworks-phase-56-close-session-handoff-v0_1.md in the engine repo (commit at engine main be7fba5). The close session handoff carries: final state tables, six-step trajectory (Steps 0–6, zero halt events, four calibration-gated tests), refined close protocol first-instance evidence on both repos, branch-and-tag-name-collision refspec friction with explicit-refspec convention recommendation, discipline-plus-recovery first-instance evidence in the voice principles doc, carry-forward inventory (phase-56-step-0 local branch; 7 stale origin/phase-* refs continuing; explain affordance investigation), and the five methodology candidates.
Companion documents: phase-56-step-0-findings-v0_1.md (engine repo docs/phase-impl-notes/; on local branch phase-56-step-0 at 3cc5a08, never pushed). The voice principles document at docs/voice-principles-v0_1.md is itself a Phase 56 substantive artifact (not an impl note but a methodology-grade authoring deliverable).
No-mid-build-amendment-scoping observation extends to seven consecutive phases. Phase 49 had one Operator-elective amendment cycle (the canonical instance). Phases 50, 51, 52, 53, 54, 55, 56 each had zero amendment cycles. Phase 55 had one halt-surface event mid-build (Step 3 CR §5.4 orchestration), but it resolved in-session per the CR-execution boundary discipline rather than triggering an amendment cycle. Phase 56 had zero halt-surface events of any kind. The cadence holds; the substrate-friction-discipline-pattern stays available but has not been exercised since Phase 49. The CR-execution boundary has fired once (Phase 55 Step 3); it has not fired since.
Reserved-slot consumption — seventh consecutive zero-consumption phase. Slots 7–8 unconsumed at Phase 56 close. This makes seven consecutive phases (50, 51, 52, 53, 54, 55, 56) of zero reserved-slot consumption. The pattern is now strong enough that it should be considered structural rather than coincidental — scoping is catching the real shape of the work at v0.2 / v0.3 absorption time, not at build time. The reserved-slot-as-halt-condition-pre-commitment principle (promoted in v0.39 §2) continues to be honored without being triggered.
loomworks-phase-56-close-session-handoff-v0_1.md (2026-05-12; in project knowledge after upload) is the input to this v0.41 absorption. The scoping-arc session handoff loomworks-phase-56-scoping-arc-session-handoff-v0_1.md (2026-05-11) is the upstream input. Both jointly with this manifest plus queued directions v0.11 are sufficient for Phase 57 scoping orientation.
Sections unchanged from v0.40 are carried forward without repetition.
(None — v0.40's four open candidates were CR-drafting cross-function composition checks, Operator-probe-as-correction-mechanism, build-close hygiene includes branch deletion, and tag style annotated-not-lightweight. None has reached promotion threshold during Phase 56. The build-close hygiene candidate is closely related to Phase 56's new branch-and-tag-name-collision refspec convention — see "Sharpening" below — but the existing candidate framing is preserved as carrying to v0.21.)
Branch-and-tag-name-collision refspec convention — named principle on single-instance evidence promoted via concrete convention shape. The principle: all close-protocol git commands that touch refs sharing names between branches and tags must use explicit refs/heads/... and refs/tags/... refspecs by default — not as a workaround for the collision but as a convention that prevents it from being an issue. The collision is the expected pattern given the refined close protocol convention promoted at Phase 55 close (build branch named after the phase; tag named after the phase at close) — every future phase that adopts the convention will see the same collision. Default git refspec resolution treats this as ambiguous and fails push / push --delete / ls-remote operations with error: src refspec ... matches more than one. Phase 56 close encountered this and resolved in-session by using explicit refs/heads/... and refs/tags/... refspecs; the convention recommendation is to apply explicit refspecs by default rather than discovering the collision at every future close.
Promoted on the kickoff prompt's "lean toward elevation" guidance for candidates with concrete convention shape. Single-instance evidence at Phase 56 close but procedurally specific enough that the convention is actionable for Phase 57 close. Reusable as close-protocol discipline:
git push origin refs/heads/<branch-name> (not git push origin <branch-name>).git push origin :refs/heads/<branch-name> (not git push origin --delete <branch-name>).git push origin refs/tags/<tag-name> (not git push origin <tag-name>).git ls-remote origin 'refs/heads/<name>' and git ls-remote origin 'refs/tags/<name>' (separate invocations).
Phase 57 close adopts the convention. Refined close protocol full shape now: (1) build branch fast-forwarded to main; (2) main pushed to origin; (3) local build branch deleted; (4) remote build branch deleted via git push origin :refs/heads/<branch>; (5) local remote-tracking ref pruned via git remote prune origin. Steps (1)–(5) apply on both repos when both are touched.
Step 0 branch lifecycle — named principle on two-instance evidence. The principle: Step 0 inspection branches need an explicit lifecycle decision in the close protocol — either retain-and-tag or delete; currently they accumulate as quiet local-only ghosts. The refined close protocol (Phase 55 / Phase 56) scopes to build branches; Step 0 inspection branches (e.g., phase-56-step-0 in the engine repo) carry the Step 0 findings document into the repo's reflog history but aren't part of the build-branch close protocol. Two-instance evidence at v0.41 absorption: Phase 55's phase-55-step-0 and Phase 56's phase-56-step-0 branches both remain local at close, never pushed to origin, neither retained-by-policy nor deleted-by-policy. The lifecycle decision is small but recurring and worth deciding rather than leaving as quiet accumulation.
Three lifecycle options the close-protocol decision can take:
Option B is the current implicit state (both Phase 55 and Phase 56 left their step-0 branches local; the lack of decision is the decision so far). The principle names the decision-needed shape; the Operator picks A / B / C at v0.41 or carries it to a Phase 57+ close-protocol scoping pass. Reusable as close-protocol discipline regardless of which option lands: name the Step 0 branch lifecycle in the close-protocol checklist so it stops being an implicit decision-by-default.
Build-close hygiene — sharpened by the refined close-protocol's first production firing. v0.40 named the build-close-hygiene-includes-branch-deletion candidate after Phase 55's one-time backfill of 16 stale phase-* branches. Phase 56 added two refinements: (a) the refined close protocol's first production firing demonstrated the local + remote-branch deletion pair landing cleanly on both engine and OL repos; (b) the branch-and-tag-name-collision refspec convention (now promoted to named principle above) emerged as a necessary companion to the deletion step. The v0.40 candidate is sharpened — build-close hygiene now includes the full five-step refined close protocol with explicit refspecs. The candidate continues to v0.21 with sharpened framing; the Phase 56-promoted refspec convention covers the procedural specificity.
Discipline-plus-recovery first-instance evidence shipped at Phase 56 — sharpens future affordance framing. v0.40 didn't name discipline-plus-recovery; Phase 56 scoping arc named it as a candidate (close handoff §5 item 3). The principle: any UX discipline that reduces an incidence rate needs a recovery affordance for the irreducible residue. First-instance evidence shipped at Phase 56 — the voice principles document names plain-terms-discipline (which reduces the incidence of vocabulary-comprehension gaps) alongside the recovery affordance shape (the explain affordance — scoped in loomworks-explain-affordance-investigation-v0_1.md; not built at Phase 56; Phase 57+ candidate). The principle is single-instance at v0.41; carries to v0.21 as candidate. Generalizable to security defaults need override paths; structured fields need free-text escape hatches; canonical workflows need bypass affordances.
Three single-instance candidates carry to v0.21 per the elevation guidance (multiple-instance evidence threshold not yet met):
Discipline-plus-recovery (single instance; Phase 56 voice principles document). Plain-terms-discipline reduces vocabulary-comprehension gaps; the residue (irreducible comprehension gaps even with plain language) is the affordance-recovery surface. First instance: the explain affordance — scoped in loomworks-explain-affordance-investigation-v0_1.md; not built at Phase 56; Phase 57+ candidate. The principle carries to v0.21 as candidate. Anticipated generalizations: security defaults / override paths; structured fields / free-text escape; canonical workflows / bypass affordances; calibration-by-persona / Operator-correction loop. v0.21 will frame the generalization shape and the cardinality of recovery affordances per discipline.
Gap-diagnosis-precedes-gap-implementation (single instance; Phase 56 scoping arc). When a phase responds to a UX observation, Step 0 verifies the shape of the observed gap, not only the substrate touch surface. Phase 56's v0.1 → v0.2 → v0.3 trajectory was load-bearing: v0.1 diagnosed vocabulary leak (the dialog-example reshape); v0.2 Step 0 evidence reframed the gap as coverage expansion (Fields 3–5 not currently elicited); v0.3 named the comprehension-residue gap and the discipline-plus-recovery recovery surface. Each move was load-bearing; reversing any one would have produced an incorrect Phase 56 shape. The discipline: the scoping process should explicitly diagnose what kind of gap is present before proposing implementation. Generalizes to phase-shape choice (build vs replace vs add-surface vs deprecate). v0.21 will frame the discipline's relationship to the lens-bounded-scoping-evidence-cascade principle (manifest v0.38 §2; v0.40 sharpened to include build-time enumeration aperture).
Dialog-example-as-scoping-instrument sharpening (extends existing pattern; Phase 56 v0.1 scoping note). The v0.1 scoping rooted its diagnosis in a dialog example (the Companion saying "what is the voice / what are the constraints" to a hypothetical first-time Operator). The example surfaced the original vocabulary-leak hypothesis even though Step 0 evidence later reframed the gap. The dialog example was still load-bearing: without it the v0.1 scoping wouldn't have opened. Sharpening: dialog examples are scoping instruments — they don't need to be empirically correct; they need to be productively wrong-enough-to-probe. Sharpening of the v0.39 §2 patterns (scoping-time enumeration; substrate-evidence-can-re-rationalize-selection) — the dialog example is the scoping-time probe that surfaces what enumeration alone can miss. v0.21 will frame the discipline relationship.
Entries unchanged from v0.40 are carried forward without repetition.
Provenance. Phase 56 execution, 2026-05-12. CR-2026-080 v0.2 (v0.1 → v0.2 cross-check absorbed four edits per the scoping-arc cross-check turn; no further amendments). Zero Operator-elective amendment cycles. Zero halt-surface events. Zero buffer-slot consumption (slots 7–8 unconsumed — seventh consecutive phase). Thirteen acceptance-gate items: gates 1–12 green at Checkpoint B; gate 13 (tags pushed to both origins + close protocol) closed at refined-close-protocol first firing. Tag phase-56-conversational-creation-surface-voice on both engine and Operator Layer repos. Engine 0044e3b (annotated 49457cb); OL 2cc0ebc (annotated 2db3c88). Second consecutive phase with phase-named tag on both repos (after Phase 55). All Phase 56 build branches deleted at close on both repos via the refined close protocol (local + remote); the branch-and-tag-name-collision friction was resolved in-session via explicit refspecs.
Content. Voice work on the conversational engagement creation surface Phase 55 shipped. Phase 56 was voice-content-heavy and substrate-light: most of the work was authoring (per-field elicitation prompts; voice principles document; persona calibration transcripts); the substrate code-edits were minimal (~60 LOC across two engine files; ~3 changed lines on the Operator Layer side). The discipline contribution outweighs the line-count: Phase 56 established plain-terms-discipline on a product surface as a methodology; named the discipline-plus-recovery principle that frames future affordance work (the explain affordance being its first instance, scoped but not built); and laid the calibration-by-persona-transcript pattern that subsequent voice-tune phases inherit.
The voice work has two halves: (a) vocabulary discipline — voice principles document names plain-terms-discipline; per-field elicitation prompts authored in plain language from the start (additive coverage-expansion per the v0.1 → v0.2 reshape, not vocabulary-replacement on existing prompts); Phase 55 scaffolding revised in-place; OL banner string revised in-place; matcher token-set extension recognizes both legacy and plain-terms terminal-turn phrasings; (b) calibration discipline — three persona transcripts at tests/fixtures/voice-calibration/ plus test helper; calibration tests gated on LOOMWORKS_RUN_CALIBRATION=1 per P56-D7 (skip in CI; pass locally with env var set); persona authorship under the forward-looking persona discipline (no existing variety to calibrate against — personas establish forward-looking variety rather than measure against present diversity).
Substrate surfaces shipped (engine): voice principles document at docs/voice-principles-v0_1.md; three per-field elicitation prompts under prompts/intent_instructions/create_engagement/ (voice / constraints / success); load_per_field_components(stage) loader at prompt_assets.py (+38 LOC); dispatcher splice at prompt.py:817 (+22 LOC at the create_engagement_active branch); matcher token-set extension in router.py; Phase 55 scaffolding revisions (create_engagement_active.md, create_engagement_commit.md, intent_classifier.md); three persona transcripts and test helper at tests/fixtures/voice-calibration/ and tests/helpers/voice_calibration.py; tests/test_phase_56_conversational_creation_surface_voice.py. No new IntentLabel; no new MemoryObject; no _ANCHOR_PRIORITY entry; no Alembic migration. Substrate surfaces shipped (Operator Layer): ChatView.tsx:254 banner string revised in-place; ChatView.test.tsx assertion update. No new prerendered routes; no new vitest files.
This phase closes the engagement creation arc's voice-discipline polish — the Phase 53 + 54 + 55 product loop is now voice-tuned at the conversational surface. Phase 32 remains the natural first real use of the now-voice-tuned surface; the explain-affordance investigation v0.1 is Phase 57+ candidate that the Phase 56 work newly enables.
Five methodology contributions for absorption. Two new named principles (branch-and-tag-name-collision refspec convention promoted on concrete-convention-shape grounds; Step 0 branch lifecycle promoted on two-instance evidence: Phase 55 + Phase 56). Three single-instance v0.21 candidates (discipline-plus-recovery; gap-diagnosis-precedes-gap-implementation; dialog-example-as-scoping-instrument sharpening).
Trajectory worth recording. Phase 49 had one Operator-elective amendment cycle (the canonical instance of substrate-friction-discipline-pattern). Phases 50, 51, 52, 53, 54, 55, 56 each had zero amendment cycles — seven consecutive phases of scoping-time-pre-emption clean. Phase 55 added one halt-surface event mid-build (first active CR-execution-boundary firing); Phase 56 had zero halt-surface events. Reserved-slot consumption: seventh consecutive zero-consumption phase. Reserved-slot-as-halt-condition-pre-commitment (v0.39 named principle) honored without being triggered. The cadence is now strong enough that the no-mid-build-amendment pattern should be considered structural — scoping at v0.2 / v0.3 is catching the real shape of the work consistently.
The v0.1 → v0.2 → v0.3 scoping trajectory is methodologically significant. v0.1 diagnosed vocabulary leak via dialog-example reshape; v0.2 Step 0 evidence reframed the gap as coverage expansion (work category shifted from revisional to additive while higher-level selection held); v0.3 named the comprehension-residue gap and added the discipline-plus-recovery principle scope plus the forward-looking explain-affordance investigation reference. This surfaced three methodology pieces at once: (a) gap-diagnosis-precedes-gap-implementation candidate (v0.21); (b) dialog-example-as-scoping-instrument sharpening (v0.21); (c) discipline-plus-recovery candidate with first-instance evidence shipped (v0.21). This is the fourth instance of substrate-evidence-can-re-rationalize-selection (after Phase 54, Phase 53, Phase 55); Phase 56's v0.1 → v0.2 work-category shift while higher-level selection held adds further evidence. Frequency at four instances now strongly supports the v0.40 §2 framing's "load-bearing principle" framing.
The CR-drafting cross-check turn produced a second small evidence point for instruction-refinement-during-absorption (extends recursive-verification-discipline): CC's §3.1 framing refinement during v0.1 → v0.2 absorption was sharper than the original edit instruction (distinguished historical drift from going-forward discipline). The absorbing agent retains judgment over how to land an edit, not only whether to apply it. Single-instance at Phase 56; carries to v0.21 as a minor candidate refinement of recursive-verification-discipline.
Build-quantitative summary. ~2.5–4 hours estimated per scoping v0.3 §6; CC's elapsed wall time within range (Step 1: ~30 min; Step 2: ~25 min; Step 3: ~40 min; Step 4: ~50 min; Step 5: ~45 min; close: ~15 min). 43 new always-run substrate tests + 4 calibration-gated = 47 instances vs CR §17 estimate of ~11–19 distinct functions (17 distinct functions actual; within range — the +24 expansion above the upper test-count bound is parametrized matcher cases at Step 4 × 22 parametrized × 1 function). 0 new OL vitest files vs CR estimate of ~1–2 (banner-text revision was in-place assertion update; no new file needed). No backward-compat regressions surfaced against Phases 16/25/31/42/43/46/53/54/55. Build-close hygiene event: refined close protocol's first production firing on both engine and OL repos; branch-and-tag-name-collision friction resolved in-session.
Residues unchanged from v0.40 are carried forward without repetition.
Phase 45 OVA-spec scope sharpening — watch-this. Carries forward. Phase 56 added no new pressure on Phase 45 itself. Watch-this remains.
The "skills" terminology three-way distinction is unsettled vocabulary. Carries forward. Phase 56 didn't touch this. Worth nailing before the next methodology consolidation pass. Phase 57 candidate Option C (Discovery-trajectory + Discovery-record render specialists) would press on this further if selected.
Cross-Operator stewardship of promoted fragments — open question. Carries forward. Phase 56 made no progress here.
Operator content authoring — soft deadline before alpha exhaustion in production. Carries forward. Phase 56 added the voice principles document (methodology-grade authoring, not user-content authoring); three per-field elicitation prompts (Companion-prompt voice templates, not user-content voice templates); three persona transcripts (calibration material, not user-content). The marketing-page content observations from Phase 52 close-out continue to be part of this iteration track. If Phase 57 selects Phase 32 (marketing engagement through Phase 55/56's surface), the marketing-engagement content authoring will compound with this track.
Voice tuning iterations — ongoing Operator work, not amendments. Carries forward. Phase 56 added voice principles + per-field elicitation prompts + persona transcripts; Phase 55's three conversational-flow prompt components and the five prior voice templates remain on the iteration surface. Iteration that lands after Phase 56 tag is ongoing Operator work, not a phase amendment.
Loomworks engagement seed bump consideration — defer. Carries forward. Phase 56 introduced new vocabulary at the voice-discipline layer (plain-terms-discipline, discipline-plus-recovery, voice principles, per-field elicitation, persona calibration, refined close protocol with explicit refspecs, Step 0 branch lifecycle). Recommendation continues: defer the seed bump and revisit at manifest consolidation pace.
Methodology v0.21 consolidation outstanding. Carries forward and extends. The backlog now includes Phase 47/48/49/50/51/52/53/54/55/56 build findings + the five-piece Discovery arc + the investigation pair + the resident-engagement-investigation v0.2 vocabulary rehearsal + Phase 56's contributions (two promotions + three v0.21 candidates) + the explain-affordance investigation v0.1 + the instruction-refinement-during-absorption minor candidate. Draft material at methodology-v0_21-consolidation-draft-material-v0_1.md. Runs parallel to Phase 57 build, not blocking it. Pressure now compounds noticeably: v0.20 of what-dunin7-is-building was filed 2026-05-02; ten days have passed with substantial unconsolidated material across ten consecutive phases. Worth scheduling the v0.21 consolidation pass before Phase 60.
Engineering-capacity decision trigger — watch-this. Carries forward. Phase 56 closed the engagement creation arc's voice-discipline polish; the multi-instance fleet / mobile-presence / quick-capture / explain-affordance trio (now quartet with explain-affordance added) remains queued. Phase 57+ pacing window when mobile / quick-capture / voice-modality domain surfaces. No progress in Phase 56; voice work dominated.
Engine deployment via M4 tunnel — operational-track residue, watch-this. Carries forward unchanged. api.loomworks.dunin7.com still terminates at Forge per the Phase 52 close-out screenshot evidence; tunnel + DNS alive, endpoint mapping not landed. Phase 52 gate 7 still deferred-until-deployment. Phase 56 didn't move this; the substrate work was engine + OL without depending on engine production deployment. Phase 57 candidate Phase 32 (marketing engagement) would press on this if the marketing engagement's external email/form surfaces need production-deployed engine.
Marketing-site content observations held — three items. Carries forward unchanged. Phase 56 didn't touch marketing. If Phase 57 selects Phase 32, these observations get revisited as part of the marketing engagement's content authoring.
Phase 56 carry-forward — refined Phase 56 §4 carry-forward absorbed into the Phase 57 carry-forward. v0.40 §4 named the Phase 56 carry-forward as a refined 23-item list from v0.39. Phase 56 closed cleanly without consuming further items beyond the Phase 56 voice work itself (the option from v0.40 §4 that became Phase 56). The Phase 57 carry-forward now inherits.
Phase 56 voice work — closed. Phase 56 shipped. The conversational engagement creation surface is now voice-tuned with plain-terms-discipline applied; per-field elicitation coverage in place for voice / constraints / success Fields 3–5; persona-transcript calibration fixtures and gated tests landed; refined close protocol first-firing complete. v0.11 queued directions §1.1 current-state extends to reflect this; the option from v0.40 §4 carry-forward (Phase 56 voice work) is removed from carry-forward. Closed.
Build-close hygiene candidate — sharpened, not closed. v0.40's build-close-hygiene candidate carries to v0.21 with sharpened framing per the §2 "Sharpening of existing principles" note above. The Phase 56-promoted branch-and-tag-name-collision refspec convention covers the procedural specificity at Section 2 level; the broader build-close hygiene candidate remains a v0.21 candidate. Not closed at v0.41.
Phase 57 carry-forward — refined from v0.40 §4. One item closed (Phase 56 voice work — the option that became Phase 56), several items added (the three v0.21 candidates from Phase 56 scoping arc; the two refinement notes; the explain-affordance investigation v0.1 newly enabled; the phase-56-step-0 local branch as Step 0 branch lifecycle decision pending; the 7 stale origin/phase-* refs continuing). The refined Phase 57 carry-forward shape mirrors v0.40 §4's clustering:
OBJECT_TYPE_REGISTRY entry for discovery_to_seed_extracted (deferred per Phase 50/52 precedent); structured Memory-shape Discovery input (P53-D2 path (b)); live-LLM end-to-end integration test cadence; Phase 32 marketing engagement (newly first-class actionable per Phase 55 surface availability; voice-tuned per Phase 56 close); Option B (Phase 31 / Phase 53 unification verdict — newly verdict-able with full end-to-end evidence); split draft_engagement refactor; raw-Markdown variant of extract_discovery_to_seed_skill.loomworks-explain-affordance-investigation-v0_1.md; three candidate phase shapes (button-mode-first / wait-for-voice-modality / audible-first-via-lightweight-substrate); adjacent to mobile presence + quick-capture via voice-modality substrate overlap; selection deferred to post-Phase-32 calibration evidence; wired into queued directions v0.11 §6.4.create_project.md plain-terms revision for the older Phase 31 creation path (V2 Step 0 evidence: SURFACED-TO-OPERATOR "constraints" leak in the older creation path; out of Phase 56 scope per scoping v0.3 §"What Phase 56 does NOT deliver"). Phase 57+ candidate.phase-56-step-0 local branch (Step 0 branch lifecycle decision pending — Option A / B / C per §2; default-by-inaction is Option B); 7 stale origin/phase-* refs on engine origin (V0 DRIFT from pre-Phase-55 backfill; out of scope for Phase 56 close per scoping v0.3 §3; separate Operator-elective cleanup); instruction-refinement-during-absorption minor candidate (extends recursive-verification-discipline; carries to v0.21).
Phase 57's strongest shape candidate per close handoff §9 is Phase 32 — the Loomworks marketing engagement, created through the now-voice-tuned Phase 55/56 surface. Reasoning carries from v0.40 §4 with one Phase 56-specific addition: the marketing engagement creation now has voice-discipline polish to surface real-use comprehension-gap evidence (the persona transcripts at tests/fixtures/voice-calibration/ are a starting point; Phase 32 surfaces the first real-Operator evidence at scale; that evidence informs which explain-affordance candidate shape fits). Alternative — Option C (Discovery-trajectory + Discovery-record render specialists) — unchanged from v0.40. Alternative — explain-affordance investigation as first-line Phase 57 — also a candidate if the Operator wants to ship the recovery affordance ahead of Phase 32; less likely given Phase 32's now-ready posture. Either of the three is defensible; recommendation is not binding.
Process gap recorded: refined close protocol's first production firing surfaced the branch-and-tag-name-collision friction. The friction was anticipated by neither v0.40 nor the Phase 56 scoping arc; CC encountered it at Step 6 close and resolved in-session via explicit refspecs. The convention (now named in §2 above) prevents future close-protocol firings from re-discovering it. Recorded here as the surfacing event; future Phase 57+ closes apply the explicit-refspec convention by default.
Process gap recorded: Step 0 branch lifecycle accumulates as quiet local-only ghosts. Two phases (Phase 55, Phase 56) have left their step-0 branches local at close without explicit decision. The principle (now named in §2 above) names the decision-needed shape; the Operator picks A / B / C at v0.41 or carries the decision to a Phase 57+ close-protocol scoping pass.
Five methodology contributions newly load-bearing at v0.41 absorption. Per the kickoff prompt's elevation guidance: two promotions (branch-and-tag-name-collision refspec convention — concrete-convention-shape grounds; Step 0 branch lifecycle — two-instance evidence), three candidates carrying to v0.21 (discipline-plus-recovery; gap-diagnosis-precedes-gap-implementation; dialog-example-as-scoping-instrument sharpening). The v0.21 backlog now includes Phase 56's three single-instance candidates alongside Phase 55's four v0.21 candidates and the prior backlog. Plus one minor candidate (instruction-refinement-during-absorption extension of recursive-verification-discipline) carrying alongside.
Completion plan:
| Phase | What | Status |
|-------|------|--------|
| ... | ... | ... |
| 49 | Companion Intelligence + bimodal dispatch + closed-loop audit trail | Tagged. Arc 3 Companion-half completion. Six methodology findings. One Operator-elective amendment cycle. |
| 50 | Companion-as-Authority + public credit-request form (engine half) + asset_id override | Tagged. First delivery-class build instance of proposer/committer pattern. Five methodology findings. Zero amendment cycles. |
| 51 | Marketing Site + Companion-Driven Email + Phase 45 E2E Tests | Tagged on three repos. First three-repo phase. Marketing site live. Five methodology findings. Zero amendment cycles. |
| 52 | Jurisdiction Routing | Tagged on engine repo only. Smallest substrate phase since credit arc. Five methodology contributions. Zero amendment cycles. |
| 53 | Discovery-to-Seed Skill | Tagged on engine repo only. Opens engagement creation arc. Five methodology contributions. Zero amendment cycles. Fourth consecutive phase of unconsumed reserved slots. |
| 54 | Companion-Routed Commit | Tagged on engine repo only. Engagement creation arc terminal symmetry. Four methodology principles + reserved-slot promotion + friction-discipline-pattern-family promotion. Zero amendment cycles. Fifth consecutive phase of unconsumed reserved slots. |
| 55 | Engagement Creation Assistance — Conversational Surface | Tagged on engine + Operator Layer (first phase-named tag on both since Phase 51). Engagement creation arc product loop closed end-to-end. Eight methodology contributions (one promotion + one sharpening + one amplification + one first-firing + four candidates). Zero amendment cycles. One halt-surface event resolved in-session (first active firing of CR-execution boundary). Sixth consecutive phase of unconsumed reserved slots. Build-close hygiene one-time backfill (16 stale phase-* branches swept). |
| 56 | Engagement Creation Surface — Voice Work | Tagged on engine + Operator Layer (second consecutive phase with both). Voice-discipline polish on the engagement creation surface. Five methodology contributions (two promotions — branch-and-tag-name-collision refspec convention, Step 0 branch lifecycle; three v0.21 candidates — discipline-plus-recovery, gap-diagnosis-precedes-gap-implementation, dialog-example-as-scoping-instrument). Zero amendment cycles. Zero halt-surface events. Seventh consecutive phase of unconsumed reserved slots. First production firing of refined close protocol (local + remote branch deletion). |
| 57 | Phase 57 — scope TBD | Next. Scoping pending. Refined Phase 57 carry-forward from v0.40 §4 (minus Phase 56 voice work option, plus Phase 56-surfaced items per v0.41 §4). Strongest candidate: Phase 32 (marketing engagement through Phase 55/56's surface) per close handoff §9. Alternates: Option C (Discovery-trajectory + Discovery-record render specialists); explain-affordance investigation (Phase 57+ candidate). Recommendation not binding. |
v0.1 through v0.30. See v0.30 changelog.
v0.31 (2026-05-06). See v0.31 changelog.
v0.32 (2026-05-06). See v0.32 changelog.
v0.33 (2026-05-07). Absorbed Phase 47 (Credit Substrate Foundation).
v0.34 (2026-05-08). Absorbed Phase 48 (Credit Completion and Operator Sign-In) and the five-piece Discovery arc.
v0.35 (2026-05-08, evening). Absorbed Phase 49 (Companion Intelligence). Eight new Section 2 principles. Entry 91 added.
v0.36 (2026-05-09). Absorbed Phase 50 (Companion-as-Authority + public credit-request form, engine half + conversion-credit asset_id Operator override) and the parallel investigation pair.
v0.37 (2026-05-10). Absorbed Phase 51 (Marketing Site, Companion-Driven Email, Phase 45 E2E Tests) and Phase 52 (Jurisdiction Routing).
v0.38 (2026-05-10). Absorbed Phase 53 (Discovery-to-Seed Skill) and opened the engagement creation arc.
v0.39 (2026-05-10/11). Absorbed Phase 54 (Companion-Routed Commit). Engagement creation arc terminal symmetry. Two Section-2 promotions (reserved-slot-as-halt-condition-pre-commitment reformulation; friction-discipline-pattern-family with four named boundary instances). Four new build principles. Entry 96 added.
v0.40 (2026-05-11). Absorbed Phase 55 (Engagement Creation Assistance — Conversational Surface). Engagement creation arc product loop closed end-to-end. Eight methodology contributions: one promotion (inherit prior-phase cost decisions; two-instance), one sharpening (lens-bounded scoping evidence cascade extends to build-time enumeration aperture; six-instance), one third-instance amplification (substrate-evidence-can-re-rationalize-selection), one first-firing-record (CR-execution boundary), four v0.21 candidates. Entry 97 added.
v0.41 (2026-05-12). Absorbs Phase 56 (Engagement Creation Surface — Voice Work) and applies voice-discipline polish on the engagement creation surface:
phase-56-conversational-creation-surface-voice on engine + Operator Layer (engine 0044e3b annotated 49457cb; OL 2cc0ebc annotated 2db3c88). CR-2026-080 v0.2 (v0.1 → v0.2 cross-check absorbed four edits; no further amendments). Zero Operator-elective amendment cycles. Zero halt-surface events. Zero buffer-slot consumption (seventh consecutive phase). Thirteen acceptance-gate items: gates 1–12 green at Checkpoint B; gate 13 closed at refined-close-protocol first firing. Engine: +43 tests over v0.40 always-run + 4 calibration-gated = +47 instances; 30 skipped (+4 from calibration gating). OL: 149 vitest unchanged (in-place banner-string revision; no new test files); 30 test files; 12 prerendered routes (all unchanged). Alembic 0064 (seventh consecutive phase of typed-MemoryObject-without-migration). First production firing of the refined close protocol (local + remote branch deletion on both engine and OL repos via explicit refspecs).load_per_field_components loader; dispatcher splice at prompt.py:817; calibration discipline with persona transcripts and gated tests; terminal-turn affordance and Phase 55 scaffolding revisions; OL banner revision). Phase CRs and tags (Phase 56 added with v0.1 → v0.2 cross-check cycle and refined-close-protocol first firing). Investigation documents (queued directions v0.10 → v0.11 absorbed; explain-affordance investigation v0.1 newly listed). Phase 56 implementation notes subsection added (close session handoff is the build-summary surrogate for this small phase). Session handoff entry. No-mid-build-amendment-scoping observation extends to seven consecutive phases.discipline-plus-recovery first instance shipped at Phase 56 in the voice principles document (the explain affordance as Phase 57+ candidate is its built-out form). Three single-instance methodology candidates carry to v0.21: discipline-plus-recovery; gap-diagnosis-precedes-gap-implementation; dialog-example-as-scoping-instrument sharpening. Plus one minor candidate (instruction-refinement-during-absorption) extending recursive-verification-discipline. Fourth instance of substrate-evidence-can-re-rationalize-selection recorded (Phase 54, Phase 53, Phase 55, Phase 56) — frequency at four instances strongly supports v0.40 §2 "load-bearing principle" framing.DUNIN7 — Done In Seven LLC — Miami, Florida Current status manifest — v0.41 — 2026-05-12