Cross-language conformance¶
OCLP's specification must not depend on Pydantic or Python behavior. The language-neutral fixture corpus is the executable contract for draft 0.3.
Each valid fixture provides its JSON record, exact RFC 8785 canonical JSON, and expected SHA-256 catalog-integrity digest. Invalid fixtures capture schema and semantic rules. The lineage fixture connects the primary execution record kinds; the ArtifactSet fixture covers immutable package membership.
Run the verifiers¶
The Python SDK verifier is maintained with the SDK, and is deliberately run against a selected standards checkout:
cd ../oclp-python
OCLP_STANDARD_ROOT=../open-computation-lifecycle \
uv run pytest tests/test_standard_conformance.py
The independent TypeScript verifier:
The TypeScript verifier uses the published JSON Schema, an RFC 8785 canonicalizer, and Node's SHA-256 implementation. It therefore checks the same corpus without invoking the Python package.
Extending the contract¶
Add only behavior that is defined by the specification. A protocol change must update the specification, published schemas, fixtures, expected canonical digests, and both verifiers as one reviewable change. No SDK generates the standard's schemas; implementations instead verify themselves against this contract.
Optional profiles maintain independent specifications, schemas, fixtures, and verifiers. See OCLP Profiles for those conformance packages.
See tests/conformance/README.md
for fixture details and the implementer contract.