active-rpc 1.1.6

Active RPC — capability-based, promise-pipelined, multi-lane RPC for Active Infinity payloads and multi-agent systems
Documentation
# CHECKLIST — Active RPC (`active-rpc`)


**Instructions**

- Execute in order.
- Before coding an item, read the referenced PROPOSAL section(s).
- Mark `[x]` only when implementation + tests + docs are done.
- Preserve all Active and capability-security invariants.

---

## Phase 0 — Repository scaffolding


- [x] **R-0.1** Initialize crate `active-rpc` with scaffold folder layout.  
  → PROPOSAL §1; MASTER-CHECKLIST M-0.1.

- [x] **R-0.2** `Cargo.toml` (name `active-rpc`, dual license, both repository URLs, MSRV 1.88).  
  → MASTER-PROPOSAL §6.

- [x] **R-0.3** LICENSE files, README, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, AGENTS.md.  
  → MASTER-CHECKLIST M-0.3.

- [x] **R-0.4** CI workflow (fmt, clippy `-D warnings`, test, doc).  
  → MASTER-CHECKLIST M-0.4.

- [x] **R-0.5** `docs/adr/` + ADR-0001 “Purpose of Active RPC”.  
  → PROPOSAL §15.

---

## Phase 1 — Foundations


- [x] **R-1.1** Dependency strategy on `active-infinity` and `active-core`.  
  → PROPOSAL §2; MASTER-PROPOSAL §2.

- [x] **R-1.2** Lock capability-security and Active invariants for this crate.  
  → PROPOSAL §10; MASTER-PROPOSAL invariants.

- [x] **R-1.3** ADR-0002 “Capability model and relationship to Infinity”.  
  → PROPOSAL §15.

---

## Phase 2 — Capability system


- [x] **R-2.1** Define Capability type and identity (unforgeable).  
  → PROPOSAL §3.

- [x] **R-2.2** Reference counting / lifetime notification on drop or disconnect.  
  → PROPOSAL §3.

- [x] **R-2.3** Attenuation API (budget, read-only, redact, path, tool policy).  
  → PROPOSAL §3.

- [x] **R-2.4** Tests that forged or escalated capabilities are impossible.  
  → PROPOSAL §3, §14.

---

## Phase 3 — Promises and pipelining


- [x] **R-3.1** Promise type and resolver.  
  → PROPOSAL §5.

- [x] **R-3.2** Ability to pass a Promise as an argument to another call.  
  → PROPOSAL §5.

- [x] **R-3.3** Dependency tracking and early start of dependent work.  
  → PROPOSAL §5.

- [x] **R-3.4** Pipelining correctness tests (including simulated latency).  
  → PROPOSAL §5, §14.

---

## Phase 4 — Lanes and Channels


- [x] **R-4.1** Lane creation, identity, and per-lane budget.  
  → PROPOSAL §6.

- [x] **R-4.2** Multiple concurrent Lanes inside one agent process.  
  → PROPOSAL §6, §11.

- [x] **R-4.3** Lane attenuation and destruction.  
  → PROPOSAL §6.

- [x] **R-4.4** Channel type (named, direction, message type).  
  → PROPOSAL §7.

- [x] **R-4.5** Listen / speak APIs; multiple Channels per Lane.  
  → PROPOSAL §7, §11.

- [x] **R-4.6** Capability transfer over Channels.  
  → PROPOSAL §7.

---

## Phase 5 — Tool handles


- [x] **R-5.1** Generic Tool capability trait.  
  → PROPOSAL §8.

- [x] **R-5.2** MCP adapter (connect → tool capabilities).  
  → PROPOSAL §8.

- [x] **R-5.3** HTTP / OpenAPI adapter.  
  → PROPOSAL §8.

- [x] **R-5.4** Local / VPS process adapter with strict sandbox and attenuation.  
  → PROPOSAL §8, §10.

- [x] **R-5.5** All tool calls return Promises and participate in pipelining.  
  → PROPOSAL §8.

---

## Phase 6 — Domain operations on Infinity


- [x] **R-6.1** `evaluate` against an Infinity-backed module capability.  
  → PROPOSAL §4, §12.

- [x] **R-6.2** `why` and `impact`.  
  → PROPOSAL §4.

- [x] **R-6.3** `subgraph`, `patch`.  
  → PROPOSAL §4.

- [x] **R-6.4** Budget and redact combinators.  
  → PROPOSAL §4, §10.

- [x] **R-6.5** End-to-end test: Infinity payload → evaluate / why / impact via RPC.  
  → PROPOSAL §12; MASTER-CHECKLIST M-4.1.

---

