The governed lifecycle
RStack enforces this operating model on every run:Required controls
| Control | Description |
|---|---|
| Plan approval gate | No implementation before plan is approved in interactive mode |
| Requirements gate | No build after requirements/architecture gates without sdlc_approve |
| Destructive action gate | rm -rf, git push, npm publish, terraform apply are blocked unless explicitly approved |
| Read-only validators | Validator agents default to read-only tools — they cannot modify files |
| Acceptance criteria | Every task must have acceptance criteria before it can be built |
| Builder contracts | Every builder writes builder.json before the task is complete |
| Validator contracts | Every validator writes validation.json |
| Traceability | traceability.json maps requirements → design → tasks → files → tests → evidence |
| No DONE without evidence | A task is only complete when builder.json + validation.json exist |
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
| Role | Default tools | Can write? |
|---|---|---|
| Orchestrator | All | Yes (coordination only) |
| Builder | read, bash, edit, write, grep, find, ls | Yes |
| Validator | read, grep, find, ls | No |
| Specialist | Role-specific | Depends on role |
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: