# OCP 0.4 material decision register

**Release:** 0.4-working-draft — Portable AI History  
**Evidence boundary:** Editorial decisions and local reference materials; no independent implementation conformance.

## OCP-04-D001 — Keep the nine-record core unchanged and complete Conversation, Artifact, and Provider Adapter as profiles.

- **Rationale:** Preserves the governed-context core while allowing rich history semantics and independent class claims.
- **Alternatives:** Add conversation/artifact/adapter records to core; Defer all portable-history semantics
- **Security impact:** Prevents richer imported content from acquiring core authority.
- **Privacy impact:** Keeps profile content behind separate evidence and artifact views.
- **Compatibility impact:** Wire 0.4 adds profile schemas without a tenth core record.
- **Implementation evidence:** Schemas, classes, and local fixtures exist; no independent implementation.
- **Status:** `accepted_working_draft`

## OCP-04-D002 — Represent conversations as directed acyclic message graphs; do not define a universal turn object.

- **Rationale:** Branches, regeneration, edits, multi-parent structure, and partial exports are portable without inventing provider-specific turn semantics.
- **Alternatives:** Flat transcript; Mandatory turn object; Provider-only opaque graph
- **Security impact:** Stops silent branch flattening and order injection.
- **Privacy impact:** Allows minimized partial graphs with explicit missing-parent loss.
- **Compatibility impact:** New conversation/message schemas and comparator dimensions; flat exporters require loss.
- **Implementation evidence:** Cycle, branch, missing-parent, partial, and round-trip synthetic cases pass locally.
- **Status:** `accepted_working_draft`

## OCP-04-D003 — Use exact snapshot references for graph edges but a stable non-digest conversation reference from message to conversation.

- **Rationale:** Reciprocal exact digests would form an unsatisfiable hash cycle; graph edges still bind exact message revisions.
- **Alternatives:** Mutual placeholder digests; No conversation back-reference; Digest exclusion projection for every message
- **Security impact:** Eliminates unverifiable placeholder hashes.
- **Privacy impact:** No material privacy change; stable IDs remain subject to package aliasing.
- **Compatibility impact:** New message schema is wire-breaking relative to the sketch.
- **Implementation evidence:** Generated examples/catalog validate; independent cross-language implementation missing.
- **Status:** `accepted_working_draft`

## OCP-04-D004 — Use one closed typed content-part union and Artifact Profile references for all large media.

- **Rationale:** A single artifact reference plus semantic hint avoids redundant image/audio/video/document reference types and separates relationships from bytes.
- **Alternatives:** Inline media blobs; Distinct media-ref object for every modality; Unstructured content array
- **Security impact:** Keeps media inert and independently sandboxed; tool history has no current authority.
- **Privacy impact:** Message access cannot imply byte access.
- **Compatibility impact:** Unknown parts require opaque/unsupported/loss handling.
- **Implementation evidence:** Schema and hostile source-content fixtures pass locally.
- **Status:** `accepted_working_draft`

## OCP-04-D005 — Preserve only reasoning-related content actually exported by the source and label its source semantics.

- **Rationale:** OCP cannot require or reconstruct private chain-of-thought or convert summaries into it.
- **Alternatives:** Mandatory full reasoning; Drop all reasoning-related content; Generic reasoning text without provenance
- **Security impact:** Avoids pressure to expose hidden security-sensitive reasoning.
- **Privacy impact:** Avoids fabricating or overcollecting private model traces.
- **Compatibility impact:** Adapters may emit four declared reasoning kinds or explicit loss.
- **Implementation evidence:** Schema coverage only; provider behavior untested.
- **Status:** `accepted_working_draft`

## OCP-04-D006 — Separate logical artifacts from one or more representations.

- **Rationale:** One work may have originals, transcodes, previews, transcripts, captions, and accessibility alternatives without false unrelated identities.
- **Alternatives:** One artifact per file; Single nested content object; Universal media project ontology
- **Security impact:** Allows each byte representation to be checked and parsed separately.
- **Privacy impact:** Disclosure can select representations and preserve accessibility links.
- **Compatibility impact:** New artifact/representation schemas replace the draft descriptor as the complete profile.
- **Implementation evidence:** Positive schema and reference bundle pass; independent implementation missing.
- **Status:** `accepted_working_draft`

## OCP-04-D007 — Define custody using reference-only, derivative-only, managed-copy, and synchronized-copy with a strict byte-verification invariant.

- **Rationale:** A source locator or authenticated API is not preservation; managed claims require held independently retrievable exact bytes.
- **Alternatives:** Boolean preserved flag; URL availability as custody; Require all artifacts to be copied
- **Security impact:** Prevents false reliance on remote or changed bytes.
- **Privacy impact:** Does not turn possession into permission; metadata/content remain separate.
- **Compatibility impact:** Managed/synchronized schemas now require an independently retrievable representation and source dependency false.
- **Implementation evidence:** Digest, overclaim, and disappearance synthetic cases pass locally; operational store proof missing.
- **Status:** `accepted_working_draft`

## OCP-04-D008 — Use SHA-256 as 0.4 mandatory-to-implement through an algorithm registry.

- **Rationale:** One interoperable algorithm is needed while retaining algorithm agility.
- **Alternatives:** Hard-code SHA-256 forever; No mandatory algorithm; Multiple mandatory algorithms
- **Security impact:** Provides exact-byte comparison only; authenticity/safety remain separate.
- **Privacy impact:** No direct privacy change; digests are still sensitive correlators and package projection rules apply.
- **Compatibility impact:** New digest registry and representation fields.
- **Implementation evidence:** Local embedded-byte verification passes; cross-language/provider evidence missing.
- **Status:** `accepted_working_draft`

