Type: vision Status: Current (2026-06-07) Audience: principal, contributors, reviewers Last verified vs code: v1.0.808
TL;DR. The MVP target is the research demo from blueprint.md §9
Phase 4: a user writes a directive on phone → steward decomposes →
fleet executes runs across hosts → briefing agent summarizes overnight
→ user reviews on phone. Everything else flows from that. Phases P0–P3
are shipped; P4 backend is feature-complete; current focus is reliability
and UX polish from device walkthroughs.
Termipod is a mobile-first director's surface for orchestrating backend agents (claude-code, codex, …) across multiple remote hosts. The user is principal/director — they don't operate the system, they direct agents that operate it.
What makes us different from single-engine clients (Happy, claudecode-remote, …):
- Multi-host — A2A relay routes agent ↔ agent across NAT'd boxes
- Multi-session — sessions are first-class durable conversations, surviving agent respawn
- Multi-engine — claude-code, codex, etc. are interchangeable per template
- Steward-orchestrated — the steward agent is the entry point; user delegates project-shaped goals, not task-shaped commands
The above bullets are the additional axes we ship. They are net-add, not substitutes for the table-stakes axes that single-engine remote-control apps already do well. The MVP must be at competitive parity in every axis those apps support — single-session chat, resume, list past sessions, fork to explore, sensible session vocabulary. A user switching from claudecode-remote / Codex remote / Happy should find their muscle memory works here, not be told "we don't do that yet."
A feature being weaker than what those apps ship is a bug, not a future enhancement. This is why decisions like ADR-009 (fork operator, scope-grouped session list, archive vocabulary) land in MVP rather than post-MVP — they aren't polish; they're the short-board fix.
The selling point is both directions: pick us up to keep the single-engine workflow you already know, and grow into the fleet / governance / multi-host capabilities when you need them.
Run the locked Candidate-A demo end-to-end on hardware. Steward decomposes a nanoGPT-Shakespeare optimizer × size sweep, dispatches ml-worker spawns to a GPU host via A2A, briefing agent writes a takeaway doc that surfaces in the mobile Me tab — all driven from the phone with no laptop in the path.
Demo readiness is measured by discussions/run-the-demo (the
dress-rehearsal harness covers the path without GPU; the hardware
run is the actual milestone).
The blueprint defines five phases. Status as of v1.0.808:
| Phase | Title | Status |
|---|---|---|
| P0 | Hub primitives (schema) | ✅ Shipped |
| P1 | Structured wire (protocols) | ✅ Shipped |
| P2 | App UI | ✅ Shipped |
| P3 | Integrations (trackio, A2A) | ✅ Shipped |
| P4 | Research demo | 🟡 Backend feature-complete; UX hardening + hardware run remaining |
P0 — Hub primitives. All schema landed: projects evolution,
plans + plan_steps, schedules, runs, documents, reviews,
hosts.ssh_hint_json + capabilities_json. See spine/blueprint.md §9.0.
P1 — Structured wire. Multi-mode host-runner driver (M1 ACP, M2
stdio, M4 pane); plan-step executor; capability probe; mode resolver;
hub MCP server (consolidated v1.0.298 — single service via
mcp_authority.go); host-runner MCP gateway; AG-UI broker; structured
input endpoint.
P2 — App UI. AgentFeed, AgentCompose, plan viewer, workflows tab, triage (Me), project / task / plan / run / review screens, templates browser, team settings (schedules, budgets, audit log).
P3 — Integrations. Trackio + wandb + tensorboard pollers in host-runner; mobile sparkline; A2A server with agent-cards; hub directory + reverse-tunnel relay; cross-host smoke test.
P4 — Research demo. Templates shipped (steward.research, ml-worker, briefing); steward decomposition recipe; SOTA orchestrator-worker slice (agents.fanout / agents.gather / reports.post); dress-rehearsal harness (seed-demo + mock-trainer, no-GPU). The remaining work is verifying the path on real hardware and polishing the principal's UX.
The phase view is for big picture. This section is the active working list — what's actually moving this week or next.
| Item | Why | Where |
|---|---|---|
| Multi-team isolation — on-device verification | Implementation shipped (ADR-037 W1–W6, v1.0.760-765: path-team authorization gate, operator/principal split, team-provisioning endpoint, per-team template overrides, team-scoped workdir; mobile team management v1.0.801). Storage isolation extended physically in v1.0.808 (per-team event/digest shards, ADR-045). ADR-037 stays Proposed until an on-device multi-tester pass confirms no cross-team read/write/control or workdir collision. (decisions/037-multi-team-isolation-and-operator-principal-split.md) |
Pending: device walkthrough with two tester teams |
| Reliability hardening from device walkthroughs | Hardware-demo gate is "two consecutive walkthroughs without principal-blocking bugs" | per-version commits as device tests surface issues |
| On-device verification of v1.0.624-630 | Seven follow-on releases closing spawn / wake / routing / UX gaps surfaced by 2026-05-18 smoke test. Each wedge unit-tested at its boundary; end-to-end on-device pass pending (especially the search MCP SQL error needs exact error string to diagnose). |
Pending: device walkthrough with smoke task |
| ADR-027 §11 on-device verification | LocalLogTailDriver shipped v1.0.592 and is the M4 default for claude-code, but plan §11 verification scenarios (21-24 in the lifecycle test doc — idle/streaming pill, hook delivery, AskUserQuestion picker, /compact compaction card) still need a hardware pass with claude 2.1.x. (decisions/027-local-log-tail-driver.md, plans/local-log-tail-driver.md §11) |
Pending: tester device with claude 2.1.x installed |
| Kimi steward routing follow-up | ADR-026 wedges W1-W7c shipped engine integration; the project-steward-routing fixes (Bug A in projects.steward_agent_id + Bug B in openStewardSession) are documented but not yet wired — workdir fix landed v1.0.595, UI routing held pending design review |
Deferred pending design review |
| ADR-032 / ADR-034 orchestration contract — on-device verification | The message envelope + the loop-closure runtime shipped 2026-05-19 as the 10-wedge message-routing rollout (commits eb12a09…2a498df; hub build + full Go test suite green, mobile CI-verified). Both ADRs stay Proposed until an on-device pass — principal directs a mission, steward dispatches a worker, the loop closes, a deliberately stalled worker escalates within one sweep — flips them to Accepted. (decisions/032-message-routing-envelope.md, decisions/034-orchestration-loop-closure.md, plans/message-routing-rollout.md §4) |
Pending: device walkthrough |
| Project-lifecycle: inline-spec + early-bind (ADR-044 amend + ADR-046) | Code-migration lifecycle testing (issues #21–#41) drove a model change: a project carries its full spec in its own config_yaml, create is a governed project.create whose approval materializes it (no template.install), presets are reference examples, and all phases early-bind with completion-gating (ratify/mark-met only in the active phase). Shipping as a ~5-PR program (WS0 ADRs done; WS1 materialize+gating, WS2 spec schema, WS3 presets, WS4 governed create+Start, WS5 prompt+governance). Four root-cause fixes (#38/#41/#21/#27/#29) already merged (PR #43). (decisions/044-…, decisions/046-projects-from-inline-spec.md) |
In flight: WS-by-WS PRs, CI-gated |
| Themed vocabulary overlay + i18n sweep (ADR-048) | A tester found "steward" unfit for their domain — short-board bug. Role nouns (steward/agent/principal/…) become swappable by vocabulary preset (tech/business=company/political=policy/research=academy) × language via a VocabPack orthogonal to gen-l10n; this also closes #138 (~90 files of hardcoded English unlocalized in zh mode). Promotes the deferred vocabulary wedge to MVP. WS-A (preset picker + steward/principal/agent axes) ships first to unblock the tester, then the string sweep area by area. (decisions/048-themed-vocabulary-overlay.md, plans/themed-vocabulary-and-i18n-sweep.md) |
In flight: planned, coding starts next session; WS-by-WS PRs, CI-gated |
| Item | Why | Trigger |
|---|---|---|
| ADR-031 agent tool ergonomics — Phases 1+2 (MVP) | Steward took 6 turns to read back a doc by ULID on 2026-05-18; root cause was no documents.get (fixed v1.0.630) + no discovery / depth / hint design. Locks in two-tier descriptions + tools.get meta-tool + structured hints + per-persona intent index. (decisions/031-agent-tool-ergonomics.md, plans/agent-tool-ergonomics-rollout.md) |
After ADR-028/029 phase work or whenever the agent-side UX wedge is prioritized |
ADR-028 host control CLI — Phase 1 shutdown-all |
Hands-off binary upgrades need a way to drain stewards on host-runners + restart hosts from the principal's seat. (decisions/028-host-control-via-tunnel-and-cli.md, plans/hub-host-control-cli.md) |
Whenever the next host-runner upgrade is queued |
| Hardware run of Candidate-A demo | The actual MVP milestone (decisions/001-locked-candidate-a.md) |
Two consecutive walkthrough-clean device tests |
| Cross-vendor integration smoke (slice 7 × 2) | request_help end-to-end against a live codex binary AND a live gemini binary on a real test host — validates the vendor-neutral attention surface for both ADR-012 and ADR-013. Tests today use fakes for both protocols (JSON-RPC for codex, exec-per-turn JSONL for gemini); slice 7 closes the loop on real upstream binaries |
Real codex + gemini binaries available in a test host |
| Briefing agent overnight schedule | Demo path needs the steward to schedule the briefing autonomously | After hardware run smoke-tests the worker path |
| Anti-drift Layer 3 | OpenAPI for hub REST + ADR backlinks from spine docs | Triggers when surface drift bites — currently tractable by hand |
These have design memos in discussions/ and may or may not be
prioritized after the demo lands.
- Simple/Advanced mode for the mobile UI — Activity / Hosts tabs
are operator-shaped; less-technical principals would benefit from
hiding or folding them (
discussions/simple-vs-advanced-mode.md). Revisit post-demo. - CI-generated README screenshots — automate via
integration_test+binding.takeScreenshot()against aseed-demohub; eliminates the screenshot-drift problem (discussions/screenshot-automation.md). Defer until post-demo IA stabilizes. - Pending dependency upgrades — ~14 Dependabot PRs open as of v1.0.319, 5 majors deferred for individual review (riverpod 3.3, google_fonts 8, flutter_foreground_task 9, connectivity_plus 7, modernc.org/sqlite 1.50). Triage when post-demo bandwidth opens.
- Domain packs / marketplace — content-pack extensibility
(
discussions/post-mvp-domain-packs.md) - Multi-steward wedge 3 — deferred per memory
- Per-member stewards (F-1) — deferred until 2nd user
- Code-as-artifact — deferred (
discussions/code-as-artifact.md) - Agent fleet / squads — deferred (
discussions/agent-fleet.md) - Monolith refactor — terminal_screen.dart, hub_client.dart
(
discussions/monolith-refactor.md) - Sandbox-style worker isolation — bwrap/Seatbelt + microVM
- Cache eviction by bytes — switch HubSnapshotCache from row-cap to byte-cap
- Selectable Postgres storage backend (ADR-045 D3) — the
scale-out path beyond a single-box SQLite hub. Decided, not built;
gated on a real multi-hub / high-team-count need. Sharding (D2,
shipped v1.0.808) is the single-box win that makes this a
choice rather than a forced migration.
(
decisions/045-hub-storage-scaling.md,plans/hub-storage-scaling.md) - iOS TestFlight distribution — Android APK suffices for demo
- Cloud sync of mobile data — single-device works; cross-device is a transfer flow today
Most recent first. Major work units only — bug-fix releases roll up.
| Version | What |
|---|---|
| v1.0.808 | ADR-045 P2 — hub storage scaling. Event + digest stores shard per team (<dataRoot>/teams/<team>/{events.db,digest.db}) behind an LRU-bounded connection registry; hub.db stays the global control plane. Per-team parallel fold worker (fold lag bounded by core count, not team count); Tier-1 SQLite pragma tuning (temp_store=MEMORY, 256 MiB mmap, writer-only cache); hub-server db split-teams offline migration. Measured ~+33 % aggregate ingest when sharded to core count (~1100 ev/s flat-out on 2 vCPU); ~1000 concurrent agents on a 2 GB VPS with no SQLITE_BUSY cliff. Follow-on probe-driven fixes (4407e12): insights cache-key + bounded per-team writer cache. ADR-045 Accepted (D1+D2 shipped; D3 selectable Postgres backend decided, not built) |
| v1.0.805-806 | Channel-free agent comms + Me-page action boundary. Channels deferred to a future experiment (tools stay in tree, no prompt instructs their use); steward status routes 3 ways — chat reply / post_notice FYI (new answerless tool → Me-page Messages) / request_* decision → Requests. Me-page classifies Requests-vs-Messages by action (pending_payload); dismissable Messages via guarded /attention/{id}/resolve |
| v1.0.804 | ADR-044 adaptive project lifecycle (P1–P3). The project lifecycle is a roadmap, not a fixed template contract: agents materialize deliverables, criteria editable via propose, AC-driven system-approved phase advance (human gating = gate criterion). P1 added criteria.list/phase.status MCP reads; P2 the propose verbs; P3 AC auto-advance. ADR-044 Accepted |
| v1.0.803 | ADR-043 engine launch contract on the family (P1–P3). Mode-selecting argv moves off the persona onto the engine family — declarative per-mode launch block, launcher composes. Generalizes ADR-010 (frame-profiles-as-data) to the input side. ADR-043 Accepted |
| v1.0.800-802 | Tech-debt cleanup + ADR-042 dense session ordinal + team management from mobile. WS1–WS3 internal cleanup; session_ordinal as canonical session-scoped identity (fixes resume/navigator wrong-row); operator team CRUD from the mobile app |
| v1.0.784-799 | ADR-038/039/040/041 — the Insight workbench arc. Per-run event digest + agent_turns turn index (ADR-038) + OTLP trace export (P3); Insight transcript lens as a server keyset query (ADR-039); transcript surfaces decoupled by mode into LiveFeed + InsightTranscript (ADR-040); the card-filter / Navigator-outline / Sessions-rail workbench layout (ADR-041, R1–R4). Plus run-detail UI (trackio/wandb-style Overview/System/Config) and agent-surface consolidation onto one full-screen SessionChatScreen (retired the project-agent bottom sheet). Preceded by the v1.0.768-783 transcript-navigation arc (lens bar, minimap, turn stepper) that motivated the rebuild |
| v1.0.752-767 | ADR-037 multi-team isolation W1–W6 + stop/terminate naming split. Path-team authorization gate (W1); operator/principal split (W2); team provisioning endpoint (W3); per-team template overrides (W5); team-scoped agent workdir (W6); cross-cutting isolation sweep. Naming: stop (resumable, paused) split from terminate (permanent, archived); agents.resume is the inverse of terminate. ADR-037 D1–D7 |
| v1.0.704-728 | ADR-036 Phase B polish + multi-engine telemetry parity + security hardening. statusLine cost/rate-limit/200K chips polished on-device; codex M2 + antigravity statusLine parity with claude-code M4; configurable principal-directive envelope templates with mobile hot-reload. Security sweep: agent-kind tokens refused as REST bearers, principal-override identity bound to the authenticated token, filesystem path-traversal closed on template install + project docs, cross-host blob read path hardened |
| v1.0.696-703 | ADR-036 claude-code statusLine as authoritative M4 telemetry channel. Phase A (hub-side, v1.0.696-698): host-runner status-fire shim + UDS gateway status_line tool + adapter caches latest frame for in-process overrides + session_id rotation handler (fixes /clear blindness). Phase A.5 (v1.0.699): cold-open mobile bubble + busy-state regression fixed via testable kind-list sets. Phase B (v1.0.700-703): hub-side pricing infrastructure (operator-override YAML + //go:embed default, mtime hot-reload) + GET /sessions/{id}/cost endpoint + 5 mobile chips landing on the agent telemetry strip (process cost · session cost · 5h rate-limit · 7d rate-limit · 200K alarm) + AppBar session_name fallback. ~5,840 LOC + ~117 tests across 9 wedges. ADR-036 Accepted |
| v1.0.674-695 | ADR-030 governed actions + propose verb — all phases complete. Generalises apply-on-approve from two bespoke branches to one MCP verb across 5 propose kinds (deliverable.set_state, phase.advance, task.set_status, agent.spawn, template.install) with Validate/DryRun/Apply/Rollback. 22 wedges across 24 commits: Phase 1 (hub, 11 wedges, ~2,775 LOC + ~85 tests) → Phase 2 (steward prompts + 3 scenarios) → Phase 3 (mobile cards + propose inbox + override sheet + policy viewer + stalled digest). ADR-030/032/033/034 all landed (envelope on fan-back, unified tool registry, questionAttentionKinds extension). Loop-closure audit catches every governed-action mutation. ADR-030 Accepted |
| v1.0.624-630 | Seven-release follow-on series after the v1.0.620-623 spawn-robustness bundle: buildSpawnVars sibling-boundary fix (un-merged read); unbound {{project_id}} + {{parent.handle}} prompt refs + Layer-4 startup audit; steward wake never reached engine (unhandled input.task_completed kind across all drivers) → unified on input.text; worker/steward prompt blocked-protocol + validate-before-delegate; preserve blocked verdict on manual stop; mobile archive agent gets Feed tab; documents.get MCP tool + A2A sender attribution in relay body. Plus design landings: discussions + plans + ADRs 031/032 (Proposed) for the agent-tool-ergonomics and message-routing-envelope work the band-aids in this series motivated |
| v1.0.620-623 | ADR-030 governed actions + spawn-robustness bundle. coder.v1 spawn incident class closed structurally: typed validators for 7 HIGH-severity free-form fields; agent-template naming spec + filename↔internal-id audit; steward prompt rewrite; MCP description hygiene rule; sync-wait three-state return for agents.spawn. ADR-030 Proposed (governed actions + propose verb) |
| v1.0.612-619 | Eight follow-on fixes after the spawn-robustness bundle: project_steward_request resolution fans back to the general steward; A2A notification flipped to sender-side (a2a.sent); task close-out protocol footer in CLAUDE.md; per-engine context file (CLAUDE/AGENTS/GEMINI.md — codex/kimi/gemini stewards had been silently ignoring their prompt body); task-detail screen collapsed seven sections to three; permission_mode empty→skip default on MCP spawn + Library reset menu; host-runner terminate logging; abandoned-task auto-derive to cancelled + project-scoped agent history |
| v1.0.611-alpha | ADR-029 Phase 1.5 + Phase 2 (tasks-first-class complete) + ADR-028 Phase 1. Worker delivery (task body → CLAUDE.md ## Task section + close-out footer) + auto-posted first input + tasks.complete verb + result_summary; task.notify / run.notify / a2a.sent system-event notifications into the receiver's session; mobile _TaskTile triad (assignee + assigner + relative time) + task detail screen (linked spawn feed + session + filtered audit timeline) + denormalized list joins + pull-to-refresh. ADR-028 P1: hub-server shutdown-all. ADR-029 fully shipped → Accepted |
| v1.0.610-alpha | ADR-029 Phase 1 — tasks first-class. agents.spawn accepts task_id or inline task; flip-on-spawn + most-recent-spawn auto-derive on agent terminal status; tasks.delete MCP wrapper; cancelled terminal status (sticky against auto-derive); audit at six task-mutation sites; NoteKind.todo → NoteKind.reminder rename with on-device migration; glossary entries for task/note/todo |
| v1.0.609-alpha | Cross-scope session guard — three-layer fix to the StewardStrip-tap-creates-phantom-project-session bug (mobile route guard + hub 400 + scope-preferred lookup). Plus offline host chip color on the Hosts screen |
| v1.0.600-608 | Library polish + project-steward UX + A2A audit + Sessions categories — Library tab clone-from-existing + project-templates + collapsible sections + search; Me-page template_proposal preview + inline project-steward action; agents.spawn MCP auto-injects parent_agent_id; pull-to-refresh on Agents tab; a2a.message_sent row in audit_events (sender attribution + 200-char body preview); Sessions screen grouped by general/project/domain stewards + detached; lifecycle test scenarios 17-24 |
| v1.0.592-599 | ADR-027 LocalLogTailDriver + template authoring surface — M4 swap to JSONL tail + --permission-prompt-tool approval channel + host-runner UDS gateway hook surface (9 MCP tools). Project-scoped stewards auto-derive workdir; mobile spawn-steward engine row reads YAML mode+model; template authoring scaffold tools + applicable_to scope filter |
| v1.0.580-583 | Settings IA refactor — six-category Settings home (Display / Input / Files & Media / Data / System / About) + search bar + TeamSwitcher polish. Defines the device-vs-team scope model carried by later screens |
| v1.0.575-588 | ADR-026 Kimi Code engine — fourth ACP engine. Engine family register + MCP config writer + cmd splice + ACP auth-required surfacing with engine-specific remediation + steward template + capability matrix doc. W6-W7c fixes for resume cursor splice, mode/model RPC synthesis, currentId capture |
| v1.0.564-574 | ADR-025 project steward accountability — workers project-scoped + sessioned; one steward per engaged project (lazy, consent-gated); general steward delegates via request_project_steward; spawn-FAB reroutes through project steward; agents.spawn project-binding gate (W9); steward-mediated agent reconfig CTA |
| v1.0.531-547 | Voice input Path C + deep-link router — Alibaba DashScope WebSocket ASR (PCM16 streaming via record ^6.0.0); Mode A puck long-press + Mode B panel mic; settings + session orchestrator. Deep-link router expansion routes hero / tiles / sub-routes (incl. project/<pid>/documents/<docId>) through the chassis |
| v1.0.489-530 | ADR-024 project detail chassis + PDF viewer feature recovery — Wave 2 + canvas-app artifact viewer + hero consolidation + multi-run views. PDF viewer rebuilt on pdfrx 2.2.24 pin (after the 2.3.x native-assets regression): tappable links + page badge + TOC drawer + find-in-PDF + go-to-page. Deliverables show real component name + artifact kind |
| v1.0.473-488 | ADR-023 agent-driven mobile UI — persistent overlay panel + URI intent channel; agent ↔ system wire format is URI strings (typed router stays internal). D1-D11 locked (cf. project memory) |
| v1.0.444-462 | ADR-022 observability — /v1/hub/stats + scope-parameterized /v1/insights (project/team/agent/engine/host) + A2A relay throughput + 6 mobile entry points (Hosts tab Hub group, Hub Detail, Activity AppBar, Me Stats card, Agent Detail tab, Host Detail button) + Tier-2 drilldowns (engine arbitrage, multi-host distribution, tool-call efficiency, lifecycle flow). W5e ($/X) / W5f (snippet) / W6 (rollup trigger) deferred post-MVP |
| v1.0.430-435 | ADR-021 Phase 4 — cross-engine image content block inputs (hub images:[] contract + claude/codex/ACP wire shapes + gemini-exec strip-and-warn + mobile attach UI w/ thumbnail strip) |
| v1.0.420-424 | ADR-021 Phase 2 — mode/model picker (cross-engine wire-path fan-out: M1 ACP rpc / claude+codex respawn / gemini-exec per-turn argv) + mobile chip strip |
| v1.0.410-413 | ADR-021 Phase 1 — session/load resume cursor + authenticate dispatch + mobile replay-event dedupe |
| v1.0.317 | GitHub-ecosystem hygiene + changelog seed (Dependabot, CodeQL, PR template, stale-doc warning) |
| v1.0.316 | Status-block linter wired to CI (anti-drift Layer 1) |
| v1.0.315 | Spine docs reconciled with shipped state (sessions Tentative→Resolved, blueprint phase status, IA wedges marked) |
| v1.0.314 | coding-conventions rewritten first-principles + memory body audit |
| v1.0.311 | 8 retroactive ADRs in decisions/ |
| v1.0.310 | docs/ reorganized into 7-primitive layout; sessions promoted out of DRAFT |
| v1.0.309 | Foundation: README + roadmap + doc-spec |
| v1.0.308 | Cancel button surfaces whenever agent is busy |
| v1.0.305 | Cache coverage extended to all hot-path detail fetches |
| v1.0.304 | Cache-first cold start (UI lights up before network) |
| v1.0.303 | Cold-start refreshAll (Projects/Me/Hosts/Agents populate on launch) |
| v1.0.300 | Steward composer matched to action-bar composer (parity) |
| v1.0.299 | Steward chat polish — syntax-highlighted code, color-coded diffs, per-tool icons |
| v1.0.298 | MCP consolidation — single service in spawn .mcp.json |
| v1.0.296 | SOTA orchestrator-worker slice (fanout/gather/reports) |
| v1.0.293 | Cache coverage for sessions list + channel events |
| v1.0.290 | Multi-steward wedges 1+2 (handle suffix + domain templates) |
| v1.0.286 | Egress proxy in host-runner (masks hub URL from spawned agents) |
| v1.0.285 | Tail-first paginated transcripts + hub backup/restore |
| v1.0.281 | Replace-steward keeps the session (engine swap continues conversation) |
| v1.0.280 | Soft-delete sessions + agent-identity binding doc |
| v1.0.182 | All 7 IA-redesign wedges shipped |
Earlier history: git log --oneline from the v1.0.180 boundary or
spine/blueprint.md §9 for the original
phase commitments.
Carried forward across the quarter; surfaced here so they're not lost in conversation history.
- When do we actually run the hardware demo? Currently gated on reliability — defining the gate explicitly: two consecutive device walkthroughs with zero principal-blocking bugs.
- Does
steward-sessionsgraduate to first-party "done"? Yes — promoted out of DRAFT in this commit (nowspine/sessions.md). - A2A vs MCP for orchestration — resolved per
decisions/007-mcp-vs-a2a-protocol-roles.md. MCP for agent ↔ hub, A2A for agent ↔ agent. Today'sagents.fanoutposts via MCP; A2A fallback is a Later item. - Domain-pack commercialization — see
discussions/post-mvp-domain-packs.md. Phase 1 (first-party packs as embedded data) is the validation step before any marketplace engineering.
- Phases change rarely — when a new top-level workstream emerges beyond P0–P4 of the blueprint.
- Now / Next / Later changes whenever the active work changes — expected churn is weekly during active development.
- Done this quarter appends as releases ship. Truncate annually (current entries roll into a quarterly archive section if this list exceeds ~40 rows).
- Open questions are loud reminders, not action items. Move into PLAN or DECISION when one becomes actionable.
- Architecture:
spine/blueprint.md§9 - Decisions made:
decisions/ - Active work units:
plans/ - Demo path detail:
discussions/run-the-demo.md(post-reorg) or currentrun-the-demo.md