Skip to main content

Run state directory

Every RStack run creates a versioned directory under .rstack/runs/:
Runs are isolated from each other. Previous runs are never modified.

Registry files

The registry is generated on demand and indexes all available assets: Generate or refresh the registry:

Spec artifacts

RStack generates first-class spec files — not just task JSON:

Traceability

traceability.json maps every requirement through the entire lifecycle:
This makes it possible to audit: “Was this requirement actually implemented and tested?”

Approvals

approvals.json records explicit human decisions:

Events log

events.jsonl is an append-only log of every lifecycle event:

Evidence ledger

evidence.jsonl is a separate append-only file that records only validator-approved task results. Unlike events.jsonl (which logs everything), evidence.jsonl is a compliance-grade ledger — every entry requires task_id, kind, status, and an evidence path:

Metrics

metrics.json tracks cumulative run-level metrics updated after each task:
Used by sdlc_dashboard to populate the live metrics panels.

Stage checkpoints

After each successful sdlc_validate, RStack snapshots the stage artifact directory to checkpoints/<stage-id>/. This enables point-in-time rollback without losing prior work:
Rollback restores the checkpoint copy over the live stage directory and appends a stage_checkpoint_reverted event to events.jsonl. If no checkpoint exists, the tool returns NO_CHECKPOINT and makes no changes.

Memory

learnings.jsonl accumulates cross-run learnings. Each entry is one learning:
Future runs can search learnings with sdlc_memory() before planning to avoid repeating mistakes.

Project-local overrides

Projects can extend or override package defaults without forking:
Local files take precedence over the package defaults. The registry picks them up automatically on the next rstack-agents validate run.