## OCP-04-D009 — Model lineage as separate immutable events and use stable non-digest input/output refs to avoid reciprocal hash cycles.

- **Rationale:** Lineage can describe partial generation/derivation history without mutating artifacts or implying ownership/action.
- **Alternatives:** Nested mutable lineage; Exact digest references in both directions; PROV-only records
- **Security impact:** Lineage always has external action authority none.
- **Privacy impact:** Prompt/source disclosure remains separately permissioned.
- **Compatibility impact:** New lineage schema and Artifact exact event refs.
- **Implementation evidence:** Synthetic generated-artifact lineage validates; PROV/C2PA round trip untested.
- **Status:** `accepted_working_draft`

## OCP-04-D010 — Standardize adapter manifests, per-semantic mappings, mapping runs, and explicit source locators.

- **Rationale:** Independent implementations need inspectable/reproducible mappings without standardizing private provider schemas.
- **Alternatives:** Prose-only connector docs; One universal export schema; Opaque proprietary adapters
- **Security impact:** Declares limits, recognized schema versions, and parser assumptions.
- **Privacy impact:** Locators and opaque values are minimized/visibility-controlled.
- **Compatibility impact:** New schemas/registries/fixture-package obligations.
- **Implementation evidence:** 16 synthetic adapter cases and local reference run pass; no real independent adapter.
- **Status:** `accepted_working_draft`

## OCP-04-D011 — Separate deterministic derived mappings from interpretive inferred mappings; adapters never create accepted context.

- **Rationale:** Deterministic computation is reproducible while inference exceeds translation and requires review.
- **Alternatives:** Merge derived/inferred; Ban all derived mappings; Allow confident inference to auto-accept
- **Security impact:** Blocks semantic invention and silent accepted-state writes.
- **Privacy impact:** Reduces surprise inference and preserves review/minimization.
- **Compatibility impact:** Mapping type registry and accepted-context eligibility false.
- **Implementation evidence:** Local deterministic replay passes; real provider drift not tested.
- **Status:** `accepted_working_draft`

## OCP-04-D012 — Classify loss by explicit codes and machine-readable reports; human reports are derived and recipient-filtered.

- **Rationale:** Counts and per-object differences must be reproducible without leaking withheld categories.
- **Alternatives:** Free-text warnings; Single success/failure boolean; Always reveal source-wide counts
- **Security impact:** Integrity/authority losses cannot be hidden behind a success label.
- **Privacy impact:** Visibility scope prevents sensitive existence/count leakage.
- **Compatibility impact:** New loss-report schema and profile registries; comparator classes require it.
- **Implementation evidence:** Registry resolution and human-rendering source fixture pass locally.
- **Status:** `accepted_working_draft`

## OCP-04-D013 — Keep raw, parsed, mapped, and accepted trust zones with no baseline mapped-to-accepted edge.

- **Rationale:** Parsing/mapping does not establish human authority or correctness.
- **Alternatives:** Auto-accept high confidence; Two-zone raw/accepted design; Model-driven policy
- **Security impact:** Contains prompt injection, parser risk, and authority escalation.
- **Privacy impact:** Supports review and source-level filtering.
- **Compatibility impact:** Adapters output candidates/evidence only; future auto-review is a separate profile.
- **Implementation evidence:** Hostile fixture assertions pass locally; deployed sandbox absent.
- **Status:** `accepted_working_draft`

## OCP-04-D014 — Define eleven exact Portable AI History conformance classes rather than one OCP 0.4 label.

- **Rationale:** Import, packaging, round trip, custody, determinism, and loss-report capabilities require different evidence.
- **Alternatives:** Single compliance mark; One class per schema; Prose-only capability claims
- **Security impact:** Prevents security/preservation overclaim.
- **Privacy impact:** Makes disclosure and recipient evidence boundaries visible.
- **Compatibility impact:** Class registry maps exact assertion IDs.
- **Implementation evidence:** Registry accounting passes; zero implementation assertions pass.
- **Status:** `accepted_working_draft`

## OCP-04-D015 — Treat unknown critical extensions as failure and non-critical unknowns as inertly preservable or explicitly lost.

- **Rationale:** Evolution cannot weaken required safety semantics or silently discard future data.
- **Alternatives:** Ignore all unknowns; Reject every unknown; LLM interpretation
- **Security impact:** Fails closed for safety-critical meaning and prohibits execution.
- **Privacy impact:** Preservation may be narrowed by recipient policy with explicit loss.
- **Compatibility impact:** Extension comparator and negative fixture required.
- **Implementation evidence:** Critical rejection and non-critical round trip pass locally.
- **Status:** `accepted_working_draft`

## OCP-04-D016 — Keep 0.4 as an Editor's Working Draft until all 18 evidence gates are met.

- **Rationale:** Editorial/package completion is not independent interoperability, deployed security, or human acceptance.
- **Alternatives:** Declare release complete from green fixtures; Defer publishing working artifacts
- **Security impact:** Keeps independent security and hostile-runtime testing as real gates.
- **Privacy impact:** Keeps human privacy/accessibility evaluation visible.
- **Compatibility impact:** No stable conformance or interoperability claim is permitted.
- **Implementation evidence:** 37 schemas, 32 positive, 45 negative, 243 inherited vectors, and 25 profile cases pass locally; independent gates remain open.
- **Status:** `accepted_working_draft`

