Small change, obvious approach. No research, no review.
blueprint implement validate commit
- phase fanout
§ rpiv-pi · keep the driver in the loop
A driver-in-the-loop pipeline for the Pi coding agent. One /wf command from brief to reviewed commit.
LLMs produce correct code: it compiles, it passes tests. Aligned code, the kind that fits your patterns and your unwritten conventions, still takes a driver. rpiv-pi keeps that driver in the loop at LLM speed.
start in three steps ↓ pi install npm:@juicesharp/rpiv-pi
§ the gap · correct → aligned
Output that compiles and passes tests can still be wrong for your codebase. Misaligned code isn’t zero-value. It’s negative-value: it ships, then it taxes every engineer who reads that file afterward.
correct
It compiles. The tests pass. The diff looks fine in PR review. Every capable model produces this reliably today, at any price point. This bar is no longer the hard part.
aligned
It fits the codebase’s existing patterns. It respects conventions that aren’t written down anywhere. It makes the boring choices mature systems rely on, and it stays reviewable and extensible by the next person who touches it.
without a driver
with the driver in the loop
§ install · 3 steps
pi install npm:@juicesharp/rpiv-pi /rpiv-setup
Reads ~/.pi/agent/settings.json. Previews missing siblings
and any legacy entries to prune. One confirm to apply.
Restart your Pi Agent session.
Requires Pi pi-coding-agent ^0.70.5
· rpiv-pi 1.20.0
Bring your own key (z.ai, OpenAI, Anthropic, and others). See README → Prerequisites .
§ first run · one command
Three commands of escalating commitment: look, inspect, go. The runner drives the chain; you decide at the moments that shape the outcome.
look · inspect · go
/wf preview every flow: what each one chains, shortest to deepest.
/wf build inspect the graph before committing to it: stages, gate, loop.
/wf build “describe your change” run the whole chain. Your brief is the only required input.
what happens on go
research ■ you
subagents fan out under fresh context; grounded questions come back to you before the doc is written.
blueprint ■ you
the plan pauses at micro-checkpoints. Your call before any code is written.
implement
fans out across the plan's phases, each verified against its success criteria.
validate
the finished work re-checked phase by phase against the plan.
code-review ↺ ≤ 3 passes
gates on a contract-validated blockers_count and loops back until it reads zero.
commit
grouped logically, message written, your name on the diff.
one JSONL ledger per run · .rpiv/workflows/runs/<id>.jsonl · resume any run with /wf @<run-id>
§ the six flows · pick one
Two questions choose your flow: how big is the change, and do you already have a diff? They run shortest to deepest, left to right.
Small change, obvious approach. No research, no review.
blueprint implement validate commit
Medium change you want reviewed before it lands.
research blueprint implement validate code-review commit
Complex change across many files or layers.
research design plan implement validate code-review commit
A diff already exists. Review it, optionally repair.
code-review blueprint implement validate commit
A large architecture review, planned phase by phase.
architecture-review blueprint implement validate code-review commit
An incoming PR. Decide if it earns a review: read-only, halts on a security BLOCK.
pr-triage security-gate
→
run /wf to preview every flow, /wf <name> for one’s graph,
/wf <name> “your task” to go.
§ the surface · what one install pulls in
Everything below ships behind pi install npm:@juicesharp/rpiv-pi
and one /rpiv-setup. Every piece is documented, and every
piece is yours to run directly. The workflows are composition, not
a cage.
6
workflows
one /wf command each, from a brief to a reviewed commit.
20
skills
contract-carrying, /skill:-runnable on their own, chainable by /wf.
12
subagents
specialists dispatched in parallel under fresh context.
6
siblings
every tool surface is its own extension; rpiv-pi registers zero tools.
MIT · v1.20.0 · ships raw TypeScript · no build step, Pi loads it directly
§ siblings · 6 packages
rpiv-pi registers zero tools. Every tool surface lives in a sibling extension,
detected by a regex over ~/.pi/agent/settings.json.
/rpiv-setup installs the missing ones in a single confirm.
Pi extension. A second opinion the model can request from a stronger reviewer model before it acts.
pi install npm:@juicesharp/rpiv-advisor peers pi-ai · pi-coding-agent · pi-tui · typebox
Pi extension. Shell-style $1 / $ARGUMENTS placeholders and !`cmd` / ```! shell substitution, expanded into your Pi skills at invocation.
pi install npm:@juicesharp/rpiv-args peers pi-coding-agent
Pi extension. A structured questionnaire the model can put to you when it would otherwise guess, with typed options instead of free-form replies.
pi install npm:@juicesharp/rpiv-ask-user-question peers pi-coding-agent · pi-tui · typebox
Pi extension. The /btw slash command, for putting a one-off side question to the same primary model without polluting the main conversation.
pi install npm:@juicesharp/rpiv-btw peers pi-ai · pi-coding-agent · pi-tui
§ models · no frontier budget required
The pipeline produces genuinely good results on open-weight models at a fraction of frontier token prices, and it is honest about the residual gap.
GLM-5.1Kimi K2.5MiMo-V2-Pro … or Claude, GPT, Gemini: bring your own key.
/rpiv-models Per-skill and per-stage model + reasoning-effort overrides, cascading from defaults down to a single workflow stage. Run the chain on an affordable model and escalate just the review and judge stages to a frontier one, spending the expensive tokens only where they earn their keep.
gain
cost
§ roadmap · done → next → possible
No dates, no version targets. Items move down the list as they ship. The direction is the promise: keep an experienced driver in the loop while the work moves at LLM speed.
shipped · the product you just scrolled
what's next
what's possible
→ the structured list lives in roadmap.md; the README keeps the philosophy.
§ setup · /rpiv-setup
In a headless or automated session it notifies and exits: nothing is read, nothing is installed.
Reads your Pi settings and figures out which sibling extensions are missing and which stale entries should go. If settings can't be read, it backs off instead of guessing.
Already installed and clean? It says so and returns: no prompt, no changes.
Shows a single preview of exactly what it will install and what it will remove, then asks to proceed. Cancel leaves everything untouched.
Removes the outdated entries from your settings. A write error is reported, never fatal.
Each missing sibling installs on its own, with a time limit so one slow or stuck install can't stall the rest.
Lists what installed and what failed, and asks you to restart your Pi session only when something actually changed.