Skip to main content
The 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.
All --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.