Version. 0.1
Date. 2026-07-28
Author. Claude Code on DUNIN7-M4. Operator: Marvin Percival.
Status. Status compilation. Read-only against the record and the five repos; no code executed, no builds run, nothing modified outside this document.
Method. Compiled from the record and from live repository state, not from any prior chat's summary. Where the record and the repos disagree, the repos win and the disagreement is named.
Home. current-status/ — the record has no status-reports/; current-status/ is where the live orientation artifacts live.
Five fronts are live, and they are in very different conditions.
The graph line just closed its first stage and is the cleanest thing in the picture: CR-2026-154 merged this morning, tagged, with the full paper trail filed. Stages 2 through 4 are scoped in the strategy and unstarted.
Stele has quietly finished. The two Operator decisions the orientation pack calls the live gate — the license and how testers get access — are both resolved and shipped: the repo is public, Apache-2.0 licensed, and has released three versions past what the record describes. Nobody appears to have written that down. The record still reads as though Stele is blocked on a legal decision it made three weeks ago.
The Companion front has stalled without being closed. Its four approved mockups all shipped, but every one of the four queued build items — list-loading pagination, folder upload, conversation search, command/settings discoverability — is exactly where the build queue left it on 2026-06-28. Nothing on that queue has moved in a month. The engine has moved 106 commits in the same period, all of it on other fronts.
One piece of work exists on this machine only. The Operator Layer is sitting on feat/foray-sales-generator — ten commits, most recent 2026-07-22, never pushed to origin. If this laptop fails, that work is gone. It is the single most urgent item in this report, and it is urgent for a reason that has nothing to do with priority.
The record's own orientation is a month stale. The current-status manifest is at v0.72, dated 2026-06-28. Since then: the entire three-stage perimeter arc, an authentication-bypass incident and its closure, the sales-generator relocation, roughly thirty change requests, and the graph arc. A fresh chat told to read the manifest first would be oriented to a build state that no longer exists.
Two smaller things worth knowing. The API reference has not been regenerated in 106 commits, and the freshness check that would catch that is not in the test suite — so it drifts silently. And the engine's test suite is not green, held off it by a single Stele router-mount failure that every change request now waives.
Measured 2026-07-28 after git fetch --prune on each.
| Repo | Branch | HEAD | Last commit | Sync |
|---|---|---|---|---|
| loomworks-engine | main | 355fe7a | 2026-07-28 | in sync; uv.lock modified, unstaged |
| loomworks (Operator Layer) | feat/foray-sales-generator | 8c5ec15 | 2026-07-22 | 10 commits NOT on origin |
| loomworks main | — | 99f7f64 | — | in sync with origin |
| loomworks-ui (Workshop) | main | 9521694 | 2026-06-24 | in sync; intentionally frozen |
| stele | main | 689de41 | 2026-07-18 | in sync; tagged v0.4.0 |
| loomworks-marketing | cr-2026-152-sales-perspective-spike | 1735b6f | 2026-07-17 | pushed; 13 ahead of main (119232e) |
Engine baseline. Suite 3408 passed / 68 skipped / 1 failed; alembic head 0101, single head; latest tag graph-hygiene-v0_1 → 355fe7a. The one failure is tests/test_stele_router_mount.py::test_stele_router_mounts_and_begin_resolves_end_to_end — deterministic, pre-existing, waived (§2.3).
Manifest divergence. current-status-manifest-v0_72 (2026-06-28) records engine main at 0b2c232 and OL main at b107290. Both have since advanced substantially — the engine by 106 commits. The manifest is the record's designated first-orientation document and is a month behind. Named here as the report's most consequential record-hygiene finding.
Per the build queue v0.4 (current-status/loomworks-companion-build-queue-v0_4.md, 2026-06-28), all eight landed items are on OL feat-companion-surface, merged to OL main at 3f2fca8:
| Mockup | Surface | State | |---|---|---| | 1 & 2 | In-engagement, responsive (desktop dual-pane + mobile single-column) | Delivered | | 3 & 4 | Across-engagements home (three visibility zones, three lenses) | Delivered |
Also landed alongside: integration foundation, type scale (reading-role floor only), file upload restore (single/multi — folder not surfaced), dev tunnel fix, nav loop, and the mobile Companion surface as a fifth swipe surface (slot 0, default landing).
Beyond the mockups, the engagement create stage completed as a three-door design (manifest Entries 117–118): door 1 "talk it through", door 2 "I'll tell you", door 3 "here's my specification" — each a thin engine seam over an untouched compose→commit spine, each live-verified to the WebAuthn gate. The browser passkey-commit remains the one pending real-world acceptance step across all three doors — a passkey tap is the Operator's and is unreachable headlessly.
| # | Item | Queue state (2026-06-28) | State now |
|---|---|---|---|
| 1 | List-loading pattern (cross-cutting pagination) | "Scope next" | Partially delivered, not closed. List-loading CR-1 (engine cursor contract) and CR-2 (keyset pagination on rooms/lenses/conversation) landed. The queue's own §"Sequencing rationale" names the remaining retrofit: the home's three lists and the rooms' grown sections. Unstarted. |
| 2 | Conversation-content fix | Parked — engine-side decision | Unchanged. Decision still open: engine stops writing navigation chatter vs. surface filters it. |
| 3 | Folder upload | Queued — own piece | Not started. Frontend still sends bare file.name, silently flattening; needs webkitRelativePath plus Phase 60 OL composer-completeness. cr-2026-132-folder-upload branches exist in both engine and OL, unmerged. |
| 4 | Loading states (home + rooms) | Sub-item of #1 | Unstarted; rides with #1. |
| 5 | Command/settings discoverability | Queued — own piece | Not started. Scoping note filed. Named as possibly sharing a catalog mechanism with the API-documentation effort. |
| 6 | Conversation search | Queued — own piece | Not started. Scoping note filed. Mobile-results dependency cleared by the mobile surface landing. |
| 7 | Recordable facts & topic | Investigation — not yet buildable | Unchanged. Design question touching the thesis; investigation filed. |
Assessment. The Companion front delivered its mockup scope and then stopped. Every queued item is in the state the queue recorded a month ago. This is not drift — the perimeter, sales-generator, and graph arcs took the intervening capacity — but the queue is not paused in the record either, so it reads as active work that is silently idle.
Named in build queue v0.4 §"Open gaps", none closed: shared-zone visibility signal (a real engine gap — /engagements carries no visibility field, currently heuristic), personal "things known" count (assertions endpoint 422s for the personal engagement), commons member count (no endpoint), suggestion-chip contextual wording, needs-you/recent per-item actions, desktop home voice, NotFoundPanel tidy, and the full type-scale system (deferred debt).
Three, all surface-side reflections of engine-side guarantees under the trust-boundary principle (any trust-bearing operation is invoked at the engine chokepoint, never pushed to a replaceable surface): list-loading/pagination, provenance display (surface shows, FORAY attests), grant-gating (surface hides, engine enforces — owner-view-first until GRANTHA's grant model settles into the seed).
The orientation pack stele/stele-project-orientation-pack-v0_2.md (grounded at 3d9086a / v0.1.0) names two open Operator/legal decisions gating the handover, and calls the license "the current long pole." Both are resolved in the live repo:
| Decision (per orientation pack v0.2) | Live state |
|---|---|
| License — "no LICENSE file; the live blocker; the room has no legal basis to run it" | RESOLVED. LICENSE present, Apache 2.0. pyproject.toml reads license = "Apache-2.0" — the Proprietary line the pack flags is gone. |
| Publication / access — private repo, grant testers access vs. publish | RESOLVED. DUNIN7/stele is PUBLIC (gh repo view: isPrivate: false). |
Note the license landed as Apache-2.0, not the seed's stated "BSL/source-available lean." That is a real position change — permissive rather than source-available — and the record does not appear to carry the decision or its rationale.
Record gap: the orientation pack is the Stele front's designated first-read and describes a blocked state that no longer exists. It needs a v0.3 grounding pass.
Phase 7 is CLOSED (P7-1 packaging floor / P7-2 mountable router + SDK / P7-3 ceremony lift + reference app; CR-2026-114/115/116). The post-Phase-7 arc (CR-2026-117 test suite + CI, 118 docs/README, 119 brand-scrub, 120 COOKIE_NAME decouple) is also closed.
Three further releases have shipped since the orientation pack's grounding, none of them in the record's Stele narrative:
| Tag | Date | Content |
|---|---|---|
| v0.1.0 | 2026-06-20 | The pack's end-state |
| v0.2.0 | 2026-07-07 | Adopter on-ramp: AGENTS.md, beginner examples README, TOTP QR rendering, README on-ramp |
| v0.3.0 | 2026-07-07 | CHANGELOG, step-ordering fixes |
| v0.4.0 | 2026-07-18 | Multi-origin ceremony support (merged perimeter-stage-1), plus CR-2026-150 migration-chain version_table separation, error-translation system, ceremony window 5→15 min |
CR-2026-150 (Stele migration chain version-table collision) is filed in the record as Status: Draft. Not staged. Number unconfirmed — but it landed in the Stele repo at 41ab38c/f581840. The record's CR status is stale.
tests/test_stele_router_mount.py::test_stele_router_mounts_and_begin_resolves_end_to_end — 401 where 200 expected on the passkey-begin path.
stele/loomworks-stele-front-note-router-mount-test-failure-v0_3.md (v0.2 preserved alongside), cross-referenced to investigations/finding-session-resolution-test-failure-v0_1.md, which already rules out CR-2026-149's TOTP bug.stele = { path = "../stele", editable = true }), so the engine needs stele co-located to deploy. With v0.4.0 tagged and the repo public, a version pin is now genuinely possible. Parked.login.py:5 stale comment describing an unimplemented email hint. Doc hygiene, parked.== → ranges for libraries). Minor hygiene.
CR-2026-154 merged to engine main at 355fe7a (--no-ff, parents 79262c5 + ab94716), tagged graph-hygiene-v0_1 (annotated, tag object 2aebc84), pushed. Build branch deleted local and remote with history verified intact.
Four items, no split:
| Item | Outcome |
|---|---|
| 1a — redirect edge + backfill | wasDerivedFrom target→source, qualified assertion_redirect, owned by the target engagement; idempotent backfill module. Dev run: 0 rows (dev holds zero live redirects). |
| 1b — vocabulary single-source | RelationshipVocabulary in memory/base.py; four sites became importers. Preventive, not repair — no drift had occurred. |
| 1c — contribution-time alternatives | Optional alternatives on POST /assertions; fan-out plus wasConsideredAndRejected edges. API-only. First producer for a term declared in Phase 3. |
| 1d — supersession-aware answering | Verification-only plus the AS_CURRENT_STATES constant. All fourteen Companion Memory paths were already correct. |
Suite 3379 → 3408 (+29 tests). Full paper trail filed and resolving end to end in the record: strategy (097723e) → scoping note (0fe9b27) → step-0 report (1e79120) → drafting handoff (a4058c9) → CR (8dfc1aa) → completion record (0a73d6e).
Standing constraint from Stage 1. One edge is visible from exactly one end — MemoryRef carries no engagement id and relationship reads filter on engagement. The redirect_from_* metadata keys therefore remain load-bearing for source-side traversal and must not be removed as redundant. Filed as a provenance-threads finding, not solved.
Per strategies/loomworks-graph-findings-implementation-strategy-v0_1.md:
| Stage | Scope | Size | State | |---|---|---|---| | Stage 2 — the forward walk | Given an assertion, find every Shape (and through Shapes, every Render) whose selection included it. Indexed JSONB containment query, exposed as a dependents endpoint; surfaces dependents when an assertion is superseded or retracted — a signal, never an automatic state change. | Medium — one CR | Not started. Depends on nothing in Stage 1. | | Stage 3 — as-of-a-date reads | Engagement-level point-in-time read reconstructed from the event log. No schema change. Recommendation: endpoint first, surface later. | Medium — one CR | Not started. | | Stage 4 — the recall layer | Hybrid retrieval — semantic search alongside graph traversal. pgvector inside the existing Postgres is the recommended starting position. | Scoping arc, multi-CR | Not commissioned. Requires the memory-equals-recall reframe to be commissioned first (Stage 0, Decision 3). |
The strategy names Stage 2 as "the single most valuable unbuilt graph capability" and "the core recall demonstrable"; Stage 3 as "the compliance demonstrable."
Deliberately excluded at strategy level: the autonomous-construction pattern (refused), the provenance-threads reframe (parked), supersession severity (untouched), and a separate graph database (set aside — revisit only if Stage 2/3 query performance demands it, measured not assumed).
CR-2026-153 was filed 2026-07-17 as a build specification for the Operator tools menu, with a mint/verify transport for the cross-domain carry. Before it was built, the perimeter Stage 1 preflight found both repos sitting on its branches with dirty working trees, and ruled that Stage 1 would land on fresh branches off main instead — leaving the CR-2026-153 branches parked as-is.
Session handoff v0.2 §4 recorded the CR's mint/verify as superseded as transport by the domain move: once the generator moved onto dunin7.com, there was no cross-domain gap to bridge.
The tools menu itself was salvaged and shipped. Stage 2's completion report records it landing from CR-2026-153's 70abd83 with the transport removed, plus a level-gated Tools affordance on the arrival surface.
cr-2026-153-tools-menu-engine — local only, 3 commits ahead of main, 21 behind, tip b0dc30b (2026-07-18). Not on origin.cr-2026-153-tools-menu-operator — local branch present in the OL.Status. Build specification with no supersession note.
The remaining decision is not about the tools menu — that shipped. It is about b0dc30b, the parking commit, resolved separately in investigations/loomworks-b0dc30b-parked-state-resolution-v0_1.md (2026-07-19) as recommendation only, nothing applied or discarded.
The investigation found b0dc30b is not junk: a coherent intent-classifier prompt improvement (+15/-2) supplying a missing converse — that imperative shape does not qualify add_knowledge any more than it disqualifies it — with three contrast examples. Its recommended disposition, verbatim in substance:
intent_classifier.md change onto its own branch off current main.recall_personal, remember_about_me, ask_about_past_input) plus the control that "Set the pH to 6.5" still classifies as add_knowledge — without the control, a change that broke imperative add_knowledge entirely would pass.uv.lock half.Explicitly not urgent — the classifier works today; this improves a known-imperfect edge. But it must be decided before the branch sweep, or it retires unexamined, which is the exact outcome the investigation exists to prevent.
| Stage | Content | Engine merge |
|---|---|---|
| Stage 1 | Session cookie hygiene, multi-origin WebAuthn, three-level platform authorization; app.dunin7.com live over Cloudflare Tunnel; launchd persistence | 1181141, 0bf3336 |
| Stage 2 | Sales-generator relocation into the engine (analyze route, shape/render/draft/leave-behind) | f9b64d3, 2a0cf71 |
| Stage 3 | Posture guards, invitation-only signup gating + rate limit, representative standing on host_account, standing invitations | 965d002 … ea858b3 |
| Item 7a | Standing-invitation claim_url | b7fef13 → 79262c5 |
During Stage 2 an authentication bypass was found and closed — POST /auth/dev/issue-session was reachable unauthenticated on all three public hostnames and minted a working founder session for any person UUID, live for roughly a day. Recorded in full as its own incident (security/loomworks-security-incident-2026-07-19-dev-endpoint-exposure-v0_1) and carried in the Stage 2 completion report as part of that stage's true history.
Record gap: completion records exist for perimeter Stage 1 and Stage 2. There is no Stage 3 completion record, though Stage 3 and Item 7a both merged.
The effort ran through phases 2, 3, and 5 (grind briefs filed; phase 5 at v0.3, response-field descriptions, annotation standard v0.3 requiring both title= and description= slots).
The generated reference is stale and nothing catches it:
docs/api/api-reference.md last touched 2026-06-28 — 106 engine commits ago.scripts/check_api_docs_fresh.py exists but is not referenced by any test — so drift is silent, not gated.alternatives request field and an AddAssertionResponse model. The reference contains zero occurrences of alternatives. The API surface documented to adopters no longer matches the API.This is worth a small CR on its own: regenerate, and put the freshness check in the suite so it cannot drift again.
loomworks-marketing sits on cr-2026-152-sales-perspective-spike at 1735b6f (2026-07-17), 13 commits ahead of main (119232e), pushed. The branch carries CR-2026-152 through v0.23 — the sales-perspective generator spike, whose chain has since been relocated into the engine by perimeter Stage 2.
Open question the record does not answer: with the generator now living in the engine behind the perimeter, what becomes of this branch and of the marketing-side chain it modifies? It is 13 commits of divergence with no merge or retirement decision recorded.
Three marketing-site content observations from manifest v0.41 remain: one addressed (room-order phrasing, 0d86610); two await Operator confirmation ("Manifestation paired with 'ships into the world'", and the broader substrate-vocabulary-outward question).
Operator-reachable end to end since 2026-05-27 (OL 2186d13, untagged); the engine writes UploadEventReceived events with provenance. Assertion-drafting from those events is unbuilt — queued-directions §15.3, "upload content does not reach assertion grain." Folder upload (Companion queue item 3) is the surface half of the same gap.
loomworks-ui)
main at 9521694 (2026-06-24). Intentionally frozen at the Phase 45 four-room engine-internals shape — positioning, not neglect; architecture spec v0.5 §10 makes it explicit. Active product development is on the Operator Layer.
Determined by tracing every CR number and named CR in change-requests/ against the engine, OL, and Stele commit logs.
| CR | Subject | State |
|---|---|---|
| CR-2026-126 | Repo-wide color tokenization (every raw color in src/ → token; the color guard goes repo-wide) | Drafted, unexecuted. One partial trace in the OL log; the repo-wide sweep did not run. |
| CR-2026-150 | Stele migration chain version-table collision | Record status stale — filed as "Draft, not staged, number unconfirmed", but it landed in the Stele repo (41ab38c, f581840). |
| cr-seed-editor-v0_1 | Seed editing (sibling of the shipped seed viewer) | Drafted, unexecuted. No trace in either repo. |
| cr-inbound-seam-minimal-slice-v0_1 | Inbound seam | Drafted, unexecuted. No trace. |
| cr-reply-source-legibility-v0_1 | Reply source legibility | Drafted, unexecuted. No trace. |
| cr-create-commit-ceremony-v0_1 | Create commit ceremony | No commit trace, though a feat-create-commit-ceremony branch exists in both repos — likely the parked WebAuthn-commit step. Verify before scheduling. |
CR-2026-103 and CR-2026-104 (Stele Phases 0 and 1) show no CR-number trace in commit messages but did land — confirmed by the manifest's phase narrative and SHAs. Cited here so the trace method's limits are visible: absence of a CR number in a commit message is not absence of the work.
Standalone queued items (each its own file in queued-directions/):
| Item | Status |
|---|---|
| REQ-spec HTML rendering (deferred work v0.2) | Candidate addition; deferral stands |
| Dev/production config split | QUEUED, not started |
| Intent-classifier imperative shape | QUEUED, not started; explicitly outside Stage 2 scope (Operator ruling 2026-07-19). This is b0dc30b's subject (§4.3) |
| P7-2 session delivery — UI vs agent | Consumed as P7-2 input; Phase 7 closed |
| Response length and voice-out | QUEUED, not scoped; sequenced after Memory-room Findings 1–3 |
| Request-log forensics (two items) | QUEUED, not started |
| Secrets-hygiene sweep | QUEUED, not started; post-Stage-1 work item |
| Relate-path validation | Filed 2026-07-27. CR-2026-154 relies on current permissiveness; three sites need a carve-out if it lands |
| Hard-delete projection cleanup | Filed 2026-07-27. 85 orphaned current_memory_objects rows across 20 deleted engagements in dev |
| Engine branch sweep | Filed 2026-07-28. 37 of 39 local + all 15 remote branches fully merged; 2 unmerged need decisions |
The main deferred-work register (loomworks-queued-directions-and-deferred-work-v0_28.md, 20 sections):
| § | Section | § | Section | |---|---|---|---| | 1 | Engagement creation arc (4 items) | 11 | Observer — cross-fleet usage observation | | 2 | Deferred build phases (Phase 30 induction, Phase 32 marketing engagement, code-health audit) | 12 | Structural defensibility (cross-ref) | | 3 | Rendering and image generation (3 items) | 13 | Authentication-surface gaps (3 items) | | 4 | Upload facility extension architecture | 14 | Pre-rename Workshop carry-forward | | 5 | Agent capability development (3 items) | 15 | Memory population surface gaps (incl. §15.3 upload→assertion grain) | | 6 | Mobile presence and quick-capture pair (4 items) | 16 | Phase-60 post-close personal-memory diagnostic | | 7 | Multi-instance fleet and jurisdiction governance | 17 | Participant-contribution-approval gate | | 8 | External information seams | 18 | Personal recall / Companion retrieval (5 items, incl. §18.5 the memory=recall reframe) | | 9 | Companion ambient context (3 items) | 19 | Stele core substrate neutrality | | 10 | The standing Companion (5 items) | 20 | Record and manifest hygiene |
§18.5 (the memory-equals-recall reframe) is the item that gates graph Stage 4.
Every item the record marks as awaiting an Operator call, plus those this compilation surfaced. Ordered by consequence.
| # | Decision | Front | Where recorded | Note |
|---|---|---|---|---|
| 1 | Push or discard feat/foray-sales-generator | Operator Layer | This report §0 | 10 commits, single-copy on this machine. Not a priority call — a durability one |
| 2 | Diagnose the Stele router-mount failure — who and when | Stele | stele/…front-note…v0_3 | Only item with ongoing cost: keeps the engine suite off green |
| 3 | b0dc30b disposition — land with tests, or discard | CR-2026-153 tail | investigations/loomworks-b0dc30b-parked-state-resolution-v0_1 | Recommendation-only by design. Must precede the branch sweep |
| 4 | Commission graph Stage 2 (forward walk) | Graph | strategy §5 | The most valuable unbuilt graph capability |
| 5 | Commission the memory=recall reframe | Graph / Companion | strategy §7; queued §18.5 | Gates Stage 4 entirely |
| 6 | Relate-path validation — commission or leave permissive | Graph / engine | queued-directions | Interacts with shipped CR-2026-154 code |
| 7 | Restart the Companion queue, or record it as paused | Companion | build queue v0.4 | Four items untouched a month; queue reads active |
| 8 | Conversation-content fix — engine stops writing vs. surface filters | Companion | build queue v0.4 item 2 | Parked pending this call |
| 9 | Marketing branch disposition | Marketing | This report §5.3 | 13 commits diverged; the chain they modify moved into the engine |
| 10 | Manifest v0.73 — commission the catch-up | Record | This report §0 | First-orientation document is a month stale |
| 11 | Stele orientation pack v0.3 | Stele | §2.1 | Describes a blocked state that resolved three weeks ago |
| 12 | Record the Apache-2.0 license decision | Stele | §2.1 | Shipped position differs from the seed's stated BSL/source-available lean |
| 13 | Stele published-package pin — retire the editable path dep | Stele | orientation pack Part 5 | Now possible: v0.4.0 tagged, repo public |
| 14 | Session-issuer seam — confirm intent | Stele | orientation pack Part 5 | Unbuilt, or shorthand was imprecise |
| 15 | Branch sweep — commission or decline | Engine | queued-directions/…branch-sweep… | Blocked on #3 |
| 16 | Browser passkey-commit acceptance across the three create doors | Companion | manifest §5 | Requires the Operator's own passkey tap |
| 17 | Hard-delete projection cleanup | Engine | queued-directions | 85 orphan rows in dev |
| 18 | Two marketing-site content observations | Marketing | manifest §1 | Outstanding since v0.41 |
| 19 | Methodology v0.21 vs. the canon — how the two consolidation surfaces relate | Methodology | manifest §1 | Named open since v0.42 |
| 20 | Principal-nature neutrality — revisit trigger | Stele | orientation pack Part 5 | Deferred; trigger is a second consumer with real needs |
This is proposed input for Operator scheduling, not a commitment. Nothing here is started, and the ordering reflects dependency and risk as this compilation reads them — not a decision that any of it should be done.
Sizes: small (hours to a day, often no CR), one CR (a normal scoped change request), multi-CR arc.
| Item | Size | Rationale | Blocks |
|---|---|---|---|
| Push feat/foray-sales-generator | small | Ten commits exist on one machine. Every hour it stays unpushed is uninsured. Not a scheduling question | — |
| Manifest v0.73 catch-up | one CR (documentation) | The record's first-orientation document is 106 engine commits stale. Every future session starts from it | Nothing technically; degrades every decision made from the record |
| Stele orientation pack v0.3 + record the Apache-2.0 decision | small | The Stele front's first-read describes a resolved blocker as live | Any Stele scheduling |
| Item | Size | Depends on | Rationale |
|---|---|---|---|
| Stele router-mount diagnosis | one CR (likely small) | — | The only item with a compounding cost. Restores a green suite and a real gate. Prior work already narrows it |
| b0dc30b disposition | small | — | Blocks the branch sweep; the investigation already specifies the tests |
| Engine branch sweep | small | b0dc30b | Mechanical once #3 lands |
| API reference regeneration + freshness check into the suite | small | — | Stops silent drift; the check already exists and just is not wired |
| Perimeter Stage 3 completion record | small | — | Closes a record gap for landed work |
| Item | Size | Depends on | Rationale | |---|---|---|---| | Graph Stage 2 — forward walk | one CR (medium) | Nothing | The strategy's own "most valuable unbuilt graph capability" and the core recall demonstrable. Also the right place to decide relate-path validation against real traversal rather than in the abstract | | Companion queue item 1 — list-loading retrofit | one CR | Nothing | Cross-cutting; the pattern is already settled and two CRs landed. Finishing it closes item 4 too | | Companion queue item 3 — folder upload | one CR | Phase 60 OL composer-completeness | Half-built today: upload restored, folder silently flattening | | Conversation-content fix | small | Operator decision #8 | Parked only on a decision, not on work |
| Item | Size | Depends on | Rationale | |---|---|---|---| | Graph Stage 3 — as-of-a-date reads | one CR (medium) | Nothing (parallel to Stage 2) | The compliance demonstrable; strongest-fit market | | Companion items 5 and 6 — discoverability, conversation search | one CR each | Nothing | Both scoped; item 5 may share a catalog mechanism with the API-doc effort | | Stele published-package pin | small | — | Removes the co-location deploy precondition | | Marketing branch disposition | small | Operator decision #9 | Merge or retire; 13 commits should not sit undecided indefinitely | | Relate-path validation | one CR | Best decided inside Stage 2 | Carve-outs already named for the three dependent sites | | Hard-delete projection cleanup | one CR (may need a migration) | — | Dev-only impact today |
| Item | Size | Depends on | Rationale | |---|---|---|---| | Memory=recall reframe commissioning | scoping arc | Operator decision #5 | Gates graph Stage 4 entirely | | Graph Stage 4 — recall layer | multi-CR arc | The reframe | pgvector in the existing Postgres is the recommended starting position | | Companion item 7 — recordable facts & topic | investigation → arc | Design settlement | Touches the thesis; not buildable until settled | | CR-2026-126 repo-wide color tokenization | one CR | Nothing | Drafted and unexecuted; pure hygiene, no dependency |
Only four real dependency edges exist in the whole picture:
b0dc30b → branch sweepEverything else is independent. The sequence above is therefore mostly about appetite and risk, not about ordering constraints — which is itself worth knowing: there is no critical path holding the build up, only capacity and decisions.
git read on 2026-07-28 after fetch --prune.DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks — State of the Build — Report — v0.1 — 2026-07-28