Docs / Reference

Conformance cases

Conformance cases prove that independent hosts return stable outcomes for valid and invalid protocol paths.

Plain English

Conformance is the test checklist for host behavior, not just a happy-path demo.

Why it exists

Independent capability hosts need shared tests for malformed inputs, unknown hosts, unavailable capabilities, authorization, lifecycle, timeout, and host errors.

Formal definition

A conformance case defines setup, invocation or discovery input, expected structured outcome, evidence expectation, and pass/fail criteria.

Concrete example

Ground the concept before the schema.

approval_required_denial proves a policy-gated capability returns approval_required before side effects.

conformance-case.json
json
{  "case": "authorization_denial",  "invoke": {    "invocation_id": "inv_authz_denial_001",    "capability_id": "schedule_technician",    "mode": "sync",    "correlation": { "correlation_id": "case-authz-denial" },    "subject": { "id": "agent://planning-assistant" },    "payload": {},    "requested_at": "2026-06-16T15:14:20.000Z"  },  "expected": {    "outcome": "denied",    "success": false,    "denial": { "code": "entitlement_denied" },    "event_type": "execution_denied"  }}

Developer reference

Conformance case reference

Every public host should prove these cases before relying parties treat it as interoperable.

CaseExpected resultWhat it proves
valid_invocationoutcome = success

Happy path executes and emits successful evidence.

malformed_inputdenial.code = input_schema_validation_failed

Host validates envelope and payload shape before execution.

version_mismatchdenial.code = unsupported_protocol_version

Host fails closed on incompatible protocol or capability versions.

unknown_hostdiscovery error = unknown_host

Infrastructure distinguishes unresolved host identity from host failure.

unavailable_capabilitydenial.code = capability_disabled

Lifecycle state is enforced before invocation side effects.

authorization_denialdenial.code = entitlement_denied

Caller entitlement failures return structured denials.

timeouterror.code = timeout

Timeout behavior is predictable and machine-readable.

host_errorerror.code = host_error

Accepted invocations that fail inside the host return structured errors.

Relationships

Where this sits in the protocol.

Each concept should explain its neighbors so implementation teams can preserve the boundary across manifests, invocation, evidence, and tests.

Reference pages turn protocol concepts into implementation checks.

Field names, outcome codes, and conformance cases should stay stable across hosts.

Examples should map every field back to capability, host, policy, context, or evidence.

Visual model

  1. 01Read the field or code before implementation.
  2. 02Map it into manifest, invocation, outcome, or evidence behavior.
  3. 03Add route, conformance, or unit coverage for each failure-sensitive field.

Implementation notes

  • Prefer explicit protocol fields over framework-specific inference.
  • Treat absent required fields as malformed protocol input.
  • Keep examples close to the failure cases they are meant to prevent.

Common mistakes

  • Letting transport status codes carry protocol meaning alone.
  • Hiding required protocol state in logs or application glue.
  • Testing only successful invocations.

Related concepts

Keep reading through the boundary.