Skip to content

Protocol

An open standard, tested from both sides

Two independent implementations validate against the same shipped conformance vectors, including deliberately invalid streams. Every figure on this page derives from the repository at build time.

The shipped version

nep/1.1

The version above is imported from the protocol source at build time. A retyped version string anywhere on this surface fails the build.

The conformance corpus

21 valid streams

Counted by one .jsonl stream per file under packages/protocol/vectors/, outside invalid/

packages/protocol/vectors

9 invalid stream categories

Counted by one .jsonl pair per category under packages/protocol/vectors/invalid/

packages/protocol/vectors/invalid

Each invalid category ships as a stream and its expected verdict. The categories, named from their files:

  • broken-chain
  • expired-key
  • replayed-record
  • sequence-gap
  • signature-mismatch
  • suppressed-stream
  • tampered-payload
  • truncated-tail
  • unknown-key

The corpus and the second implementation resolve in the repository, at paths the build asserts exist:

packages/protocol/vectors
packages/protocol/verifier

Independence

The security addendum states the relationship between the two implementations in its own terms.

Neither the vendor's TypeScript implementation nor the Go verifier is the reference for the other; both are validated against shared, versioned conformance vectors including nine categories of deliberately invalid streams.

docs/vendor-assessment/security-addendum.md:25-25

Implementation status and remaining scope

Decision Assurance ships a bounded direct-instrumentation collector, live pre-execution refusal evidence and the current countersignature envelope. The broader generic MCP interposition, high-availability and managed-key scope remains open. State, scope and evidence paths below derive from the capability register.

F-075 collector
The reference collector verifies, appends and countersigns the Decision Assurance workload in the buyer-controlled deployment shape.
Scope: Decision Assurance direct-instrumentation reference workload; generic MCP stdio interposition, federation, high availability and managed key infrastructure remain open.
implemented-scoped
governed by tasks/prd-decision-assurance-v0.1.md
executable evidence: examples/decision-assurance/vendor-risk/run-demo.sh
Live blocked-action capture
The reference control plane emits a real non-synthetic action_blocked record before the protected function can execute.
Scope: Decision Assurance control plane emits a real non-synthetic action_blocked record before the protected function; generic MCP-boundary capture remains open.
implemented-scoped
governed by tasks/prd-decision-assurance-v0.1.md
executable evidence: examples/decision-assurance/vendor-risk/run-demo.sh
nep/1.1 countersignature envelope
The shipped TypeScript emitter and collector and the independently implemented Go verifier exercise the same countersignature contract.
Scope: NEP 1.1 emitter compatibility and distinct collector countersignatures across the TypeScript protocol package, collector, schemas, vectors and Go verifier.
implemented
governed by standards/intelligence-platform/rfc/0015-evidence-stream-protocol.md
executable evidence: packages/protocol/vectors/
6 occurrences in the shipped source (occurrences of the literal nep/1.1 in every file under packages/protocol/src/ (reproduce: grep -ro 'nep/1.1' packages/protocol/src/ | wc -l))

Policy packs are data

A policy pack binds regulatory controls to the gates that enforce them. Packs live under standards/policy-packs/packs/ and load through one loader, so a new jurisdiction is a new pack, not a fork.

The apra-cps pack ships as it is: version 0.1.0, jurisdiction AU, regulator APRA. Its verification rows are recomputed from 5 source files currently held under sources/. Rows without matching provenance remain UNVERIFIED-DRAFT.

17 controls

Counted by node standards/policy-packs/tools/pack-load.cjs --pack apra-cps --json

standards/policy-packs/packs/apra-cps

17 rows VERIFIED

Counted by node standards/policy-packs/tools/pack-load.cjs --pack apra-cps --json

standards/policy-packs/packs/apra-cps

0 rows UNVERIFIED-DRAFT

Counted by node standards/policy-packs/tools/pack-load.cjs --pack apra-cps --json

standards/policy-packs/packs/apra-cps

The two verification figures render side by side and are never combined into one score. A row without matching provenance stays visibly drafted until the loader can recompute it as verified.

What CPS 230 asks of an automated control

Facts derived 2026-09-01T22:47:09.312Z from commit 3f6b513007974db95549b439bcff08fa9f755db7