Executable contract

50 obligations. Over the wire.

The kit knows nothing about your database, framework, or internals. It speaks the RC2 binding exactly as an unfamiliar client would.

Run it

A failure points back to the sentence.

Every output line cites the normative section it enforces. That makes a failed implementation test useful feedback about the code—or about language that was not precise enough.

git clone https://github.com/OpenWorkProtocol/owp-code
cd owp-code && npm ci

# Use a scratch surface: the kit creates real work.
node conformance/run.ts https://surface.example \
  --operator-token "$OP" \
  --agent-token "$AGENT"

# expected
50/50 obligations met

Coverage

The obligations follow the contract’s pressure points.

Work lifecycle

Creation, atomic claim, assignment filters, events, parking, decisions, completion, and recovery.

Ordering and projections

Total assignment rank, bounded attention, stable keyset cursors, portfolio, work view, and fleet visibility.

Authority

Agent and operator boundaries, scoped grants, project isolation, authorship, and the delegation invariant.

Interoperability

Typed-link round-trip, vocabulary discovery, advertised verbs, revision pins, and normative error behavior.

Binding safety

JSON-only requests, bounded bodies, authenticated authority, durable idempotency, cancellation, and dependency-safe exits.

What counts

Passes, failures, and honest skips.

An obligation that cannot run is reported as not exercised, never quietly counted as a pass. Four authority checks require a surface configured with credentials because open mode has no agent class or invalid token to address.

The reference surface passes all 50 with operator and agent tokens. In loopback open mode it passes 46 and names the four checks it could not exercise.

This proves reference conformance, not interoperability between independent implementations. No independently authored surface has passed the kit yet.