Why: The approved contract requires exactly three safe attempts for Cursor, agy, and PI, then one Codex emergency attempt, never host implementation authority. Evidence: Routing/config tests were RED for never, max attempts, forbidden adapters, and legacy host fallback; 133 related tests now pass with one opt-in probe skipped. Impact: Normal emergency-mode roles reject all non-Cursor/agy/PI adapters, project fallback is never, and Codex remains available through emergency/review paths. Refs: independent Codex review of feature/agent-cli-enforcement
2.2 KiB
Project Agent Execution
Project-local execution routing configuration. This document is the single
authority for which Agent CLI profiles may implement, repair, test, or review
bounded units. Human-readable notes may appear outside the machine block; the
parser accepts exactly one agent-execution fenced block.
U3's execution controller and U4's project wiring are integrated. This file is
the execution-routing authority for implementation, repair, test, and review.
Normal implementation, repair, and test routes stay Cursor, Antigravity
(agy), and PI. Each of those profiles may be attempted up to
max_attempts_per_profile, which is exactly 3 whenever emergency_profile
is configured. Only after those candidates safely exhaust their attempts does
the enabled emergency codex profile run once. Codex remains out of the three
normal role lists and may also appear in review. fallback_to_host is
never: the controller does not emit host-fallback-authorized and does not
increment host fallback authorizations. Safe exhaustion without an emergency
candidate ends unavailable or blocked, and that result does not authorize
the host to write the unit. The legacy value all-unavailable remains
parseable and likewise grants no host write authority. Cursor uses
cursor-agent-stable. model: auto lets each CLI use its configured default
model; PI therefore uses the operator-selected MiniMax default.
schema: agent-execution/v1
execution:
fresh_process_per_unit: true
permission: run-everything
fallback_to_host: never
max_parallel: 3
timeout_seconds: 7200
idle_timeout_seconds: 600
summary_bytes: 16384
raw_output_bytes: 10485760
max_attempts_per_profile: 3
emergency_profile: codex
roles:
implementation: [cursor, antigravity, pi]
repair: [cursor, antigravity, pi]
test: [pi, antigravity, cursor]
review: [pi, antigravity, cursor, codex]
profiles:
cursor:
adapter: cursor
executable: cursor-agent-stable
model: auto
enabled: true
antigravity:
adapter: antigravity
executable: agy
model: auto
enabled: true
pi:
adapter: pi
executable: pi
model: auto
enabled: true
codex:
adapter: codex
executable: codex
model: auto
enabled: true