|
| 1 | +--- |
| 2 | +adr: 255 |
| 3 | +title: "ruvector ↔ OIA Model integration — alignment profile for the Open Intelligence Architecture (v0.1)" |
| 4 | +status: proposed |
| 5 | +date: 2026-06-16 |
| 6 | +authors: [ruvnet, claude-flow] |
| 7 | +related: [ADR-122, ADR-134, ADR-074, ADR-155, ADR-193, ADR-251] |
| 8 | +tags: [oia, reference-architecture, integration, provenance, witness-chain, rvf, mcp, sona, interoperability, standards] |
| 9 | +--- |
| 10 | + |
| 11 | +# ADR-255 — ruvector ↔ OIA Model integration (Open Intelligence Architecture v0.1) |
| 12 | + |
| 13 | +> **Maturity caveat (read first).** The OIA Model |
| 14 | +> ([agenticsorg/OIA-Model](https://github.com/agenticsorg/OIA-Model)) is **v0.1** |
| 15 | +> and self-describes as "an interactive review and implementation workspace," |
| 16 | +> not a finalized standard. It has **no machine-readable conformance schema, no |
| 17 | +> registry, no versioning SLA** — its conformance instrument is a human |
| 18 | +> COHERENT/GAP/NOT-YET/N-A rating embedded in a React UI. Any "OIA conformance" |
| 19 | +> claim today is therefore **narrative, not verifiable**. This ADR decides a |
| 20 | +> *non-binding alignment profile*, deliberately avoiding committing ruvector's |
| 21 | +> public APIs to OIA layer semantics before OIA reaches ≥ v1.0. |
| 22 | +
|
| 23 | +## Context |
| 24 | + |
| 25 | +The **Open Intelligence Architecture (OIA)** is the Agentics Foundation's |
| 26 | +reference architecture for enterprise intelligent systems (MIT-licensed, ©2026). |
| 27 | +It defines (per `src/content/layers.ts` + `docs/OIA-Model-v0.1-Digest.md`): |
| 28 | + |
| 29 | +- **Ten layers, L0–L9** — physical compute at the bottom, human/browser interface |
| 30 | + at the top, with **two state-holding layers (L3 Agent Data Substrate, L8 |
| 31 | + Continuity Fabric)** bracketing the operational core (L4–L7). The L3/L8 |
| 32 | + asymmetry (substrate vs active fabric) is a deliberate design statement |
| 33 | + (Decision 03/05). |
| 34 | +- **Six cross-layer spans** (concern classes, not APIs): SPAN-SEC, SPAN-SOV, |
| 35 | + SPAN-AUD, SPAN-IDN, SPAN-ENG, SPAN-PRV. |
| 36 | +- L7 explicitly names **Model Context Protocol (MCP)** as the reference |
| 37 | + interoperability protocol; L8 explicitly names **witness chains** and |
| 38 | + "cognitive-state sovereignty." |
| 39 | + |
| 40 | +ruvector already implements much of the operational/state core. The question is |
| 41 | +*where ruvector fits in an OIA-conformant stack* and *what to publish* so others |
| 42 | +can integrate it, without over-claiming. |
| 43 | + |
| 44 | +### Layer → ruvector mapping (from the codebase; evidence H/M/L) |
| 45 | + |
| 46 | +| OIA Layer | ruvector component(s) | Coverage | |
| 47 | +|---|---|---| |
| 48 | +| L0 Physical Compute | ruvix (bare-metal ARM), agentic-robotics-embedded | M (no energy/facility/supply-chain plane) | |
| 49 | +| L1 Silicon Abstraction | SIMD/AVX-512 feature flags, WASM targets | H portability / no ISA attestation | |
| 50 | +| L2 Sovereign Infrastructure | mcp-brain-server on Cloud Run, GCS/Firestore, DP engine (ε=1.0) | H but **GCP-specific** | |
| 51 | +| **L3 Agent Data Substrate** | ruvector-core (HNSW + redb + memmap), RVF manifest (TLV level0/level1), RaBitQ/DiskANN/IVF, BrainMemory provenance fields | **H — strong** | |
| 52 | +| L4 Model Training & Adaptation | SONA (two-tier LoRA, EWC++, ReasoningBank), federated LoRA (Gate A/B aggregation) | H **adaptation only** — no pre-training/eval gates | |
| 53 | +| **L5 Inference & Retrieval** | HNSW ANN, RaBitQ, router crates, ranking engine + GWT attention rerank | **H — strong** | |
| 54 | +| **L6 Context & Knowledge** | mcp-brain-server KnowledgeGraph (PPR + MinCut + sparsifier), Brainpedia lifecycle, Common-Crawl/RSS ingest, drift monitoring | **H — strong** | |
| 55 | +| **L7 Orchestration & Workflow** | MCP server surface (OIA-named protocol), rvf-adapters (claude-flow/agentdb/agentic-flow), AgiContainer tool registry | **H — MCP-native** | |
| 56 | +| **L8 Continuity Fabric** | RVF cognitive container (AgiContainerBuilder), witness chain (rvf-crypto, SHAKE-256 linked), SONA EWC++, emergent-time | **H — strong** (research-tier in parts) | |
| 57 | +| L9 Human & Browser Interface | ui/ruvocal (SvelteKit), SSE streaming, voice | M thin (no consent/handoff/accessibility) | |
| 58 | + |
| 59 | +ruvector is strongest exactly where OIA's operational + state core lives: |
| 60 | +**L3, L5, L6, L7, L8** — and weak at the edges OIA leaves to infrastructure/UX |
| 61 | +(L0/L1/L9) and at full L4 (pre-training). |
| 62 | + |
| 63 | +## Decision |
| 64 | + |
| 65 | +Adopt a **non-binding OIA alignment profile** for ruvector. Concretely: |
| 66 | + |
| 67 | +1. **Position ruvector as an L3 + L5–L8 provider** in OIA-framed materials, with |
| 68 | + explicit "out of scope" notes for L0/L1 (infrastructure), L2 portability |
| 69 | + (GCP-specific today), L4 pre-training, and L9 UX. |
| 70 | +2. **Designate the RVF cognitive container as ruvector's reference L8 artifact.** |
| 71 | + `AgiContainerBuilder` already bundles model pinning, governance/coherence/ |
| 72 | + authority config, MCP tool registry, witness chain, skill library, and replay |
| 73 | + script in one signed binary — the closest existing match to OIA L8. Publish an |
| 74 | + `oia-l8-profile` mapping (TLV tag range in the RVF Level-1 namespace) — **doc |
| 75 | + + tag reservation, no engine change**. |
| 76 | +3. **Designate the witness chain as the SPAN-AUD / SPAN-PRV primitive.** Define a |
| 77 | + `witness_type` registry mapping OIA action categories (inference, grounding |
| 78 | + retrieval, orchestration step, continuity checkpoint) to the existing |
| 79 | + `witness_type` byte. Reuses ADR-134 witness work; doc-level. |
| 80 | +4. **Expose mcp-brain-server as the L6 grounding service** via an OIA-framed |
| 81 | + response envelope (`/v1/oia/context` wrapping `brain_search` + GWT rerank + |
| 82 | + citation pass-through) — ~150-line additive route, optional. |
| 83 | +5. **Surface the MCP tool registry as the L7 connector** (`oia-l7.json` schema |
| 84 | + referencing the existing MCP surface) and the federated-LoRA endpoints |
| 85 | + (`/v1/lora/submit`, `/v1/lora/latest`) as L4-adaptation interfaces — doc-level, |
| 86 | + no code change. |
| 87 | +6. **Do NOT** claim machine-verifiable OIA conformance, **do NOT** rename or |
| 88 | + re-shape existing public APIs to OIA terms, and **do NOT** take an OIA |
| 89 | + dependency in any crate. The alignment lives in documentation + reserved |
| 90 | + tags/schemas until OIA ships a real conformance spec. |
| 91 | + |
| 92 | +The deliverable is an **alignment document + reserved RVF tag ranges/schemas**, |
| 93 | +not a refactor. Integration points 2–5 are independently shippable, lowest-risk |
| 94 | +first (the L8 container profile and witness-type registry are pure |
| 95 | +documentation/tag reservation). |
| 96 | + |
| 97 | +## Consequences |
| 98 | + |
| 99 | +### Positive |
| 100 | +- Clear, honest positioning of ruvector within a recognized layer taxonomy — |
| 101 | + useful for vendor/RFP/architecture-review conversations OIA targets. |
| 102 | +- The highest-value integrations are **doc-only or additive** (L8 container |
| 103 | + profile, witness-type registry, L6 envelope) — near-zero blast radius. |
| 104 | +- ruvector's existing strengths (RVF provenance, witness chain, MCP-native |
| 105 | + orchestration, SONA adaptation) map cleanly onto OIA's L3/L7/L8 — little new |
| 106 | + to build, mostly to *describe*. |
| 107 | +- Reuses prior decisions: ADR-122 (RVF container), ADR-134 (witness chain), |
| 108 | + ADR-074 (SONA), ADR-155 (rulake dispatcher). |
| 109 | + |
| 110 | +### Negative |
| 111 | +- **OIA is pre-1.0 and volatile.** A v0.2+ conformance model could invalidate |
| 112 | + this profile; mitigated by keeping it non-binding and out of code. |
| 113 | +- **No machine-checkable conformance** — alignment is narrative; we cannot |
| 114 | + certify, only map. |
| 115 | +- **Genuine gaps** ruvector does not cover: L0/L1 (no energy-sovereignty/ISA |
| 116 | + attestation), L2 portability (GCP lock-in vs OIA's portability intent), L4 |
| 117 | + pre-training + eval gates, L9 consent/handoff/accessibility, SPAN-IDN (no |
| 118 | + formal agent-identity framework). These must be stated as "relies on external |
| 119 | + infrastructure," not papered over. |
| 120 | +- Some L8 pieces (emergent-time integration) are research-tier (`dead_code`/ |
| 121 | + lint-relaxed); the L8 claim is "strong but maturing," not production-frozen. |
| 122 | + |
| 123 | +### Neutral |
| 124 | +- No new runtime dependency; OIA stays an external reference, ruvector stays |
| 125 | + self-contained. The profile can be withdrawn if OIA stalls. |
| 126 | + |
| 127 | +## Links |
| 128 | +- OIA Model: [agenticsorg/OIA-Model](https://github.com/agenticsorg/OIA-Model) · |
| 129 | + [v0.1 Digest](https://github.com/agenticsorg/OIA-Model/blob/main/docs/OIA-Model-v0.1-Digest.md) · |
| 130 | + live: oia.agentics.org |
| 131 | +- ruvector: ADR-122 (RVF cognitive container), ADR-134 (witness chain), |
| 132 | + ADR-074 (SONA), ADR-155 (rulake dispatcher), ADR-193 (rairs IVF), |
| 133 | + ADR-251 (emergent-time) |
| 134 | +- Source of mapping: deep-research brief over OIA `src/content/layers.ts` + |
| 135 | + digests and the ruvector codebase (rvf-runtime/agi_container.rs, |
| 136 | + rvf-crypto/witness.rs, mcp-brain-server/{graph,types}.rs, sona). |
0 commit comments