Goal
Make RStack's governance as strong on every supported harness as it is on Pi, keeping the extension/plugin model as the primary integration path — then extend reach to MCP-native hosts (Hermes and beyond). Grounded in the 2026-07-13 feasibility audit (docs/audits/2026-07-13-feasibility-standalone-vs-extensions.md).
Strategic decision (Richardson, 2026-07-13): do not rebuild RStack as a standalone coding agent with an embedded LLM. The closest open competitor (ai-sdlc-framework/ai-sdlc) is a convergent design that also delegates execution to Claude Code/Codex — the frontier is govern the loop, delegate execution. RStack's moat is governance enforced in code; this epic closes the holes in that moat and makes "100% integrated with every harness" true. A thin standalone executor may later ship as a fifth adapter on the Claude Agent SDK (its can_use_tool → PermissionResultDeny(reason) maps directly onto our guard) — tracked separately, after this epic.
The enforcement matrix today
| Mechanism |
Pi |
Claude Code |
Tau |
Operator |
Hermes |
| Destructive-action gate |
✅ |
✅ |
✅ |
✅ |
❌ (not wired) |
| Self-approval forgery blocked |
❌ #369 |
❌ #369 |
❌ #369 |
❌ #369 |
— |
| Classifier completeness |
⚠️ #370 |
⚠️ #370 |
⚠️ #370 |
⚠️ #370 |
— |
| Guard fails safe (not open) |
n/a |
❌ #371 |
❌ #371 |
❌ #371 |
— |
| Validator read-only sandbox |
✅ |
❌ #372 |
❌ #372 |
❌ #372 |
❌ |
| Attempt/telemetry budgets |
✅ |
❌ #373 |
❌ #373 |
❌ #373 |
❌ |
| Reachable at all |
✅ |
✅ |
✅ |
✅ |
❌ #374 #375 |
Children (sequenced)
Wave 1 — close the moat's holes (do first; cross-harness):
Wave 2 — Pi-parity on every extension harness ("no gaps"):
Wave 3 — reach every MCP host (next; extensions stay primary):
Definition of done
- The enforcement matrix above is all ✅ for Pi, Claude Code, Tau, Operator (Waves 1–2).
doctor --framework <fw> truthfully reports guard resolvability, validator stamping, and budget enforcement for each harness.
- No governance policy is duplicated per harness — all paths funnel through the single classifier + audit + claim-gate.
- Wave 3 delivers MCP reach with the same enforcement, no second policy engine.
Issues before branches (per project rule). Claude solo per Richardson's 2026-07-13 directive; backend logic stays in place.
Goal
Make RStack's governance as strong on every supported harness as it is on Pi, keeping the extension/plugin model as the primary integration path — then extend reach to MCP-native hosts (Hermes and beyond). Grounded in the 2026-07-13 feasibility audit (
docs/audits/2026-07-13-feasibility-standalone-vs-extensions.md).Strategic decision (Richardson, 2026-07-13): do not rebuild RStack as a standalone coding agent with an embedded LLM. The closest open competitor (
ai-sdlc-framework/ai-sdlc) is a convergent design that also delegates execution to Claude Code/Codex — the frontier is govern the loop, delegate execution. RStack's moat is governance enforced in code; this epic closes the holes in that moat and makes "100% integrated with every harness" true. A thin standalone executor may later ship as a fifth adapter on the Claude Agent SDK (itscan_use_tool → PermissionResultDeny(reason)maps directly onto our guard) — tracked separately, after this epic.The enforcement matrix today
Children (sequenced)
Wave 1 — close the moat's holes (do first; cross-harness):
approvals.json; forged non-dashboard record passes audit)git checkout/restore/clean,curl|bash,chmod -R)Wave 2 — Pi-parity on every extension harness ("no gaps"):
Wave 3 — reach every MCP host (next; extensions stay primary):
sdlc_*tools (incl. prompt/skill/model:exposure design)request_permission)Definition of done
doctor --framework <fw>truthfully reports guard resolvability, validator stamping, and budget enforcement for each harness.Issues before branches (per project rule). Claude solo per Richardson's 2026-07-13 directive; backend logic stays in place.