Skip to main content

Tool surface

The RStack Pi extension registers these tools on session_start. They are available in any Pi session where RStack is installed.

sdlc_orchestrate

Load the RStack orchestrator, builder, and validator operating instructions for a goal. Call first — before sdlc_start. Injects the core agent instructions into the session.
sdlc_orchestrate(goal="Build a production-ready REST API with auth and tests")
ParameterTypeRequiredDescription
goalstringThe high-level delivery goal

sdlc_start

Create a new run directory under .rstack/runs/<run_id>/ and initialize run state.
sdlc_start(goal="Build a production-ready REST API with auth and tests")
ParameterTypeRequiredDescription
goalstringThe delivery goal (same as sdlc_orchestrate)
Creates:
.rstack/runs/<run_id>/
  manifest.json
  context.md

sdlc_clarify

Ask or capture product-owner answers before planning. Called when the goal has ambiguities.
sdlc_clarify()
RStack surfaces open_questions from the transcript and waits for your answers before proceeding to sdlc_plan.

sdlc_plan

Generate the delivery plan, task breakdown, spec artifacts, and traceability.
sdlc_plan()
Creates:
.rstack/runs/<run_id>/
  plan.md
  tasks.json
  traceability.json
  specs/
    product-brief.md
    requirements.json
    architecture.md
sdlc_plan requires approval before sdlc_build_next can be called.

sdlc_spec

Read or update governed spec artifacts under .rstack/runs/<run_id>/specs/.
sdlc_spec(artifact="requirements.json")
sdlc_spec(artifact="architecture.md", update="Add Redis caching layer for session storage")
ParameterTypeRequiredDescription
artifactstringSpec file name (e.g. architecture.md)
updatestringInstruction for updating the spec

sdlc_approve

Record a human approval or rejection gate. Required before build and release phases.
sdlc_approve(artifact="plan.md", status="APPROVED")
sdlc_approve(artifact="requirements.json", status="APPROVED")
sdlc_approve(artifact="architecture.md", status="APPROVED")
sdlc_approve(artifact="release-readiness.json", status="APPROVED")
sdlc_approve(artifact="destructive-action", status="APPROVED")
ParameterTypeRequiredDescription
artifactstringThe artifact or action being approved
status"APPROVED" | "REJECTED"Your decision
notesstringOptional notes or conditions
Writes to .rstack/runs/<run_id>/approvals.json.

sdlc_agents

List all available agents, skills, and plugins for the current run.
sdlc_agents()
sdlc_agents(domain="backend")
sdlc_agents(kind="specialist")
ParameterTypeRequiredDescription
domainstringFilter by domain (e.g. backend, frontend)
kindstringFilter by kind (core, sdlc, specialist, plugin)

sdlc_delegate

Spawn an isolated Pi worker agent for a bounded task. Validators default to read-only tools.
sdlc_delegate(role="builder", task="Implement JWT auth middleware")
sdlc_delegate(role="validator", task="Review auth implementation for security issues")
sdlc_delegate(role="researcher", task="Find best practices for refresh token storage")
ParameterTypeRequiredDescription
role"builder" | "validator" | "researcher" | "reviewer"Worker role
taskstringTask description
toolsstring[]Override default tool set
contextstringAdditional context to pass to the worker

sdlc_build_next

Prepare the next pending task packet with core, SDLC, specialist, skill, and plugin context. Requires plan approval.
sdlc_build_next()
sdlc_build_next(task_id="task_003")
ParameterTypeRequiredDescription
task_idstringTarget a specific task (default: next pending)
Returns a task packet ready for execution. After completing the task, write builder.json.

sdlc_validate

Run the validator team against the most recently completed builder task. Writes validation.json.
sdlc_validate()
sdlc_validate(task_id="task_003")
ParameterTypeRequiredDescription
task_idstringTarget a specific task (default: most recent)

sdlc_status

Show run status, task progress, missing approvals, registry counts, and next recommended action.
sdlc_status()
Example output:
Run: run_20240525_001
Goal: Build a production-ready REST API

Tasks:   6/10 complete (4 pending)
Pending approvals: release-readiness.json

Registry: 196 agents · 156 skills · 72 plugins
Next: sdlc_build_next() → task_007 (Add rate limiting middleware)

sdlc_memory

Search or append project learnings for future runs.
# Search existing learnings
sdlc_memory(search="JWT refresh token")

# Append a new learning
sdlc_memory(append="Always validate tenant_id in JWT before any data access")
ParameterTypeRequiredDescription
searchstringSearch query for existing learnings
appendstringNew learning to save
Writes to .rstack/memory/learnings.jsonl.

sdlc_dashboard

Launch the live HTML Observability Hub for the current run. Generates dashboard.html and starts a local HTTP server.
sdlc_dashboard()
sdlc_dashboard(run_id="2024-05-25T10-00-00Z-my-run")
ParameterTypeRequiredDescription
run_idstringTarget a specific run (default: most recent)
The dashboard auto-refreshes every 2 seconds and shows:
  • Stage Execution Timeline — all 15 canonical stages with status pills (READY / PENDING / PASS / FAIL)
  • Cumulative Metrics — total duration, API cost cap ($), tool-call buffer (current / 40)
  • Traceability Explorer — link to traceability.json
  • Harness Guardrail Limits — enforced policy values
Writes dashboard.html to .rstack/runs/<run_id>/dashboard.html and serves it at http://localhost:3008 (port configurable).

sdlc_trace

Print a chronological event trace for the current or specified task. Includes tool calls, guardrail hits, memory events, and validation check results.
sdlc_trace()
sdlc_trace(task_id="003-architecture")
ParameterTypeRequiredDescription
task_idstringTarget a specific task (default: most recent)
Example output:
[10:01:05] run_started          → goal: "Build a weather app"
[10:01:06] builder_task_prepared → task: 003-architecture
[10:01:07] tool_call             → read: src/index.js
[10:01:08] guardrail_triggered   → maxToolCallsPerTask approaching (38/40)
[10:01:09] task_validated        → PASS
[10:01:09] episode_memory_written → episode_abc123

sdlc_rollback

Restore a stage directory to its last saved checkpoint snapshot.
sdlc_rollback(stage_id="06-architecture")
sdlc_rollback(stage_id="03-documentation", run_id="2024-05-25T10-00-00Z-my-run")
ParameterTypeRequiredDescription
stage_idstringStage to restore (e.g. 06-architecture)
run_idstringTarget a specific run (default: most recent)
Checkpoints are created automatically after each successful sdlc_validate. Rollback copies the checkpoint back over the live stage directory and appends a stage_checkpoint_reverted event to events.jsonl. Returns NO_CHECKPOINT if no snapshot exists for the stage.