Files
Agent-System-Dev/AGENT-EXECUTION.md
T

4.8 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 makes Cursor receive an explicit --model auto; the other CLIs omit the model flag and use their configured default. Any other value is passed to that CLI as its model selector. The integration block declares the host-exempt paths and the transport, admission, and cleanup entry points.

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: minimax-cn/MiniMax-M3
    enabled: true

  codex:
    adapter: codex
    executable: codex
    model: auto
    enabled: true

integration:
  exempt_paths: [".task/**", "docs/superpowers/specs/**", "docs/superpowers/plans/**"]
  transport:
    command: scripts/agent-exec apply
  admission:
    command: scripts/agent-exec admit
  cleanup:
    command: make task-finish

Model preferences (project choice)

Generic rules for bounded packets, context budgeting, phase handoff and requested-versus-effective model identity live in the shared standards/agent-execution.md and workflows/handoff.md; project procedure is in policy/delivery.md. This section records only this project's choices.

  • Planning, design and implementation plans: Codex or Claude when available, in the host or a fresh CLI session. This is a preference, not a routing role.
  • Bounded implementation, repair and test units: the existing normal candidates in the configured role order above. Requested models:
    • PI: minimax-cn/MiniMax-M3, passed as --model provider/id. PI actual events have reported minimax-cn / MiniMax-M3 and the local offline catalog lists that profile; each run still records the effective model from that run's events.
    • Cursor: auto, passed explicitly as --model auto (Cursor Auto).
    • agy: Gemini 3.8 Flash is requested, but its exact selectable model ID and effective identity are NOT_VERIFIED (the agy models query needs a login that was not available). The profile therefore stays model: auto until an observed model ID exists; do not claim Gemini 3.8 Flash is active.
  • Assigning a different candidate or model to a unit needs a concrete, task-specific reason recorded in the task record, and stays within the existing roles and candidate lists. It is not a silent permission or routing change. Role lists, attempt limits, timeouts, output limits, the single Codex emergency attempt, stage isolation and fallback_to_host: never are unchanged by these preferences.
  • A requested model is prompt/config intent. Only the model reported in a run's actual event envelope counts as effective; when the CLI does not report it, record not-observable. Unknown context capacity, a missing agy login or missing automatic compaction are recorded facts, not global fail-closed conditions.