749 lines
34 KiB
Markdown
749 lines
34 KiB
Markdown
# ADR-036: RuVector AGI Cognitive Container with Claude Code Orchestration
|
|
|
|
**Status**: Partially Implemented
|
|
**Date**: 2026-02-15 (updated 2026-02-17)
|
|
**Decision owners**: RuVector platform team, Claude Flow orchestration team, RVF runtime team
|
|
**Depends on**: ADR-029 (RVF Canonical Format), ADR-030 (Cognitive Container), ADR-033 (Progressive Indexing Hardening), ADR-034 (QR Cognitive Seed), ADR-035 (Capability Report), ADR-039 (RVF Solver WASM AGI Integration)
|
|
**Affects**: `rvf-types/src/agi_container.rs`, `rvf-runtime`, `npm/packages/rvf-solver/`, `npm/packages/rvf/`
|
|
|
|
## Context
|
|
|
|
A state change into general intelligence can emerge when two conditions hold:
|
|
|
|
1. **Existential facilities** -- a substrate that can persist identity, memory,
|
|
constraints, health signals, and self-maintenance.
|
|
2. **Architectural organization** -- a framework that can package the system,
|
|
control execution, and enforce repeatability while enabling incremental
|
|
self-reinforced feedback loops.
|
|
|
|
RuVector is the existential substrate. RVF is the organizational and packaging
|
|
framework. Claude Code is the runtime orchestrator for planning and execution,
|
|
using agent teams and tool connectivity via MCP.
|
|
|
|
The deliverable is a portable intelligence package that other teams can run and
|
|
obtain the same graded outcomes, with replayable witness logs, policy controls,
|
|
and deterministic environment capture.
|
|
|
|
## Problem Statement
|
|
|
|
We need an architecture that can do all of the following in one system:
|
|
|
|
1. Learn continuously from real-world event streams
|
|
2. Maintain its own structural health and recover from corruption or drift
|
|
3. Act through tools with governed authority
|
|
4. Produce repeatable outcomes across machines and teams
|
|
5. Package the full intelligence state so it can be shipped, audited, and replayed
|
|
|
|
Most LLM-centered architectures measure success by static accuracy, but this
|
|
thesis needs longitudinal coherence under mutation. This ADR defines that
|
|
system boundary explicitly.
|
|
|
|
## Decision Drivers
|
|
|
|
1. Repeatable outcomes, not just plausible responses
|
|
2. Long-horizon coherence under continuous updates
|
|
3. Governance by default, including proof trails for actions
|
|
4. Minimal reliance on hidden model internals for learning
|
|
5. Portability across environments, including edge and offline modes
|
|
6. Strong separation of control plane and data plane
|
|
7. Tool-use reliability, batching, and reduced context pollution
|
|
|
|
Claude Code is chosen as orchestrator because it is designed to read codebases,
|
|
edit files, run commands, manage workflows, and integrate with external systems
|
|
via MCP, including multi-agent teams coordinated by a lead.
|
|
|
|
Programmatic tool calling is used as the preferred high-reliability tool
|
|
orchestration strategy because it makes control flow explicit in code and
|
|
reduces repeated model round-trips and context bloat.
|
|
|
|
## Definitions
|
|
|
|
| Term | Definition |
|
|
|------|-----------|
|
|
| **RuVector substrate** | Persistent world model combining vectors, graphs, constraints, and signals. Supports graph querying via Cypher. Includes self-learning and graph neural embedding updates, with dynamic minimum-cut as a coherence signal. |
|
|
| **RVF framework** | Cognitive container format that packages data, indexes, models, policies, and runtime into a single artifact. A single file that stores vectors and models, boots as a Linux microservice, accelerates queries using eBPF, branches at cluster granularity, and provides cryptographic witness chains. |
|
|
| **Claude Code orchestrator** | Agentic coding and task execution environment that runs in terminal, IDE, desktop, and web. Connects external tools via MCP. Coordinates agent teams. |
|
|
| **Claude Flow** | Multi-agent orchestration layer that turns Claude Code into a swarm-style coordinator with router, agents, shared memory, and learning loop. |
|
|
| **Structural health** | Measurable invariants indicating world model integrity: coherence gates, contradiction tracking, memory integrity, policy compliance, rollback readiness. |
|
|
| **Witness chain** | Cryptographic attestation trail linking each state change to inputs, decisions, and tool outputs. See ADR-035. |
|
|
| **Same results** | Identical graded outcomes and artifacts for a benchmark run, not necessarily identical intermediate tokens. Enforced through replay mode and verification mode. |
|
|
|
|
## Considered Options
|
|
|
|
| # | Option | Verdict |
|
|
|---|--------|---------|
|
|
| 1 | LLM-only agent with prompt history and ad-hoc logs | Rejected: no structural health, no reversibility, no packaging |
|
|
| 2 | LLM + vector retrieval memory only | Rejected: no coherence gating, no witness chains, no portable replay |
|
|
| 3 | LLM + RuVector world model + RVF cognitive container, orchestrated by Claude Code and Claude Flow | **Selected** |
|
|
|
|
**Rationale**: Options 1 and 2 cannot meet the thesis because they lack explicit
|
|
structural health machinery, reversible state transitions, and portable
|
|
replayable intelligence packaging.
|
|
|
|
## Decision
|
|
|
|
Build the AGI system as a closed-loop cognitive container:
|
|
|
|
1. **Claude Code** is the control plane orchestrator. It spawns an agent team
|
|
and coordinates planning and execution.
|
|
2. **Claude Flow** provides the swarm orchestration model, routing tasks to
|
|
specialized agents and managing shared memory and learning loop semantics.
|
|
3. **RuVector** is the existential substrate, storing world model state, typed
|
|
memory, constraints, and coherence signals, queryable via graph queries
|
|
and vector search.
|
|
4. **RVF** is the portable intelligence package format. It encapsulates the
|
|
agent runtime, RuVector state snapshot and deltas, policies, indexes, tool
|
|
adapters, and the evaluation harness so others can reproduce the same
|
|
graded results.
|
|
5. **Learning** occurs primarily by structured memory mutation and skill
|
|
promotion governed by coherence and evaluation gates, not by continuous
|
|
weight updates.
|
|
|
|
## Architecture Overview
|
|
|
|
### System Boundary
|
|
|
|
**Inside the boundary:**
|
|
1. Claude Code lead session
|
|
2. Claude Flow router and swarm manager
|
|
3. Tool adapters and execution sandbox
|
|
4. RuVector database cluster (or embedded instance)
|
|
5. RVF container runtime and witness chain engine (ADR-035)
|
|
6. Evaluation harness and graders
|
|
|
|
**Outside the boundary:**
|
|
1. External data sources (repos, ticketing, logs, sensors)
|
|
2. External model provider infrastructure
|
|
3. Human approvals (if policy requires)
|
|
|
|
### High-Level Data Flow
|
|
|
|
```
|
|
Event Ingestion ──> World Model Update Proposal
|
|
│ │
|
|
│ Structural Health Gate
|
|
│ │
|
|
│ ┌───────┴───────┐
|
|
│ │ Gate PASS? │
|
|
│ │ yes no │
|
|
│ │ │ │ │
|
|
│ │ Commit Reject│
|
|
│ │ │ │ │
|
|
│ └───┴─────┘ │
|
|
│ │ │
|
|
▼ ▼ ▼
|
|
Plan & Act Loop Reflection Rollback &
|
|
(Claude Code + & Compress Quarantine
|
|
Claude Flow) │
|
|
│ │
|
|
▼ ▼
|
|
Commit & Witness (RVF ADR-035)
|
|
```
|
|
|
|
1. **Event ingestion**: Real-world events arrive and are normalized into a
|
|
canonical event schema.
|
|
2. **World model update proposal**: The system proposes graph mutations and
|
|
memory writes in RuVector.
|
|
3. **Structural health gating**: Coherence checks, contradiction checks, and
|
|
policy checks determine if the proposal can be committed.
|
|
4. **Plan and act loop**: Claude Code and Claude Flow coordinate tool calls to
|
|
act in the environment, using programmatic tool calling patterns.
|
|
5. **Reflection and compression**: Results are summarized into stable facts,
|
|
procedures, and counterexamples.
|
|
6. **Commit and witness**: Deltas are committed into RuVector and sealed into
|
|
the RVF witness chain (ADR-035).
|
|
|
|
### Control Plane / Data Plane Separation
|
|
|
|
| Aspect | Control Plane | Data Plane |
|
|
|--------|--------------|------------|
|
|
| **Who** | Claude Code + Claude Flow | RuVector + RVF |
|
|
| **Does** | Decides what to do; generates proposed deltas and tool actions | Executes storage, retrieval, graph ops, embeddings, coherence |
|
|
| **Varies** | Internal reasoning may vary between runs | Only gated commits become reality |
|
|
| **Enforces** | Plans and policies | Packaging, execution boundaries, attestations |
|
|
|
|
This separation is the core of repeatability.
|
|
|
|
## Components and Responsibilities
|
|
|
|
### Component A: Claude Code Lead Agent
|
|
|
|
| Inputs | Outputs |
|
|
|--------|---------|
|
|
| Task description | Plans |
|
|
| Current RVF container identity and policy | Tool calls |
|
|
| RuVector retrieval results | Proposed memory mutations |
|
|
| Tool outputs and environment observations | Commit requests |
|
|
|
|
Key capabilities: agent teams for parallel decomposition, MCP tool connectivity,
|
|
project instruction loading for consistent behavior across runs.
|
|
|
|
### Component B: Claude Flow Swarm Manager
|
|
|
|
| Inputs | Outputs |
|
|
|--------|---------|
|
|
| Lead agent goal graph | Sub-agent tasks |
|
|
| System policy limits | Consensus proposals |
|
|
| RuVector shared memory state | Aggregated plan; learning loop updates |
|
|
|
|
Architecture: router-to-swarm-to-agents with learning loop and shared memory.
|
|
|
|
### Component C: RuVector Substrate
|
|
|
|
| Inputs | Outputs |
|
|
|--------|---------|
|
|
| Events, text, code, images, structured records | Retrieved memories and facts |
|
|
| Embeddings, graph mutation deltas | Graph query results (Cypher) |
|
|
| Health telemetry updates | Embedding/ranking updates (self-learning) |
|
|
| | Coherence signals (dynamic minimum-cut) |
|
|
|
|
### Component D: RVF Cognitive Container Runtime
|
|
|
|
| Inputs | Outputs |
|
|
|--------|---------|
|
|
| Container manifest | Bootable runtime environment |
|
|
| Segmented data blobs | Reproducible execution environment |
|
|
| Policy and permissions | Signed witness records (ADR-035) |
|
|
| Cryptographic keys | Branchable snapshots |
|
|
|
|
### Component E: Tool Execution Sandbox
|
|
|
|
| Inputs | Outputs |
|
|
|--------|---------|
|
|
| Tool call plans from Claude Code | Tool results as structured objects |
|
|
| Programmatic tool calling scripts | Tool receipts with hashes |
|
|
| Policy rules | Failure modes and retry classifications |
|
|
|
|
## RuVector World Model Schema
|
|
|
|
### Node Types
|
|
|
|
| # | Type | Purpose |
|
|
|---|------|---------|
|
|
| 1 | **AgentIdentity** | Stable identity, keys, role, authority limits |
|
|
| 2 | **Event** | Normalized external observation (timestamp, source, payload hash) |
|
|
| 3 | **Claim** | Statement that may be true or false, linked to evidence |
|
|
| 4 | **Evidence** | Pointer to tool output, document excerpt, test output, sensor observation |
|
|
| 5 | **Plan** | Goal tree, constraints, success criteria, expected cost |
|
|
| 6 | **Action** | Tool invocation request with preconditions and expected effect |
|
|
| 7 | **Outcome** | Observed effects, pass/fail, test results, diffs, side effects |
|
|
| 8 | **Skill** | Reusable procedure with applicability conditions, constraints, and tests |
|
|
| 9 | **Policy** | Rules for permissions and safety boundaries |
|
|
| 10 | **HealthSignal** | Coherence metrics, drift, contradiction density, memory integrity |
|
|
|
|
### Edge Types
|
|
|
|
| Edge | Semantics |
|
|
|------|----------|
|
|
| `CAUSED` | Event CAUSED Claim or Outcome |
|
|
| `SUPPORTS` | Evidence SUPPORTS Claim |
|
|
| `CONTRADICTS` | Claim CONTRADICTS Claim |
|
|
| `DEPENDS_ON` | Plan DEPENDS_ON Skill or Evidence |
|
|
| `EXECUTES` | Action EXECUTES Tool |
|
|
| `PRODUCED` | Action PRODUCED Outcome |
|
|
| `PROMOTED_FROM` | Skill PROMOTED_FROM repeated successful Plans |
|
|
| `BLOCKED_BY` | Action BLOCKED_BY Policy |
|
|
| `HEALTH_OF` | HealthSignal HEALTH_OF subsystem or memory region |
|
|
|
|
### Invariants
|
|
|
|
| # | Invariant | Rule |
|
|
|---|-----------|------|
|
|
| 1 | **Evidence binding** | Any externally testable claim must have at least one Evidence edge; otherwise tagged `unverified` and cannot justify irreversible actions |
|
|
| 2 | **Contradiction locality** | A contradiction edge must reference the minimal conflicting claims, not a broad document blob |
|
|
| 3 | **Action gating** | Any action that changes external state must reference the policy decision node that allowed it |
|
|
| 4 | **Replay completeness** | Every tool output referenced by evidence must be hashable and stored or re-derivable from deterministic inputs |
|
|
|
|
## Structural Health and Coherence Gate Design
|
|
|
|
This is the mechanism that operationalizes the state-change thesis. It turns
|
|
continuous learning into safe incremental commits.
|
|
|
|
### Health Signals
|
|
|
|
| # | Signal | Computation |
|
|
|---|--------|-------------|
|
|
| 1 | **Coherence score** | Dynamic minimum-cut on active working set subgraph. Measures separability between consistent clusters and contradiction boundaries. |
|
|
| 2 | **Contradiction pressure** | Rate of new contradiction edges per unit time, weighted by claim criticality |
|
|
| 3 | **Memory integrity** | Schema validation success, witness chain continuity, segment hash integrity |
|
|
| 4 | **Tool reliability** | Error rates, retries, timeouts, drift in tool schemas |
|
|
| 5 | **Cost stability** | Cost-per-solved-task trend, abnormal spikes |
|
|
|
|
### Coherence Gate Rules
|
|
|
|
| Rule | Trigger | Action |
|
|
|------|---------|--------|
|
|
| 1. Block unsafe commits | Coherence score drops below threshold after proposed delta | Reject and open repair plan |
|
|
| 2. Require counterexample storage | An outcome fails | Counterexample must be created and linked before any new skill promotion |
|
|
| 3. Limit graph churn | Contradiction pressure exceeds threshold | Freeze new skill promotion; focus on repair and consolidation |
|
|
| 4. Quarantine volatile memories | New claims arrive | Enter volatile pool until reinforced by independent evidence or repeated success |
|
|
|
|
## Learning Loop Design
|
|
|
|
### Learning Primitives
|
|
|
|
1. **Episodic capture**: Store event, plan, action, outcome chain as an episode
|
|
2. **Reflection**: Extract stable claims and failure causes, bind evidence
|
|
3. **Consolidation**: Merge redundant claims, compress long traces into summaries
|
|
plus pointers, maintain witness chain
|
|
4. **Skill promotion**: Promote procedure into Skill node only when criteria met
|
|
|
|
### Skill Promotion Criteria
|
|
|
|
A candidate becomes a skill when **all** of the following are true:
|
|
|
|
1. It has succeeded K times on non-identical inputs
|
|
2. It has at least one negative example recorded and bounded
|
|
3. It has objective graders that validate outputs
|
|
4. It does not increase policy violations or coherence degradation
|
|
|
|
### Self-Reinforced Feedback Loops
|
|
|
|
A loop is self-reinforced when successful actions increase the system's future
|
|
probability of selecting high-value plans, while structural health remains
|
|
within bounds.
|
|
|
|
**Mechanism:**
|
|
- Success produces evidence and updated skill priors
|
|
- RuVector retrieval makes these skills easier to select
|
|
- Coherence gates prevent runaway self-confirmation
|
|
|
|
## Repeatability and Portable Intelligence Packaging
|
|
|
|
### RVF Packaging Decision
|
|
|
|
One RVF artifact contains:
|
|
|
|
| Segment | Contents |
|
|
|---------|----------|
|
|
| **Manifest and identity** | Container ID, build ID, model routing config, policy version, tool adapter registry |
|
|
| **Runtime** | Claude Flow orchestrator config, agent role prompts, tool schemas, sandbox config |
|
|
| **RuVector snapshot** | Base world model graph, indexes, embeddings, skill library, policy nodes |
|
|
| **Delta journal** | Append-only commits with witness chain records (ADR-035) |
|
|
| **Evaluation harness** | Task suite, graders, scoring rules, replay scripts |
|
|
|
|
### Two Execution Modes
|
|
|
|
| Mode | Goal | Method | Pass Condition |
|
|
|------|------|--------|----------------|
|
|
| **Replay** | Bit-identical artifact reproduction | No external tool calls; use stored receipts and outputs | All graders match exactly; witness chain matches |
|
|
| **Verify** | Same graded outcomes under live tools | Tools called live; outputs stored and hashed | Outputs pass same tests; costs within expected bounds |
|
|
|
|
This is how you claim "same results" without over-promising identical token
|
|
sequences across different infrastructure.
|
|
|
|
### Determinism Controls
|
|
|
|
1. Pin model ID to a specific version in the container manifest
|
|
2. Set sampling for maximum determinism in production runs
|
|
3. Store prompt and instruction hashes for each run
|
|
4. Virtualize time for tasks that depend on timestamps
|
|
5. Freeze external dependencies by snapshotting repos and data sources
|
|
6. Record all tool outputs with hashes and schema versions
|
|
|
|
## AGI npm Package Distribution
|
|
|
|
The AGI capabilities of the cognitive container are distributed as npm packages,
|
|
enabling JavaScript/TypeScript consumers to access the self-learning engine,
|
|
witness chains, and HNSW index operations without a Rust toolchain.
|
|
|
|
### Package Ecosystem
|
|
|
|
| Package | Version | AGI Capabilities |
|
|
|---------|---------|-----------------|
|
|
| `@ruvector/rvf-solver` | 0.1.0 | Thompson Sampling PolicyKernel, KnowledgeCompiler, three-loop adaptive solver, SHAKE-256 witness chains, 18 context buckets, speculative dual-path execution |
|
|
| `@ruvector/rvf-node` | 0.1.6 | HNSW index statistics, witness chain verification, store freeze (snapshot), distance metric introspection |
|
|
| `@ruvector/rvf-wasm` | 0.1.5 | Witness chain verification (`rvf_witness_verify`), WASM microkernel for browser/edge |
|
|
| `@ruvector/rvf` | 0.1.8 | Unified SDK re-exporting all of the above; single `npm install` for full AGI access |
|
|
|
|
### Self-Learning Solver API
|
|
|
|
```typescript
|
|
import { RvfSolver } from '@ruvector/rvf';
|
|
|
|
const solver = await RvfSolver.create();
|
|
|
|
// Three-loop training: fast (solve) / medium (policy) / slow (compiler)
|
|
const result = solver.train({ count: 1000, minDifficulty: 1, maxDifficulty: 10 });
|
|
|
|
// Full acceptance test with A/B/C ablation modes
|
|
const manifest = solver.acceptance({ cycles: 5, holdoutSize: 100 });
|
|
|
|
// Inspect learned policy state
|
|
const policy = solver.policy();
|
|
|
|
// Export tamper-evident witness chain (73 bytes per entry)
|
|
const chain = solver.witnessChain();
|
|
|
|
solver.destroy();
|
|
```
|
|
|
|
### AGI NAPI Methods
|
|
|
|
The native Node.js bindings expose AGI-relevant operations:
|
|
|
|
| Method | Returns | AGI Purpose |
|
|
|--------|---------|-------------|
|
|
| `indexStats()` | `RvfIndexStats` | Introspect HNSW graph structure (layers, M, ef_construction) for coherence monitoring |
|
|
| `verifyWitness()` | `RvfWitnessResult` | Validate witness chain integrity for replay/verify modes |
|
|
| `freeze()` | `void` | Snapshot-freeze state for deterministic branching |
|
|
| `metric()` | `string` | Distance metric introspection for coherence signal computation |
|
|
|
|
### Integration with Cognitive Container
|
|
|
|
The npm packages map to cognitive container components:
|
|
|
|
| Container Component | npm Package | Segment |
|
|
|--------------------|-------------|---------|
|
|
| Self-learning engine | `@ruvector/rvf-solver` | SOLVER_SEG (computed in WASM) |
|
|
| Witness chain attestation | `@ruvector/rvf-solver` + `@ruvector/rvf-wasm` | WITNESS_SEG (0x0A) |
|
|
| Vector storage & retrieval | `@ruvector/rvf-node` | VEC_SEG, INDEX_SEG |
|
|
| HNSW index inspection | `@ruvector/rvf-node` | INDEX_SEG |
|
|
| Browser-side verification | `@ruvector/rvf-wasm` | WITNESS_SEG verification |
|
|
|
|
## MCP Tools
|
|
|
|
Core MCP tools to implement:
|
|
|
|
| Tool | Purpose |
|
|
|------|---------|
|
|
| `ruvector_query` | Vector search and filtered retrieval |
|
|
| `ruvector_cypher` | Graph query and traversal for claims, evidence, contradictions |
|
|
| `ruvector_commit_delta` | Propose and commit world model deltas behind coherence gates |
|
|
| `rvf_snapshot` | Create a branchable snapshot for experiments |
|
|
| `rvf_witness_export` | Export witness chain proofs for audit (ADR-035) |
|
|
| `rvf_solver_train` | Run self-learning solver training via `@ruvector/rvf-solver` |
|
|
| `rvf_solver_acceptance` | Execute full A/B/C ablation acceptance test |
|
|
| `eval_run` | Run the container's benchmark suite and return graded results |
|
|
|
|
## Security Model
|
|
|
|
### Threat Model
|
|
|
|
1. Prompt injection via untrusted content
|
|
2. Tool abuse and unintended side effects
|
|
3. Data exfiltration via tool channels
|
|
4. Memory poisoning causing long-horizon drift
|
|
5. Supply chain drift causing irreproducible results
|
|
|
|
### Controls
|
|
|
|
| # | Control | Mechanism |
|
|
|---|---------|-----------|
|
|
| 1 | Capability-based permissions | Each tool call requires explicit capability grants; high-risk actions require approvals |
|
|
| 2 | Policy as data | Policies live in RuVector and are embedded in RVF manifest; policy cannot silently change between runs |
|
|
| 3 | Witnessed commits | Every commit is attested with inputs, policy decision, and tool receipts (ADR-035) |
|
|
| 4 | Quarantine zone | Untrusted inputs enter quarantine; cannot directly affect skill promotion |
|
|
| 5 | Sandboxed execution | Tool scripts run in restricted environments; programmatic tool calling makes control flow explicit |
|
|
|
|
## Observability and Benchmarking
|
|
|
|
### Required Metrics
|
|
|
|
1. Success rate on task suite
|
|
2. Policy violations count
|
|
3. External side effects count
|
|
4. Contradiction rate
|
|
5. Coherence score trend
|
|
6. Rollback frequency and success
|
|
7. Dollars per solved task
|
|
8. p50 and p95 latency per task
|
|
9. Tool error rate
|
|
|
|
### Benchmark Tiers
|
|
|
|
| Tier | Name | Purpose |
|
|
|------|------|---------|
|
|
| 1 | Deterministic replay suite | Verifies packaging and witness integrity |
|
|
| 2 | Tool and memory suite | Measures long-horizon stability and coherence gating |
|
|
| 3 | Production domain suite | Measures real outcomes (repo issue fixes, compliance, deployments) |
|
|
|
|
### Proof Artifact per Run
|
|
|
|
Each run exports:
|
|
1. Run manifest
|
|
2. Task inputs and snapshots
|
|
3. All tool receipts and hashes
|
|
4. All committed deltas
|
|
5. Witness chain export (ADR-035)
|
|
6. Grader outputs and final scorecard
|
|
|
|
## Consequences
|
|
|
|
### Positive
|
|
|
|
1. **Clear system boundary** for intelligence measurement -- the composite
|
|
system is evaluated, not the model in isolation
|
|
2. **Repeatability as a product feature** -- RVF container + witness chain +
|
|
replay mode enables credible external validation
|
|
3. **Safety is structural** -- policies and coherence gates are part of the
|
|
substrate, not an afterthought
|
|
4. **Multi-agent scalability** -- Claude Code agent teams + Claude Flow swarm
|
|
routing supports parallel work and specialization
|
|
|
|
### Negative / Risks
|
|
|
|
1. **Complexity risk** -- system of systems; requires investment in harnesses
|
|
and invariants early
|
|
2. **Non-determinism risk** from model providers -- replay mode mitigates by
|
|
recording outputs
|
|
3. **Memory poisoning risk** -- powerful memory can amplify wrong beliefs if
|
|
coherence gates are weak; bias toward evidence binding and counterexample capture
|
|
4. **Benchmark gaming risk** -- weak graders will be exploited; build robust
|
|
graders first
|
|
|
|
## Implementation Plan
|
|
|
|
### Phase 1: Foundation
|
|
|
|
**Deliverables:**
|
|
1. RuVector schema and APIs for events, claims, evidence, contradictions
|
|
2. RVF container manifest format for model, policy, tool registry, snapshots
|
|
3. MCP server exposing RuVector and RVF operations to Claude Code
|
|
4. Basic witness log and delta commit pipeline (ADR-035 -- done)
|
|
|
|
**Exit criteria:** Replay mode works on a small deterministic suite.
|
|
|
|
### Phase 2: Coherence Gating
|
|
|
|
**Deliverables:**
|
|
1. Structural health signals and thresholds
|
|
2. Dynamic minimum-cut coherence metric integration
|
|
3. Rollback and quarantine semantics
|
|
4. Contradiction detection routines
|
|
|
|
**Exit criteria:** No irreversible external tool calls allowed when coherence is
|
|
below threshold.
|
|
|
|
### Phase 3: Learning and Skill Promotion
|
|
|
|
**Deliverables:**
|
|
1. Skill nodes, promotion criteria, and tests
|
|
2. Consolidation and compaction routines
|
|
3. Counterexample-driven repair
|
|
|
|
**Exit criteria:** Skills improve success rate over time without increasing
|
|
contradictions.
|
|
|
|
### Phase 4: Portable Intelligence Distribution
|
|
|
|
**Deliverables:**
|
|
1. One-RVF-file distribution pipeline
|
|
2. Public evaluation harness packaged inside RVF
|
|
3. Verification mode that produces same graded outcomes across machines
|
|
|
|
**Exit criteria:** Two independent teams run the same RVF artifact and achieve
|
|
the same benchmark scorecard.
|
|
|
|
## Resolved Design Questions
|
|
|
|
### Q1: First domain for proving the state-change thesis
|
|
|
|
**Decision: Repo automation** (software engineering lifecycle).
|
|
|
|
Rationale: This domain provides the strongest combination of (a) verifiable
|
|
outcomes (tests pass, code compiles, PR merges), (b) tool-rich environment
|
|
(git, CI, code editors via Claude Code), (c) naturally occurring event streams
|
|
(issues, commits, reviews), and (d) existing infrastructure in Claude Code +
|
|
Claude Flow. The evaluation harness measures: issues solved, test success rate,
|
|
regression introduction rate, cost per solved issue, and witness chain
|
|
completeness.
|
|
|
|
Subsequent domains (incident triage, governance workflows, edge autonomy)
|
|
are pursued after the repo automation scorecard achieves >= 60/100 solved
|
|
with zero policy violations.
|
|
|
|
### Q2: Authority levels
|
|
|
|
**Decision: Four-level authority model, default ReadMemory.**
|
|
|
|
```rust
|
|
#[repr(u8)]
|
|
pub enum AuthorityLevel {
|
|
/// Read-only: query vectors, graphs, memories. No mutations.
|
|
ReadOnly = 0,
|
|
/// Write to internal memory: commit world model deltas behind
|
|
/// coherence gates. No external tool calls.
|
|
WriteMemory = 1,
|
|
/// Execute tools: run sandboxed tools (file read/write, tests,
|
|
/// code generation). External side effects are gated by policy.
|
|
ExecuteTools = 2,
|
|
/// Write external: push code, create PRs, send messages, modify
|
|
/// infrastructure. Requires explicit policy grant per action class.
|
|
WriteExternal = 3,
|
|
}
|
|
```
|
|
|
|
Each action in the world model must reference a policy decision node
|
|
(invariant #3, "Action gating") that grants at least the required authority
|
|
level. The container manifest declares the maximum authority level permitted
|
|
for a given execution. Higher levels require explicit policy override.
|
|
|
|
Default for Replay mode: `ReadOnly`.
|
|
Default for Verify mode: `ExecuteTools`.
|
|
Default for Live mode: `WriteMemory` (escalation to higher levels requires
|
|
policy grant per action class).
|
|
|
|
### Q3: Resource budgets
|
|
|
|
**Decision: Per-task resource budgets with hard caps.**
|
|
|
|
Every task execution is bounded by:
|
|
|
|
| Resource | Default Cap | Override |
|
|
|----------|-------------|---------|
|
|
| Wall-clock time per task | 300 seconds | Policy override, max 3600s |
|
|
| Total model tokens per task | 200,000 | Policy override, max 1,000,000 |
|
|
| Total cost per task | $1.00 | Policy override, max $10.00 |
|
|
| Tool calls per task | 50 | Policy override, max 500 |
|
|
| External write actions per task | 0 (ReadOnly) | Requires WriteExternal authority |
|
|
|
|
Budget exhaustion triggers graceful degradation: the task enters `Skipped`
|
|
outcome with a `BudgetExhausted` postmortem in the witness bundle.
|
|
|
|
### Q4: Coherence thresholds
|
|
|
|
**Decision: Three configurable thresholds stored in the container header.**
|
|
|
|
| Threshold | Default | Effect when breached |
|
|
|-----------|---------|---------------------|
|
|
| `min_coherence_score` | 0.70 | Block all commits; enter repair mode |
|
|
| `max_contradiction_rate` | 5.0 per 100 events | Freeze skill promotion |
|
|
| `max_rollback_ratio` | 0.20 | Halt Live execution; require human review |
|
|
|
|
These map to ADR-033's quality framework: the coherence score is analogous
|
|
to `ResponseQuality` -- it signals whether the system's internal state is
|
|
trustworthy enough to act on.
|
|
|
|
## Wire Format
|
|
|
|
### AgiContainerHeader (64 bytes, `repr(C)`)
|
|
|
|
The AGI container is stored as a `Meta` segment (`SegmentType::Meta = 0x07`)
|
|
in the RVF file, alongside the KERNEL_SEG, WASM_SEG, VEC_SEG, INDEX_SEG,
|
|
WITNESS_SEG, and CRYPTO_SEG that hold the actual payload data.
|
|
|
|
```
|
|
Offset Type Field Description
|
|
------ ---- ----- -----------
|
|
0x00 u32 magic 0x52564147 ("RVAG")
|
|
0x04 u16 version Header format version (currently 1)
|
|
0x06 u16 flags Bitfield (see below)
|
|
0x08 [u8; 16] container_id Unique container UUID
|
|
0x18 [u8; 16] build_id Build UUID (changes on repackaging)
|
|
0x28 u64 created_ns Creation timestamp (nanos since epoch)
|
|
0x30 [u8; 8] model_id_hash SHA-256 of pinned model ID, truncated
|
|
0x38 [u8; 8] policy_hash SHA-256 of governance policy, truncated
|
|
```
|
|
|
|
### Flags (u16 bitfield)
|
|
|
|
```
|
|
Bit Name Description
|
|
--- ---- -----------
|
|
0 AGI_HAS_KERNEL KERNEL_SEG with micro Linux kernel present
|
|
1 AGI_HAS_WASM WASM_SEG modules present
|
|
2 AGI_HAS_ORCHESTRATOR Claude Code + Claude Flow config present
|
|
3 AGI_HAS_WORLD_MODEL VEC_SEG + INDEX_SEG world model data present
|
|
4 AGI_HAS_EVAL Evaluation harness (tasks + graders) present
|
|
5 AGI_HAS_SKILLS Promoted skill library present
|
|
6 AGI_HAS_WITNESS ADR-035 witness chain present
|
|
7 AGI_SIGNED Container is cryptographically signed
|
|
8 AGI_REPLAY_CAPABLE All tool outputs stored; supports replay mode
|
|
9 AGI_OFFLINE_CAPABLE Container can run without network access
|
|
10 AGI_HAS_TOOLS MCP tool adapter registry present
|
|
11 AGI_HAS_COHERENCE_GATES Coherence gate configuration present
|
|
```
|
|
|
|
### TLV Manifest Tags
|
|
|
|
Following the header, a TLV (tag-length-value) manifest contains the
|
|
container's configuration sections:
|
|
|
|
| Tag | Name | Content |
|
|
|--------|------------------------|---------|
|
|
| 0x0100 | CONTAINER_ID | Container UUID |
|
|
| 0x0101 | BUILD_ID | Build UUID |
|
|
| 0x0102 | MODEL_ID | Pinned model identifier (UTF-8) |
|
|
| 0x0103 | POLICY | Serialized governance policy |
|
|
| 0x0104 | ORCHESTRATOR | Claude Code + Claude Flow config |
|
|
| 0x0105 | TOOL_REGISTRY | MCP tool adapter registry |
|
|
| 0x0106 | AGENT_PROMPTS | Agent role prompts |
|
|
| 0x0107 | EVAL_TASKS | Evaluation task suite |
|
|
| 0x0108 | EVAL_GRADERS | Grading rules |
|
|
| 0x0109 | SKILL_LIBRARY | Promoted skill library |
|
|
| 0x010A | REPLAY_SCRIPT | Replay automation script |
|
|
| 0x010B | KERNEL_CONFIG | Kernel boot parameters |
|
|
| 0x010C | NETWORK_CONFIG | Network configuration |
|
|
| 0x010D | COHERENCE_CONFIG | Coherence gate thresholds and rules |
|
|
| 0x010E | PROJECT_INSTRUCTIONS | Claude.md project instructions |
|
|
| 0x010F | DEPENDENCY_SNAPSHOT | Dependency snapshot hashes |
|
|
| 0x0110 | AUTHORITY_CONFIG | Authority level and resource budgets |
|
|
| 0x0111 | DOMAIN_PROFILE | Target domain profile (RVText, etc.) |
|
|
|
|
Unknown tags are ignored (forward-compatible).
|
|
|
|
### Implementation
|
|
|
|
Types are fully implemented in `rvf-types/src/agi_container.rs` (972 lines, 24 tests).
|
|
|
|
**Implemented types:**
|
|
|
|
| Type | Size / Kind | Description | Tests |
|
|
|------|-------------|-------------|-------|
|
|
| `AgiContainerHeader` | 64 bytes (`repr(C)`) | Wire-format header with magic "RVAG" (0x52564147), `to_bytes()`/`from_bytes()` serialization, compile-time size assertion | 4 |
|
|
| `ExecutionMode` | `u8` enum | Replay (0), Verify (1), Live (2) with `TryFrom<u8>` | 1 |
|
|
| `AuthorityLevel` | `u8` enum | ReadOnly (0), WriteMemory (1), ExecuteTools (2), WriteExternal (3) with `TryFrom<u8>`, `PartialOrd`/`Ord`, `permits()`, `default_for_mode()` | 4 |
|
|
| `ResourceBudget` | struct | Per-task resource caps with `DEFAULT`, `EXTENDED`, `MAX` presets and `clamped()` method | 3 |
|
|
| `CoherenceThresholds` | struct | Three configurable thresholds (`min_coherence_score`, `max_contradiction_rate`, `max_rollback_ratio`) with `DEFAULT`, `STRICT` presets and `validate()` method | 5 |
|
|
| `ContainerSegments` | struct | Segment presence tracker with `validate(mode)` and `to_flags()` | 7 |
|
|
| `ContainerError` | enum | 6 variants: MissingSegment, TooLarge, InvalidConfig, SignatureInvalid, InsufficientAuthority, BudgetExhausted with `Display` | 1 |
|
|
|
|
**Constants defined:**
|
|
- 13 flag constants (`AGI_HAS_KERNEL` through `AGI_HAS_DOMAIN_EXPANSION`, bits 0-12)
|
|
- 22 TLV manifest tag constants (`AGI_TAG_CONTAINER_ID` 0x0100 through `AGI_TAG_COUNTEREXAMPLES` 0x0115)
|
|
- Includes 4 domain expansion tags: `AGI_TAG_TRANSFER_PRIOR` (0x0112), `AGI_TAG_POLICY_KERNEL` (0x0113), `AGI_TAG_COST_CURVE` (0x0114), `AGI_TAG_COUNTEREXAMPLES` (0x0115)
|
|
|
|
**Key design properties:**
|
|
- `AuthorityLevel::permits()` enables level comparison: `WriteExternal` permits all lower levels
|
|
- `AuthorityLevel::default_for_mode()` maps Replay->ReadOnly, Verify->ExecuteTools, Live->WriteMemory
|
|
- `ResourceBudget::clamped()` enforces hard ceilings (`MAX` preset) that cannot be overridden
|
|
- `CoherenceThresholds::validate()` rejects out-of-range values
|
|
- `ContainerSegments::validate(mode)` enforces mode-specific segment requirements
|
|
- `ContainerSegments::to_flags()` computes the bitfield from present segments
|
|
- All types are `no_std` compatible and exported from `rvf-types/src/lib.rs`
|
|
|
|
## Acceptance Test
|
|
|
|
Run the same RVF artifact on two separate machines owned by two separate teams.
|
|
|
|
**Suite:** 100 tasks (30 requiring tool use, 70 internal reasoning/memory)
|
|
|
|
**Pass criteria:**
|
|
1. Replay mode produces identical grader outputs for all 100 tasks
|
|
2. Verify mode produces at least 95/100 passing on both machines
|
|
3. Zero policy violations
|
|
4. Every externally checkable claim has evidence pointers
|
|
5. Witness chain verifies end-to-end
|
|
|
|
## References
|
|
|
|
- ADR-029: RVF Canonical Format (segment model, wire format, manifest)
|
|
- ADR-030: Cognitive Container (KERNEL_SEG, EBPF_SEG, three-tier execution)
|
|
- ADR-031: RVCOW Branching (COW branching, KernelBinding)
|
|
- ADR-033: Progressive Indexing Hardening (quality framework, coherence gates, safety budgets)
|
|
- ADR-034: QR Cognitive Seed (portable bootstrap, zero-dep crypto)
|
|
- ADR-035: Capability Report (witness bundles, scorecards, governance)
|
|
- RVF format specification (rvf-types, rvf-runtime, rvf-manifest)
|
|
- RFC 8032: Ed25519
|
|
- FIPS 180-4: SHA-256
|
|
- Dynamic minimum-cut (arXiv preprint referenced in RuVector mincut crate)
|
|
|
|
## Revision History
|
|
|
|
| Version | Date | Author | Changes |
|
|
|---------|------|--------|---------|
|
|
| 1.0 | 2026-02-15 | ruv.io | Initial proposal |
|
|
| 1.1 | 2026-02-15 | architecture review | Resolved open questions (domain, authority, resource budgets, coherence thresholds). Added wire format section. Added cross-references to ADR-029/030/031/033. Added AuthorityLevel enum and resource budget types. Tightened ContainerSegments validation. |
|
|
| 1.2 | 2026-02-16 | implementation review | Status updated to Partially Implemented. Documented full wire-format implementation in rvf-types/src/agi_container.rs (972 lines, 24 tests). All header types, enums, constants, and validators are implemented and exported. Domain expansion TLV tags (0x0112-0x0115) integrated. |
|