CI / build (push) Has been cancelled
- Fix decomposition:approved and human_intervention dead-end phases - Add scripts/autopilot.py: real drive_all() implementation - Fix guard plugin: throw Error instead of injecting user messages - Fix status.py: double continue, _require_state, --list-states - Add Category 3 (git-based modification) audit - Add Category 5 (stuck-task detection) audit - All 206 tests pass
615 B
615 B
Fix Guard Plugin Derailment
Problem
The automaton-guard plugin (plugins/automaton-guard/plugin.ts:61-64) calls client.chat() with role: "user" when an edit is blocked. This injects synthetic user messages that can derail agent context mid-operation.
Fix
Replace the client.chat() call with returning an error through the output mechanism, using throw new Error() or equivalent so the harness handles the rejection cleanly without contaminating the agent's message history.
Verification
- Guard plugin rejects blocked edits without injecting user messages
- Agent context is not contaminated