Epic: #12 · Cross-repo counterpart: ruvnet/RuVector#851 · Program epic: ruvnet/RuVector#837 · Plan: 03-program-plan.md in ruvnet/ruvector
Goal
Expose this repo's constitution / admission-gate as an externally callable API for capability-expansion approval, so ruvector's promotion pipeline can use it as PIR's enforcement point for "zero unapproved capability expansion."
Every mutation that would expand an agent's capability set — new tool access, new physical action class, or new communication peer — requires explicit constitutional approval logged to the witness chain, at a higher bar and logged distinctly from ordinary behavioral-mutation promotion (which WP2 handles in ruvector).
The distinction is the point. A behavioral mutation makes an agent better at what it may already do; a capability-expanding mutation changes what it may do at all. Routing both through one gate means the second class silently inherits the first's threshold, and "zero unapproved capability expansion" becomes unverifiable after the fact.
Why this repo
Per the program's asset map, this repo is the most governance-complete component surveyed — observe → explain → mutate → prove → canary → promote/rollback, with a typed mutation genome, signed antibody packages, and an existing constitution governance plane. PIR adopts that pattern rather than building a parallel gate.
Grounding note: the real implementation is TypeScript in packages/radio-moe/ (~6.2K LOC source + 3.2K LOC test), not the Rust crate listing an earlier program pass pointed at.
Acceptance criteria
Honesty discipline
Per rvm ADR-285's precedent, do not let a Cloud Run–hosted control plane imply enforcement strength it does not have. If the gate is advisory in some deployment topology, say so in that topology's status reporting.
Dependencies
WP8 (#10) — approvals must be anchorable into the canonical chain, or WP12's single-query traversal is impossible. Feeds WP12 in ruvector.
Epic: #12 · Cross-repo counterpart: ruvnet/RuVector#851 · Program epic: ruvnet/RuVector#837 · Plan:
03-program-plan.mdinruvnet/ruvectorGoal
Expose this repo's
constitution/ admission-gate as an externally callable API for capability-expansion approval, soruvector's promotion pipeline can use it as PIR's enforcement point for "zero unapproved capability expansion."Every mutation that would expand an agent's capability set — new tool access, new physical action class, or new communication peer — requires explicit constitutional approval logged to the witness chain, at a higher bar and logged distinctly from ordinary behavioral-mutation promotion (which WP2 handles in
ruvector).The distinction is the point. A behavioral mutation makes an agent better at what it may already do; a capability-expanding mutation changes what it may do at all. Routing both through one gate means the second class silently inherits the first's threshold, and "zero unapproved capability expansion" becomes unverifiable after the fact.
Why this repo
Per the program's asset map, this repo is the most governance-complete component surveyed — observe → explain → mutate → prove → canary → promote/rollback, with a typed mutation genome, signed antibody packages, and an existing
constitutiongovernance plane. PIR adopts that pattern rather than building a parallel gate.Grounding note: the real implementation is TypeScript in
packages/radio-moe/(~6.2K LOC source + 3.2K LOC test), not the Rust crate listing an earlier program pass pointed at.Acceptance criteria
ruvectoris budgeting for churn rather than assuming production-grade stability.Honesty discipline
Per
rvmADR-285's precedent, do not let a Cloud Run–hosted control plane imply enforcement strength it does not have. If the gate is advisory in some deployment topology, say so in that topology's status reporting.Dependencies
WP8 (#10) — approvals must be anchorable into the canonical chain, or WP12's single-query traversal is impossible. Feeds WP12 in
ruvector.