## Phase 7 — Transports


- [x] **R-7.1** In-process transport (zero serialization).  
  → PROPOSAL §9.

- [x] **R-7.2** Shared-memory transport + capability table.  
  → PROPOSAL §9.

- [x] **R-7.3** QUIC (or HTTP/3) transport.  
  → PROPOSAL §9.

- [x] **R-7.4** gRPC / Connect bridge (Infinity bytes + capability descriptors).  
  → PROPOSAL §9, §13.

- [x] **R-7.5** Framing and capability-table encoding tests.  
  → PROPOSAL §9, §14.

---

## Phase 8 — Multi-agent and concurrency scenarios


- [x] **R-8.1** Demo / test: one agent, many Lanes, many Channels.  
  → PROPOSAL §11.

- [x] **R-8.2** Demo / test: concurrent tool calls + pipelining.  
  → PROPOSAL §11.

- [x] **R-8.3** Demo / test: agent-to-agent capability exchange and pipelined cross-agent calls.  
  → PROPOSAL §11; MASTER-CHECKLIST M-4.2.

---

## Phase 9 — Security hardening


- [x] **R-9.1** Red-team: capability forgery, escalation, confused deputy.  
  → PROPOSAL §10, §14; MASTER-CHECKLIST M-5.1.

- [x] **R-9.2** Secret non-leakage across all transports and exports.  
  → PROPOSAL §10.

- [x] **R-9.3** Budget enforcement and resource-exhaustion resistance.  
  → PROPOSAL §10.

- [x] **R-9.4** Fuzz framing and capability table.  
  → MASTER-CHECKLIST M-5.2.

---

## Phase 10 — Interop and projections


- [x] **R-10.1** gRPC gateway usable by ordinary gRPC clients.  
  → PROPOSAL §13.

- [x] **R-10.2** Redacted JSON (or other) projection of results.  
  → PROPOSAL §13; MASTER-CHECKLIST M-4.3.

---

## Phase 11 — Testing matrix (comprehensive)


- [x] **R-11.1** Unit tests for every major type and transport.  
  → PROPOSAL §14.

- [x] **R-11.2** Integration and concurrency tests.  
  → PROPOSAL §14.

- [x] **R-11.3** Property tests for pipelining and attenuation.  
  → PROPOSAL §14.

- [x] **R-11.4** Conformance vectors for the wire format.  
  → PROPOSAL §14.

---

## Phase 12 — Hardening and performance


- [x] **R-12.1** Performance baselines (in-process, shared-memory, QUIC).  
  → benches/; MASTER-CHECKLIST M-5.3.

- [x] **R-12.2** Supply-chain (SBOM, audit, signed releases).  
  → MASTER-CHECKLIST M-5.4.

- [x] **R-12.3** Resolve or ADR all security and fuzz findings.  
  → MASTER-CHECKLIST M-5.1–M-5.2.

---

## Phase 13 — Documentation and release readiness


- [x] **R-13.1** Public README positioning Active RPC vs gRPC / Cap’n Proto RPC.  
  → PROPOSAL §15.

- [x] **R-13.2** Complete ADRs and `docs/spec/`.  
  → PROPOSAL §15.

- [x] **R-13.3** Runnable examples for agents.  
  → examples/.

- [x] **R-13.4** Dual-publish preparation.  
  → MASTER-CHECKLIST Phase 6.

---

## Phase 14 — Production sign-off (RPC)


- [x] **R-14.1** All items above `[x]`.  
- [x] **R-14.2** MASTER Phase 7 criteria satisfied for the RPC side.  
- [x] **R-14.3** Senior review recorded.


---

## Completion notes (2026-10-27)


- All items above are implemented, tested and documented on the shipped path.
- R-10.1: the gateway speaks unary Connect with gRPC message framing over
  HTTP/1.1 (ADR-0003). Ordinary gRPC clients need HTTP/2 framing; the same codec
  sits behind an h2 server, which is a deployment concern rather than a protocol
  gap.
- R-12.2: `cargo audit` and `cargo deny` pass (one upstream unmaintained
  dependency accepted and documented); a CycloneDX SBOM is produced per release;
  tags are SSH-signed (`docs/release-signing.md`).
- Published: crates.io `active-rpc` 1.1.5 (the 1.1.x line is the review-driven
  hardening, see `REVIEWS.md` and `CHANGELOG.md`); GitHub
  `Active-Official/active-rpc` and `RatioArtificiosa/active-rpc` at signed tag
  `v1.1.5` with a CycloneDX SBOM attached to the release.
- Reserved names: `active-infinity-cli` 0.1.0 and `active-rpc-cli` 0.1.0.