CALI research

Operation catalog

How clients and tooling consume the machine-readable CALI operation registry and distinguish implemented, specified and planned behavior.

Why the registry exists

The operation registry is the machine-readable index of CALI operations. It gives SDK generators, policy tools, conformance runners and provider adapters one stable vocabulary without claiming that every deployment supports every entry.

Record shape

{
  "name": "TransformKey",
  "family": "key-evolution",
  "maturity": "specified",
  "requestType": "TransformKeyRequest",
  "responseType": "TransformKeyResponse",
  "idempotency": "required",
  "evidence": "required"
}

Maturity values are explicit:

  • implemented: present in the checked-in reference service;
  • specified: contract defined but not executed by the minimal service;
  • planned: reserved roadmap work whose final shape may change.

Consuming the catalog

Tools should load the checked-in JSON, validate it against the registry schema, reject duplicate operation names and bind to the registry version they understand. Runtime support must still be determined using scoped capability discovery.

const registry = await fetch('/path/to/operation-registry.json').then((r) =>
  r.json(),
);
const transform = registry.operations.find(
  (item) => item.name === 'TransformKey',
);
if (!transform || transform.maturity === 'planned') {
  throw new Error('This client cannot depend on TransformKey yet');
}

What the catalog does not do

The registry does not authorize operations, select providers or guarantee algorithm availability. It is a versioned vocabulary. Policy and live capability state make the deployment-specific decision.