A09 — Orchestrator Fleet container packaging

Executor: Composer 2.5

Updated

Ceiling: technical ≤ I2_integrated, autonomy ≤ A1_supervised.

Plan

Package the orchestrator for Fleet on Granite: Dockerfile, compose fragment, and fleet_client.py mapping registry actions to Fleet jobs/container-services.

Do

  1. Add orchestrator/Dockerfile and orchestrator/compose.fragment.yaml.
  2. Implement fleet_client.py — POST /v1/jobs, container-services integration.
  3. Map agent start/stop to Fleet docker_argv templates from A07.
  4. Document hybrid cursor_bridge fallback (host worker) if container Cursor CLI is unavailable.
  5. Do not add web UI in this phase.

Check

forge-agents/scripts/forge-agents-pdca/check-phase-gate.sh A09

Act

Fix Fleet packaging until A09 gate passes; proceed to web UI (A10).

Refuse

  • A2+ autonomy — Fleet calls must remain human-gated at orchestrator boundary.
  • Second Fleet — use existing Fleet API only; no parallel job plane.
  • Second executor — do not change Fleet contract without Platform ADR note.
  • Cursor-in-container assumption — document laptop/tunnel fallback when headless auth fails.