Architecture
The tier-3 model
The goatcs-harness runtime is classified as tier-3 in a harness maturity model:
| Tier | Name | Characteristics |
|---|---|---|
| 1 | Raw prompt | No scaffolding; direct model invocation |
| 2 | Context engineering | Prompt templates, few-shot examples, hooks, MCP |
| 3 | LLM-as-runtime | Explicit graph topology, typed state, deterministic checkpoints, machine-enforced routing, wave-parallel dispatch, verification batteries |
Tier-3 means the LLM is not merely assisted by context engineering but is programmed by a graph: the harness reads graph.json, computes the ready-set at each step, dispatches nodes, evaluates gate conditions, runs no-llm nodes as code, and checkpoints after each node.
Inline drivability
Skills can be driven in three modes:
--provider inline— the orchestrator (you) reasons at each node. Deterministic nodes run as code; reasoning nodes pause at exit-11 for you to submit output, then resume. This is the primary mode for the epiphany pipeline.--provider claude-cli— the harness spawnsclaude -pfor each reasoning node.--provider codex— the harness spawns Codex for each reasoning node.
The graph is identical across providers; only the live author differs.
Pipeline
The harness pipeline for a single run:
- Load — read
graph.json, validate againstgraph.schema.json(PRC-1). - Seed — load the seed file (initial state / inputs).
- Ready-set loop — compute which nodes are ready (all predecessors complete, scale gates satisfied, branch labels active), dispatch them, collect output, checkpoint.
- Gate evaluation — for
forward-conditionaledges, evaluate thegate_conditionexpression against the current signal state. - Verification —
no-llmverifier nodes run deterministic checks. - Emit — atomic write of final artifacts (WAL + shadow-write + atomic rename).
Module map
| Component | Purpose |
|---|---|
graph.json |
Topology declaration (nodes, edges, metadata) |
graph.schema.json |
JSON Schema for graph validation |
modules/*.md |
Per-node protocol documents |
scripts/ |
Utility scripts (validate, emit, verify) |
tests/ |
Smoke tests and regression suite |
hats.json |
Cognitive-persona-to-model-tier mapping |
wiring-contract.yaml |
Expected wiring for integration verification |