Context
Critical-path sub (D0) of Epic #11720 (Cloud Agent OS Deployment Readiness; graduated from Discussion #11718). D0 is the first workstream — it gates Sub B (container topology), Sub C (reference compose), and Sub D (healthcheck / journey proof). MVP-critical.
The Problem
The current Orchestrator is a mixed-responsibility local Agent OS supervisor: ai/daemons/TaskDefinitions.mjs schedules one mixed task set — cloud-relevant lanes (chroma, bridge, summary, kbSync, backup, dream, golden-path) and local-only maintainer lanes. PrimaryRepoSyncService hardcodes dev / origin/dev / local git worktrees / resources/content/.sync-metadata.json cleanup / a local ai:sync-kb cascade. A cloud deployment cannot containerize the Orchestrator as-is. And no ADR documents the target deployment topology — ai/deploy/docker-compose.yml's 3-service KB/MC/Chroma profile is a stale baseline, not a decided topology.
The Architectural Reality
ai/daemons/TaskDefinitions.mjs — the mixed task set.
ai/daemons/Orchestrator.mjs poll() — schedules all lanes from one daemon loop.
ai/daemons/services/PrimaryRepoSyncService.mjs — explicitly local-maintainer machinery.
ai/deploy/docker-compose.yml — the KB/MC/Chroma baseline (3 services).
- ADRs 0003 (unified Chroma), 0009 (cross-daemon lease) exist; no deployment-topology ADR.
- ADR convention 0005 (ADR-at-graduation) / 0006 (ADRs as graph-queryable): an ADR records the chosen decision + provenance + rejected options + anti-patterns — a decision record, not an open-options workspace.
The Fix
A decision workstream producing one ADR under learn/agentos/decisions/:
- Classify every orchestrator/scheduler lane as
cloud-deployable, local-only, or shared primitive — with rationale.
- Decide the target production deployment topology — which services, container boundaries, the cloud-safe scheduler/orchestrator profile (local dev-sync lanes excluded), and the service-count profile variants (per Discussion #11718 §5/D1: count follows the profile, it does not lead).
- Author the ADR — the chosen topology + task taxonomy + rejected options + anti-patterns.
Acceptance Criteria
Out of Scope
- Implementing the container compose (Sub B / Sub C).
- Server-side repo clone (a D3 exploration).
- SQLite → networked-SQL graph-store migration (D5 — deferred v13 follow-up).
Related
- Parent: Epic #11720 (Cloud Agent OS Deployment Readiness)
- Origin: Discussion #11718 (D0 decision workstream; orchestrator-role-split anchor
DC_kwDODSospM4BA4F9)
- ADRs: 0003, 0005, 0006, 0009
- Gates: Sub B (container topology), Sub C (reference compose), Sub D (healthcheck / journey proof)
Origin Session ID
8e1dc8ca-b5a5-4479-b3cf-31918eb4a5b2
Handoff Retrieval Hints
query_raw_memories({query: 'orchestrator mixed-responsibility cloud deployment topology D0'})
- Discussion #11718 §5/D0 + the orchestrator-role-split comment
DC_kwDODSospM4BA4F9.
Context
Critical-path sub (D0) of Epic #11720 (Cloud Agent OS Deployment Readiness; graduated from Discussion #11718). D0 is the first workstream — it gates Sub B (container topology), Sub C (reference compose), and Sub D (healthcheck / journey proof). MVP-critical.
The Problem
The current Orchestrator is a mixed-responsibility local Agent OS supervisor:
ai/daemons/TaskDefinitions.mjsschedules one mixed task set — cloud-relevant lanes (chroma, bridge, summary, kbSync, backup, dream, golden-path) and local-only maintainer lanes.PrimaryRepoSyncServicehardcodesdev/origin/dev/ local git worktrees /resources/content/.sync-metadata.jsoncleanup / a localai:sync-kbcascade. A cloud deployment cannot containerize the Orchestrator as-is. And no ADR documents the target deployment topology —ai/deploy/docker-compose.yml's 3-service KB/MC/Chroma profile is a stale baseline, not a decided topology.The Architectural Reality
ai/daemons/TaskDefinitions.mjs— the mixed task set.ai/daemons/Orchestrator.mjspoll()— schedules all lanes from one daemon loop.ai/daemons/services/PrimaryRepoSyncService.mjs— explicitly local-maintainer machinery.ai/deploy/docker-compose.yml— the KB/MC/Chroma baseline (3 services).The Fix
A decision workstream producing one ADR under
learn/agentos/decisions/:cloud-deployable,local-only, orshared primitive— with rationale.Acceptance Criteria
cloud-deployable/local-only/shared primitive, with rationale.learn/agentos/decisions/recording the chosen topology + task-taxonomy decision + rejected options (per ADR 0005/0006 — a decision record, not an open A/B/C/D workspace).Out of Scope
Related
DC_kwDODSospM4BA4F9)Origin Session ID
8e1dc8ca-b5a5-4479-b3cf-31918eb4a5b2Handoff Retrieval Hints
query_raw_memories({query: 'orchestrator mixed-responsibility cloud deployment topology D0'})DC_kwDODSospM4BA4F9.