Ticket: HEL-704
Date: 2026-04-10 (v2)
A durable orchestration layer that coordinates work across hc-portal, hc-evidence, hc-knowledge-mcp, and infrastructure. Runs as a persistent Zellij session with Opus, dispatches autonomous work via custom subagents, tracks everything in ObVault (synced to Obsidian + Apple devices).
┌─────────────────────────────────────────────────────┐
│ YOU (laptop/phone/iPad) │
│ ├── Obsidian (ObVault sync) — specs, plans, infra │
│ ├── claude.ai remote sessions — planning/review │
│ └── SSH/Zellij → orchestrator — direct control │
└──────────────┬──────────────────────────────────────┘
│
┌──────────────▼──────────────────────────────────────┐
│ ORCHESTRATOR (Zellij "orchestrator" session) │
│ Opus + --add-dir all projects │
│ ├── Reads plans from ObVault/specs/plans/ │
│ ├── Reads infra docs from ObVault/specs/infra/ │
│ ├── Decrypts credentials via sops │
│ ├── Dispatches @executor, @reviewer, @infra-mgr │
│ └── Updates Linear tickets as work progresses │
└──────────────┬──────────────────────────────────────┘
│ claude -p --resume (autonomous)
┌──────────────▼──────────────────────────────────────┐
│ WORKERS (subagents via claude -p in project dirs) │
│ ├── hc-evidence/ @executor follows plan │
│ ├── hc-portal/ @executor follows plan │
│ ├── hc-knowledge-mcp/ @executor follows plan │
│ └── infrastructure @infra-mgr manages servers │
└─────────────────────────────────────────────────────┘
ObVault/
├── specs/
│ ├── plans/
│ │ ├── evidence/ HEL-xxx plans
│ │ ├── portal/ HEL-xxx plans
│ │ ├── knowledge-mcp/ HEL-xxx plans
│ │ ├── orchestrator/ Meta-plans (like this one)
│ │ └── infrastructure/ Infra change plans
│ ├── templates/ Reusable plan/test templates
│ ├── tests/
│ │ ├── evidence/ Verification plans
│ │ ├── portal/
│ │ └── knowledge-mcp/
│ ├── archive/
│ │ ├── evidence/ Completed plans
│ │ ├── portal/
│ │ └── knowledge-mcp/
│ └── infrastructure/ ← DONE
│ ├── servers.md
│ ├── services.md
│ ├── dns.md
│ ├── networking.md
│ ├── coolify.md
│ ├── supabase.md
│ ├── cron-jobs.md
│ ├── vercel.md
│ └── credentials.sops.yaml
├── .obsidian/
└── .sops.yaml
| Agent | Model | Tools | Purpose |
|---|---|---|---|
| planner | opus | Read, Grep, Glob, WebFetch, WebSearch | Research + write plans. Read-only. |
| executor | sonnet | Read, Write, Edit, Bash, Grep, Glob | Execute plans autonomously. Full write. |
| reviewer | opus | Read, Grep, Glob, Bash | Verify execution. Read-only + test cmds. |
| infra-mgr | sonnet | Read, Write, Edit, Bash, Grep, Glob | Manage servers, Coolify, DNS, crons. |
You + orchestrator (Opus) in Zellij, OR claude.ai remote session.
Research, discuss, write plan to specs/plans/{project}/DRAFT-xxx.md.
Create Linear ticket immediately. Review → rename DRAFT → HEL-xxx.
Orchestrator dispatches claude -p with plan file. Executor follows plan exactly.
Orchestrator reads result, chains --resume if multi-step. Updates Linear.
Orchestrator dispatches @reviewer. You review in Obsidian or Zellij.
Move to archive. Linear → Done.
claude -c resumes if process dies