27 lines
1.0 KiB
Markdown
27 lines
1.0 KiB
Markdown
# Loop Harness MVI
|
|
|
|
Loop engineering is useful only after it becomes a harness:
|
|
|
|
1. **One bounded cycle**: claim one task, run one worker, stop.
|
|
2. **Durable state**: task status lives in JSON/DB, not agent context.
|
|
3. **Event log**: every cycle appends JSONL evidence.
|
|
4. **Budget gate**: token estimate blocks before work starts.
|
|
5. **Verifier gate**: tests/review decide whether the next cycle may run.
|
|
6. **Human gate**: pause on deploy, unknown failures, or budget spikes.
|
|
|
|
This repo's smallest working primitive is `pipeline/harness_loop.py`.
|
|
It intentionally does not run agents itself; callers plug in Claude Code, Pi,
|
|
Codex, OpenClaw, or local scripts after a task is claimed.
|
|
|
|
```bash
|
|
python -m pipeline.harness_loop \
|
|
--tasks .runs/demo/tasks.json \
|
|
--events .runs/demo/events.jsonl \
|
|
--run-id demo \
|
|
--max-tokens 20000 \
|
|
--estimate-tokens 3000
|
|
```
|
|
|
|
Skipped for now: dashboards, Postgres, queues, schedulers, and multi-provider
|
|
routing. Add those only after the JSONL spine proves the loop is worth running.
|