T2 complete: OODA loop skeleton with LLM integration, bounded actions, and 32 offline unit tests. Deliverables: - runtime/agent.py — CLI entry point (--domain/--all/--dry-run/--llm) - runtime/context.py — Observe: fetch_state + build_context - runtime/actions.py — Act: parse_plan + execute (3 sanctioned writes) - runtime/README.md — usage guide and architecture overview - runtime/tests/ — 32 tests, fully offline - runtime/pyproject.toml — standalone package with llm-connect dep - canon/architecture/adr-002-custodian-agent-runtime-design.md Key design decisions (ADR-002): - Lives in runtime/ (not a new repo) — tight canon/state-hub coupling - ClaudeCodeAdapter by default (local-first, no API key) - Single-pass synchronous OODA for v0.1 simplicity - Exactly 3 sanctioned write ops: add_progress_event, update_task_status, flag_for_human - LLM returns JSON block in markdown for structured+auditable output Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.2 KiB
id, type, title, domain, status, owner, topic_slug, state_hub_workstream_id, created, updated
| id | type | title | domain | status | owner | topic_slug | state_hub_workstream_id | created | updated |
|---|---|---|---|---|---|---|---|---|---|
| CUST-WP-0001 | workplan | Custodian Agent Runtime — Bootstrap | custodian | done | custodian | custodian | a2d9919d-62ec-49e7-9533-ba650757e70a | 2026-02-25 | 2026-03-12 |
Custodian Agent Runtime — Bootstrap
Summary
Design and bootstrap the Custodian as an acting agent: a standalone LLM-powered service that uses the State Hub as its coordination layer. Distinct from the State Hub tooling itself.
Context
The State Hub provides the read model and MCP interface. The Agent Runtime is a separate concern: the loop, policy engine, and tool adapters that make the Custodian an autonomous (or semi-autonomous) participant rather than a passive data store.
Dependencies
Both dependencies resolved and removed from the dependency graph (2026-03-11):
— resolved 2026-02-27: llm-connect extracted as standalone installable package and integrated.markitect/llm-shared-library(llm-connect)— resolved 2026-03-11: Railiance01 operational with k3s + HA failover tested + backup verified (RAIL-BS-WP-0002, RAIL-BS-WP-0003, RAIL-BS-WP-0004 all completed).railiance/phase-0-operational-baseline
This workstream is unblocked. T2 is ready to execute.
Tasks
T1 — Bootstrap blocked: awaiting markitect/llm-shared-library
id: CUST-WP-0001-T01
state_hub_task_id: ac42e548-10bf-4851-94e2-c8d35876f2f9
status: done
priority: high
All implementation tasks for the agent runtime were blocked until llm-connect was extracted as a standalone installable package from markitect. Resolved 2026-02-27: llm-connect integrated in state-hub as editable dependency; markitect llm-check smoke test green.
T2 — Define agent architecture and capability scope
id: CUST-WP-0001-T02
state_hub_task_id: 9a9297cd-bd3c-409c-8384-6f06cfc6faa2
status: done
priority: medium
Decide the Custodian agent's primary loop: what is the core OODA cycle?
What tools does it need beyond the State Hub MCP? Where does it live —
new repo or runtime/ in the-custodian? Produce an architecture sketch
covering: entry point, LLM integration (via llm-connect), tool manifest,
state-hub interaction pattern, and deployment target.