Quickstart
Use the release fixtures to trace a purpose-bound transfer before integrating an HTTP binding or provider adapter.
1. Get the working-draft package
Download the complete release package or work directly from this repository. The package contains the normative Markdown, 37 JSON Schemas, positive and hostile fixtures, registries, and validation tools.
npm ci
npm run spec:test2. Submit a purpose-bound request
The request identifies the delivery and processing recipients, a human-readable purpose, selectors, views, retention, permitted processing uses, offline-use policy, and bounded proposal rights.
{
"ocp_version": "0.4",
"type": "context_request",
"correlation_id": "urn:uuid:bd6ee087-a8b4-450d-9f84-aa89b8b978c0",
"purpose": {
"code": "https://opencontinuity.org/vocab/purposes/plan-trip",
"description": "Plan a ten-day trip while respecting the traveler’s accepted lodging preferences."
},
"selectors": [
{
"layer": "context",
"space_refs": [
{
"id": "urn:uuid:a27fd923-d0a7-4dde-972c-46c40fe575a5",
"revision": 1,
"schema_uri": "https://opencontinuity.org/schemas/0.4/context-space.schema.json",
"digest": "sha-256:6909de5bcd6a97dc15d7c906892e197ec069630ec8125b23deb00e4537446445"
}
],
"item_categories": [
"statement"
],
"predicates": [
"https://opencontinuity.org/vocab/predicates/prefers-hotel-style"
],
"sensitivity_max": "normal"
}
],
"views": {
"context": "accepted",
"evidence": "none",
"artifacts": "none"
},
"retention": {
"mode": "session",
"legal_retention_may_apply": false
},
"processing_uses": {
"task_use": "permitted",
"model_training": "prohibited",
"product_improvement": "prohibited",
"advertising": "prohibited"
},
"offline_use": "prohibited"
}3. Record the authorization decision
A grant receipt records what was approved and binds it to a recipient, purpose, time window, processing limits, and live status references. The receipt is evidence of a decision; the underlying authorization system remains authoritative.
4. Consume defensively
- Validate structure.Resolve the canonical schema URI and reject invalid objects.
- Verify bindings.Check the recipient, correlation, grant status, purpose, expiry, integrity, and declared processing limits.
- Apply containment.Treat entries and renderings as untrusted data, and keep context separate from policy and executable instructions.
- Surface omissions.Do not infer that absent data does not exist; inspect omissions, warnings, and loss reports.
{
"ocp_version": "0.4",
"type": "context_package",
"correlation_id": "urn:uuid:bd6ee087-a8b4-450d-9f84-aa89b8b978c0",
"purpose": {
"code": "https://opencontinuity.org/vocab/purposes/plan-trip",
"description": "Plan a ten-day trip while respecting the traveler’s accepted lodging preferences."
},
"entries": [
{
"entry_id": "urn:uuid:4f7ba4ce-aee1-49a3-a705-14f29d98a501",
"layer": "context",
"disclosure": "accepted",
"media_type": "application/ocp+json",
"content_schema_uri": "https://opencontinuity.org/schemas/0.4/context-package.schema.json#/$defs/packageContextContent",
"digest": "sha-256:af9c0f49046b829c5db808ca9020ceab46d452bc80d825f774fd64a60f43f3cb",
"package_item_ref": "urn:uuid:9b0d728f-8b6e-4aa5-ae3b-2a3b46e3d0f2",
"content": {
"subject_refs": [
"urn:uuid:42a6ad3c-b34c-4d35-9b43-8cf72e989735"
],
"space_ref": "urn:uuid:fd1d94b4-d14a-4920-983a-3b501238a6c5",
"category": "statement",
"statement": {
"predicate": "https://opencontinuity.org/vocab/predicates/prefers-hotel-style",
"object": {
"type": "string",
"value": "boutique",
"language": "en"
}
},
"epistemic_basis": "subject_confirmed",
"review_status": "accepted",
"decision_ref": "urn:uuid:ad2be2ce-827b-45a6-8c21-1f788cb5bef1",
"provenance_refs": [
"urn:uuid:cdc815e6-7e51-47d1-95bf-01be8e18a320"
],
"sensitivity": "normal",
"instruction_treatment": "untrusted_data"
},
"instruction_treatment": "untrusted_data"
}
],
"omissions": [
{
"selector": {
"layer": "evidence",
"space_refs": [
"urn:uuid:fd1d94b4-d14a-4920-983a-3b501238a6c5"
]
},
"reason": "not_granted"
}
],
"external_action_authority": "none"
}5. Propose—do not silently write
A client with bounded proposal rights may submit an update_proposal. Only a corresponding review_decision can accept, reject, or partially accept the proposed changes into a context space.
Was this page useful?
Feedback is stored in this browser only until a project feedback endpoint is adopted.