progress family of subcommands maintains the execution evidence ledger for a SkillSpec-guided run. All subcommands write to or read from <run-dir>/execution.jsonl, the append-only file that trace align uses to verify obligations.
The key rule: use progress checkpoint --quiet for all routine successful evidence rows. It keeps the ledger exact without making the user watch a progress-command parade and without hand-authoring event files. Use progress record only as an escape hatch for failures, blockers, debugging, or explicit proof-detail requests that cannot be expressed with typed checkpoint flags.
progress checkpoint
Appends several routine successful progress and proof events to execution.jsonl in one atomic checkpoint. This is the preferred path for recording satisfied requirements, completed phases, fulfilled routes, answered elicitations, and attached evidence.
--requirement-satisfied, --phase-completed, --route-fulfilled, --route-check-completed, --after-success-completed, --obligation-satisfied, --elicitation-answered, and --evidence-attached flags are repeatable.
Options
Example
Record a satisfied requirement, completed phase, and fulfilled route in one checkpoint:progress record
Appends one structured event to <run-dir>/execution.jsonl. This is a low-level escape hatch for failures, blockers, debugging, or explicit proof-detail requests. For routine successful rows, use progress checkpoint --quiet.
Options
Example
Record a failed requirement with evidence:progress stats
Appends a stats_collected event with workspace and token metrics. Use this so quiet trace align can report measured consumption, savings, and economy when running --summary.
Options
Example
Record estimated direct-run token metrics quietly:progress final-response
Appends a final_response_sent event that proves the final answer included the required sections: result, evidence, alignment status, and token savings. Run this immediately before sending the final response to the user.
Options
Example
Record that the final response included all required sections:progress show
Reads the decision trace and execution.jsonl, computes a progress.json snapshot, and reports completed, current, blocked, and remaining phases. Use this as an internal gate check; do not surface it in normal execution unless details are needed for a blocker or failure.
Options
Example
progress batch
Appends several structured progress and proof events from an existing JSONL or JSON array file to execution.jsonl. Use this only when a JSONL or JSON array proof artifact was already captured at a natural phase boundary — not to manufacture missing route, obligation, elicitation, or phase proof after alignment.
Options
Example
Event Reference
progress record and progress batch accept the following event values. Hyphens and underscores are both accepted (e.g. requirement-satisfied and requirement_satisfied are equivalent).
The events
final_response_sent, forbidden_action, forbidden_action_observed, and forbid_violated are accepted by progress batch (which uses a broader allowlist) but are not valid for progress record. Use progress batch to append a pre-captured JSONL file containing those event types, or use the dedicated progress final-response subcommand for final-response proof.