Self-recovery, durable memory, and honest surfaces. The factory now recovers from context
exhaustion on its own, keeps what its agents learn across teardowns, and tells the operator the
truth on every surface — including when it has no data. (#104)
Self-recovering agents
- Automatic context-exhaustion recovery: the watchdog watches occupancy and recycles an exhausted
agent with its state checkpointed, so a filled window no longer wedges it burning tokens. - A durable recovery breaker halts re-stall loops and escalates instead of destroying work over and
over;af recovery reset <agent>re-arms it after you investigate. - Supervision is always on: a heartbeat file proves the watchdog itself is alive.
Durable memory
- A memory vault (
af memory add|list|check|status|export) survives step close, teardown, reset,
and worktree removal; learnings re-inject (bounded) at session start.
Live statuslines
af statuslinerenders model, branch, diff size, a context-fill bar, and session/daily spend;
af statusline statusself-diagnoses its pipeline and warns about config drift.
Config integrity
- Setters reject unknown keys instead of erasing them, validate cross-file agent references, and
accept an--if-content-hashcompare-and-set precondition;af config fingerprintreports the
config schema this binary speaks so consumers can detect skew.
Fair quality gates
- Gate judges see exactly the turn being graded and block only on contradiction, never on absence
of proof;af fidelity off --agent <name>exempts one misfiring agent, and agents can't disable
their own grader.
Honest observability
- "Not measured" is always distinct from "zero" — in the table, the JSON, and the web console; the
Floor shows context-fill and recovery badges; interrupted steps show as INTERRUPTED.
Full detail in CHANGELOG.md.