CREATE TABLE agent_runs (
id TEXT PRIMARY KEY,
mission_id TEXT,
episode_id TEXT,
thread_id TEXT,
proposal_id TEXT,
approval_id TEXT,
source_event_id TEXT,
actor TEXT,
goal TEXT NOT NULL,
status TEXT NOT NULL CHECK (status IN (
'pending','running','blocked','cancelled','succeeded','failed'
)),
tick_count INTEGER NOT NULL DEFAULT 0,
last_outcome TEXT,
last_reason TEXT,
max_outer_steps INTEGER NOT NULL DEFAULT 64,
max_wall_time_s INTEGER NOT NULL DEFAULT 3600,
per_tick_wall_s INTEGER NOT NULL DEFAULT 60,
elapsed_wall_ms INTEGER NOT NULL DEFAULT 0,
total_outer_steps INTEGER NOT NULL DEFAULT 0,
params_json TEXT,
cancel_requested INTEGER NOT NULL DEFAULT 0,
error TEXT,
started_at TEXT,
completed_at TEXT,
last_tick_at TEXT,
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
)