OASP
Spec Schemas GitHub
Home / Conformance
// conformance

Three levels. One executable kit.

Conformance in OASP is something you prove, not something you assert. Pick the level that matches what you’re building, then run the kit against it — the same suite every other implementation runs.

// the levels

What each level requires

L1 Client
consumes OASP
publish and send against a Conversation.
stream Events as they append.
follow a migration without dropping the thread.
present one continuous Conversation to the user.
L2 Server
hosts the protocol
host Conversations and Sessions.
implement migrate and drain.
honor scope-pinned identity and containment — a spec MUST, not yet covered by a negative-authorization check in the kit.
MUST emit AuditEvents for every consequential action.
L3 Adapter
bridges a runtime
map a non-OASP runtime’s native sessions to OASP Sessions.
translate native events into OASP Events.
MUST stream events faithfully — the source a Server derives AuditEvents from, not an AuditEvent emitter itself.
expose migrate/drain where the runtime allows.
// requirement matrix

Capability by level

Capability
Client
Server
Adapter
publish
MUST
MUST
send
MUST
MUST
SHOULD
stream
MUST
MUST
SHOULD
follow migration
MUST
host Conversations/Sessions
MUST
SHOULD
migrate
MUST
SHOULD
drain
MUST
SHOULD
emit AuditEvent
MUST
map native → Session
MUST
MUST required SHOULD recommended not applicable
Backing spec: audit.md scope-and-identity.md adapters.md
// conformance kit

Prove it by passing.

The conformance kit is an executable test suite (@oasp/conformance) you run against your implementation. It exercises the MUSTs for the level you claim and reports pass/fail per check — a distributable CLI and a signed, portable result format are planned, not shipped yet.

Once that ships, a passing run is what will earn a listing on Implementations — conformance demonstrated, not declared.

Get listed
conformance
$ pnpm --filter @oasp/conformance test
RUN vitest · reference server + mock provider, in-process
no network · no live keys · deterministic clock/seed
conformance/checks/server/run-server-checks.test.ts (8)
conformance/checks/audit/run-audit-checks.test.ts (6)
conformance/checks/adapter/run-adapter-checks.test.ts (2)
conformance/verify-self-report.test.ts (3)
… and the rest of the suite
Test Files all passed
Tests all passed

This is today’s shape — @oasp/conformance is a private, in-repo vitest suite (v0.0.0). No CLI, no remote target, no signing yet.