The governed lifecycle
RStack enforces this operating model on every run:Required controls
Approval gates
RStack usessdlc_approve to record explicit human decisions:
.rstack/runs/<run_id>/approvals.json and referenced in traceability. The recorded approver is the resolved identity (git config or RSTACK_USER), not a placeholder.
Enforce policy & manager roles
For team use you can require specific approvals in every mode (including express) and restrict who may approve, via.rstack/policy.json plus the
RSTACK_APPROVAL_TOKEN / RSTACK_MANAGER_USERS settings. The moment a gate
blocks, every configured notification channel is paged. See
Approvals & Policy for the full model.
Protected actions
RStack blocks these commands during governed runs unless a matching approval exists:Shell commands
Shell commands
Package publishing
Package publishing
Infrastructure
Infrastructure
Database
Database
Secret-like write paths
Secret-like write paths
Team roles and tool permissions
Validators are intentionally read-only. They review builder output, check tests, and write
validation.json — but cannot modify source files.
Evidence requirements
A task is only considered complete when all of the following exist:builder.json minimum structure:
validation.json minimum structure:
