Tasks are JSON objects with this shape:
task_id
project_id
sandbox/
intent
tool
cursor
gemini
copilot
codex
claude
ollama
instructions
acceptance_criteria
retry_policy
max_retries
backoff_strategy
status
pending
in_progress
completed
blocked
working_directory
agent_mode
opus-4.5
auto
affects_files
depends_on
test_command
tests_required
[ { "task_id": "frontend-001", "intent": "Extend existing React component", "tool": "gemini", "instructions": "Extend the existing App.tsx component to add user authentication.", "acceptance_criteria": [ "App.tsx includes authentication logic", "Uses existing React Router setup" ], "retry_policy": { "max_retries": 2 }, "status": "pending" } ]
Pending → In progress → Completed (validation passed) or Blocked (failed after max retries).