Add canonical assertion envelopes for v0.4.0

This commit is contained in:
2026-07-18 11:54:10 -07:00
parent 9087ad4789
commit cb36bbc958
46 changed files with 19837 additions and 166 deletions
+3 -2
View File
@@ -1,11 +1,12 @@
# Thinkloom provenance schemas 1.0
This generated package is the formal Stage 2 contract for the approved provenance architecture. It targets JSON Schema Draft 2020-12 and ships with 38 schemas, valid fixtures, invalid fixture suites, and deterministic verification vectors.
This generated package is the formal Stage 2 contract for the approved provenance architecture. It targets JSON Schema Draft 2020-12 and ships with 40 schemas, valid fixtures, invalid fixture suites, and deterministic verification vectors.
- `catalog.json` is the machine-readable inventory.
- `*.schema.json` are the formal contracts.
- `registries` defines assertion lifecycle, evaluation status, confidence, evidence, boundary, and reason semantics.
- `fixtures/valid` contains one canonical valid instance per schema.
- `fixtures/invalid` covers required fields, closed-object policy, and populated enum, pattern, and numeric/string/array bounds.
- `vectors` fixes canonicalization, timestamps, paths, JSONL, event and segment chains, self-digests, protected records, key rotation and recovery, retention policy, sanitized export, deterministic indexes, verification reports, backups, and release-Merkle behavior.
- `vectors` fixes canonicalization, timestamps, paths, JSONL, event and segment chains, self-digests, protected records, key rotation and recovery, retention policy, sanitized export, deterministic indexes, verification reports, canonical assertions and evaluations, dependency invalidation, backups, and release-Merkle behavior.
Regenerate with `npm run provenance:schema:generate`. Verify with `npm run provenance:schema:test`. Generated files must be committed together with generator and vector changes. Runtime adoption is a later implementation stage; presence of this package does not imply the current native writer already conforms.
@@ -0,0 +1,779 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://thinkloom.app/schemas/provenance/1.0/assertion-evaluation.schema.json",
"title": "Point-in-time assertion evaluation",
"description": "Immutable verifier conclusion about one assertion at an explicit chain head and project epoch.",
"type": "object",
"properties": {
"schema_version": {
"const": "1.0"
},
"evaluation_id": {
"type": "string",
"pattern": "^evaluation_[0-9A-HJKMNP-TV-Z]{26}$"
},
"assertion_id": {
"type": "string",
"pattern": "^assertion_[0-9A-HJKMNP-TV-Z]{26}$"
},
"assertion_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"project_id": {
"type": "string",
"pattern": "^project_[0-9A-HJKMNP-TV-Z]{26}$"
},
"evaluated_against": {
"type": "object",
"properties": {
"chain_head": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"event_sequence": {
"type": "integer",
"minimum": 1
},
"project_epoch": {
"type": "integer",
"minimum": 1
},
"schema_catalog_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"chain_head",
"event_sequence",
"project_epoch",
"schema_catalog_sha256"
],
"additionalProperties": false
},
"evaluator": {
"type": "object",
"properties": {
"subsystem": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]+$"
},
"application_version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
}
},
"required": [
"subsystem",
"application_version"
],
"additionalProperties": false
},
"status": {
"enum": [
"exact",
"degraded",
"refused",
"stale",
"unverified"
]
},
"confidence": {
"type": "object",
"properties": {
"integrity": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
},
"identity": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
},
"chronology": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
},
"derivation": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
},
"authorship": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
},
"completeness": {
"enum": [
"exact",
"degraded",
"unverified",
"not_applicable"
]
}
},
"required": [
"integrity",
"identity",
"chronology",
"derivation",
"authorship",
"completeness"
],
"additionalProperties": false
},
"boundary": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"enum": [
"missing_provenance",
"unknown_generation",
"evidence_access",
"compatibility",
"dependency_change",
"policy",
"interpretation",
"coverage"
]
},
"affected_dimensions": {
"type": "array",
"items": {
"enum": [
"integrity",
"identity",
"chronology",
"derivation",
"authorship",
"completeness"
]
},
"minItems": 1,
"uniqueItems": true
},
"dependency_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"uniqueItems": true
},
"compatibility": {
"anyOf": [
{
"type": "object",
"properties": {
"required_schema": {
"type": "string",
"minLength": 1
},
"observed_schema": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
}
},
"required": [
"required_schema",
"observed_schema"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"affected_dimensions",
"dependency_ids",
"compatibility"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"dependency_results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dependency_id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"evidence_class": {
"enum": [
"mandatory_live",
"mandatory_retained",
"advisory",
"shadow"
]
},
"status": {
"enum": [
"valid",
"missing",
"changed",
"inaccessible",
"incompatible",
"not_evaluated"
]
},
"observed_sha256": {
"anyOf": [
{
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
{
"type": "null"
}
]
},
"observed_generation": {
"anyOf": [
{
"type": "object",
"properties": {
"project_epoch": {
"type": "integer",
"minimum": 1
},
"artifact_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
},
"transcript_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
}
},
"required": [
"project_epoch",
"artifact_revision",
"transcript_revision"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"dependency_id",
"evidence_class",
"status",
"observed_sha256",
"observed_generation"
],
"additionalProperties": false
},
"minItems": 1
},
"reason_code": {
"enum": [
"DIRECT_HASH_LINKED_DERIVATION",
"VERIFIED_TRANSITIVE_DERIVATION",
"REQUIRED_PROVENANCE_UNKNOWN",
"SOURCE_GENERATION_UNKNOWN",
"REQUIRED_EVIDENCE_MISSING",
"DEPENDENCY_DIGEST_MISMATCH",
"DEPENDENCY_GENERATION_MISMATCH",
"SOURCE_ANCHOR_STALE",
"SCHEMA_INCOMPATIBLE",
"POLICY_REFUSED",
"AUTHORIZED_EVIDENCE_UNAVAILABLE",
"ADVISORY_EVIDENCE_UNAVAILABLE",
"ASSERTION_NOT_EVALUATED",
"AUTHORSHIP_UNCERTAIN",
"CHRONOLOGY_INCOMPLETE",
"COMPLETENESS_INCOMPLETE"
]
},
"supersedes_evaluation_id": {
"anyOf": [
{
"type": "string",
"pattern": "^evaluation_[0-9A-HJKMNP-TV-Z]{26}$"
},
{
"type": "null"
}
]
},
"evaluated_at": {
"type": "string",
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
}
},
"required": [
"schema_version",
"evaluation_id",
"assertion_id",
"assertion_sha256",
"project_id",
"evaluated_against",
"evaluator",
"status",
"confidence",
"boundary",
"dependency_results",
"reason_code",
"supersedes_evaluation_id",
"evaluated_at"
],
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"status": {
"const": "exact"
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"boundary": {
"type": "null"
},
"reason_code": {
"enum": [
"DIRECT_HASH_LINKED_DERIVATION",
"VERIFIED_TRANSITIVE_DERIVATION"
]
},
"confidence": {
"type": "object",
"properties": {
"integrity": {
"enum": [
"exact",
"not_applicable"
]
},
"identity": {
"enum": [
"exact",
"not_applicable"
]
},
"chronology": {
"enum": [
"exact",
"not_applicable"
]
},
"derivation": {
"enum": [
"exact",
"not_applicable"
]
},
"authorship": {
"enum": [
"exact",
"not_applicable"
]
},
"completeness": {
"enum": [
"exact",
"not_applicable"
]
}
},
"required": [
"integrity",
"identity",
"chronology",
"derivation",
"authorship",
"completeness"
]
},
"dependency_results": {
"type": "array",
"items": {
"type": "object",
"if": {
"properties": {
"evidence_class": {
"const": "shadow"
}
},
"required": [
"evidence_class"
]
},
"else": {
"properties": {
"status": {
"const": "valid"
}
},
"required": [
"status"
]
}
}
}
}
}
},
{
"if": {
"properties": {
"status": {
"not": {
"const": "exact"
}
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"boundary": {
"not": {
"type": "null"
}
}
}
}
},
{
"if": {
"properties": {
"status": {
"const": "degraded"
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"reason_code": {
"enum": [
"ADVISORY_EVIDENCE_UNAVAILABLE",
"AUTHORSHIP_UNCERTAIN",
"CHRONOLOGY_INCOMPLETE",
"COMPLETENESS_INCOMPLETE"
]
},
"confidence": {
"type": "object",
"anyOf": [
{
"properties": {
"integrity": {
"const": "degraded"
}
},
"required": [
"integrity"
]
},
{
"properties": {
"identity": {
"const": "degraded"
}
},
"required": [
"identity"
]
},
{
"properties": {
"chronology": {
"const": "degraded"
}
},
"required": [
"chronology"
]
},
{
"properties": {
"derivation": {
"const": "degraded"
}
},
"required": [
"derivation"
]
},
{
"properties": {
"authorship": {
"const": "degraded"
}
},
"required": [
"authorship"
]
},
{
"properties": {
"completeness": {
"const": "degraded"
}
},
"required": [
"completeness"
]
}
]
},
"dependency_results": {
"type": "array",
"not": {
"contains": {
"type": "object",
"properties": {
"evidence_class": {
"enum": [
"mandatory_live",
"mandatory_retained"
]
},
"status": {
"not": {
"const": "valid"
}
}
},
"required": [
"evidence_class",
"status"
]
}
}
}
}
}
},
{
"if": {
"properties": {
"status": {
"const": "refused"
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"reason_code": {
"enum": [
"SCHEMA_INCOMPATIBLE",
"POLICY_REFUSED",
"AUTHORIZED_EVIDENCE_UNAVAILABLE"
]
}
}
}
},
{
"if": {
"properties": {
"status": {
"const": "stale"
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"reason_code": {
"enum": [
"DEPENDENCY_DIGEST_MISMATCH",
"DEPENDENCY_GENERATION_MISMATCH",
"SOURCE_ANCHOR_STALE"
]
},
"dependency_results": {
"type": "array",
"contains": {
"type": "object",
"properties": {
"status": {
"const": "changed"
}
},
"required": [
"status"
]
},
"minContains": 1
}
}
}
},
{
"if": {
"properties": {
"status": {
"const": "unverified"
}
},
"required": [
"status"
]
},
"then": {
"properties": {
"reason_code": {
"enum": [
"REQUIRED_PROVENANCE_UNKNOWN",
"SOURCE_GENERATION_UNKNOWN",
"REQUIRED_EVIDENCE_MISSING",
"AUTHORIZED_EVIDENCE_UNAVAILABLE",
"ASSERTION_NOT_EVALUATED",
"CHRONOLOGY_INCOMPLETE",
"COMPLETENESS_INCOMPLETE"
]
}
}
}
}
],
"examples": [
{
"schema_version": "1.0",
"evaluation_id": "evaluation_01J0000000000000000000000W",
"assertion_id": "assertion_01J0000000000000000000000V",
"assertion_sha256": "sha256:f6770d587b8f2af9a86ceaa67f9dd7346fe46708f2654871424c0431a7f9e826",
"project_id": "project_01J00000000000000000000001",
"evaluated_against": {
"chain_head": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
"event_sequence": 3,
"project_epoch": 1,
"schema_catalog_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777"
},
"evaluator": {
"subsystem": "native_verifier",
"application_version": "0.4.0"
},
"status": "exact",
"confidence": {
"integrity": "exact",
"identity": "exact",
"chronology": "exact",
"derivation": "exact",
"authorship": "not_applicable",
"completeness": "exact"
},
"boundary": null,
"dependency_results": [
{
"dependency_id": "event_01J00000000000000000000004",
"evidence_class": "mandatory_retained",
"status": "valid",
"observed_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "record_01J00000000000000000000005",
"evidence_class": "mandatory_live",
"status": "valid",
"observed_sha256": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "turn_01J00000000000000000000007",
"evidence_class": "advisory",
"status": "valid",
"observed_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "idea_01J00000000000000000000009",
"evidence_class": "shadow",
"status": "not_evaluated",
"observed_sha256": null,
"observed_generation": null
}
],
"reason_code": "DIRECT_HASH_LINKED_DERIVATION",
"supersedes_evaluation_id": null,
"evaluated_at": "2026-07-17T18:44:12.789Z"
}
]
}
@@ -124,7 +124,7 @@
"examples": [
{
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
+54 -2
View File
@@ -2,14 +2,59 @@
"catalog_version": "1.0",
"dialect": "https://json-schema.org/draft/2020-12/schema",
"provenance_schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"compatible_application_versions": [
"0.3.0"
"0.4.0"
],
"native_writer_conformance": false,
"registries": [
{
"name": "assertion-lifecycle-phases",
"description": "Immutable assertion lifecycle phase observed when the relationship was asserted.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-lifecycle-phases.json",
"file": "registries/assertion-lifecycle-phases.json"
},
{
"name": "assertion-evaluation-statuses",
"description": "Consumer-facing point-in-time assertion conclusions.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-evaluation-statuses.json",
"file": "registries/assertion-evaluation-statuses.json"
},
{
"name": "assertion-confidence-dimensions",
"description": "Independent non-numeric confidence dimensions.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-confidence-dimensions.json",
"file": "registries/assertion-confidence-dimensions.json"
},
{
"name": "assertion-evidence-classes",
"description": "Evidence availability and authority requirements.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-evidence-classes.json",
"file": "registries/assertion-evidence-classes.json"
},
{
"name": "assertion-boundary-kinds",
"description": "Machine-readable boundaries preventing an unqualified exact conclusion.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-boundary-kinds.json",
"file": "registries/assertion-boundary-kinds.json"
},
{
"name": "assertion-reason-codes",
"description": "Stable explanations for assertion creation and evaluation outcomes.",
"id": "https://thinkloom.app/schemas/provenance/1.0/registries/assertion-reason-codes.json",
"file": "registries/assertion-reason-codes.json"
}
],
"normative_specification": "../../../docs/provenance/STAGE-1-NORMATIVE-SPECIFICATION.md",
"generated_by": "scripts/generate-provenance-stage2.mjs",
"schemas": [
{
"name": "assertion-evaluation",
"id": "https://thinkloom.app/schemas/provenance/1.0/assertion-evaluation.schema.json",
"file": "assertion-evaluation.schema.json",
"valid_fixture": "fixtures/valid/assertion-evaluation.valid.json",
"invalid_fixture": "fixtures/invalid/assertion-evaluation.invalid.json"
},
{
"name": "backup-manifest",
"id": "https://thinkloom.app/schemas/provenance/1.0/backup-manifest.schema.json",
@@ -178,6 +223,13 @@
"valid_fixture": "fixtures/valid/prompt-template-reference.valid.json",
"invalid_fixture": "fixtures/invalid/prompt-template-reference.invalid.json"
},
{
"name": "provenance-assertion",
"id": "https://thinkloom.app/schemas/provenance/1.0/provenance-assertion.schema.json",
"file": "provenance-assertion.schema.json",
"valid_fixture": "fixtures/valid/provenance-assertion.valid.json",
"invalid_fixture": "fixtures/invalid/provenance-assertion.invalid.json"
},
{
"name": "provenance-event",
"id": "https://thinkloom.app/schemas/provenance/1.0/provenance-event.schema.json",
@@ -10,7 +10,7 @@
},
"record_id": {
"type": "string",
"pattern": "^record_[0-9A-HJKMNP-TV-Z]{26}$"
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"record_type": {
"enum": [
@@ -23,6 +23,8 @@
"edit_transaction",
"prompt_template",
"model_configuration",
"provenance_assertion",
"assertion_evaluation",
"release_file",
"source",
"other"
File diff suppressed because it is too large Load Diff
@@ -4,7 +4,7 @@
{
"description": "backup-manifest.schema_version: reject missing required property",
"instance": {
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -57,7 +57,7 @@
"description": "backup-manifest.project_id: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
"sqlite_snapshot": {
@@ -83,7 +83,7 @@
"description": "backup-manifest.created_at: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
"sqlite_snapshot": {
@@ -109,7 +109,7 @@
"description": "backup-manifest.source_chain_head: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"sqlite_snapshot": {
@@ -135,7 +135,7 @@
"description": "backup-manifest.sqlite_snapshot: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -154,7 +154,7 @@
"description": "backup-manifest.files: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -174,7 +174,7 @@
"description": "backup-manifest.protected: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -200,7 +200,7 @@
"description": "backup-manifest.recovery_key_envelope_path: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -226,7 +226,7 @@
"description": "backup-manifest: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -254,7 +254,7 @@
"description": "backup-manifest.schema_version: reject value different from const",
"instance": {
"schema_version": "__INVALID_CONST__",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -308,7 +308,7 @@
"description": "backup-manifest.project_id: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "invalid-id",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -335,7 +335,7 @@
"description": "backup-manifest.created_at: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "not-a-timestamp",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -362,7 +362,7 @@
"description": "backup-manifest.source_chain_head: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:INVALID",
@@ -389,7 +389,7 @@
"description": "backup-manifest.sqlite_snapshot.path: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -415,7 +415,7 @@
"description": "backup-manifest.sqlite_snapshot.sha256: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -441,7 +441,7 @@
"description": "backup-manifest.sqlite_snapshot.size: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -467,7 +467,7 @@
"description": "backup-manifest.sqlite_snapshot.sqlite_version: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -493,7 +493,7 @@
"description": "backup-manifest.sqlite_snapshot.database_schema_version: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -519,7 +519,7 @@
"description": "backup-manifest.sqlite_snapshot.completed_at: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -545,7 +545,7 @@
"description": "backup-manifest.sqlite_snapshot: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -573,7 +573,7 @@
"description": "backup-manifest.sqlite_snapshot.path: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -600,7 +600,7 @@
"description": "backup-manifest.sqlite_snapshot.path: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -627,7 +627,7 @@
"description": "backup-manifest.sqlite_snapshot.sha256: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -654,7 +654,7 @@
"description": "backup-manifest.sqlite_snapshot.size: reject value below minimum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -681,7 +681,7 @@
"description": "backup-manifest.sqlite_snapshot.sqlite_version: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -708,7 +708,7 @@
"description": "backup-manifest.sqlite_snapshot.database_schema_version: reject value below minimum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -735,7 +735,7 @@
"description": "backup-manifest.sqlite_snapshot.completed_at: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -762,7 +762,7 @@
"description": "backup-manifest.files: reject array below minItems",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -783,7 +783,7 @@
"description": "backup-manifest.files[0].path: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -809,7 +809,7 @@
"description": "backup-manifest.files[0].sha256: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -835,7 +835,7 @@
"description": "backup-manifest.files[0].size: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -861,7 +861,7 @@
"description": "backup-manifest.files[0]: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -889,7 +889,7 @@
"description": "backup-manifest.files[0].path: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -916,7 +916,7 @@
"description": "backup-manifest.files[0].path: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -943,7 +943,7 @@
"description": "backup-manifest.files[0].sha256: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -970,7 +970,7 @@
"description": "backup-manifest.files[0].size: reject value below minimum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -4,7 +4,7 @@
{
"description": "project-manifest.schema_version: reject missing required property",
"instance": {
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -33,7 +33,7 @@
"description": "project-manifest.project_id: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
"updated_at": "2026-07-17T18:43:11.456Z",
@@ -47,7 +47,7 @@
"description": "project-manifest.title: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"updated_at": "2026-07-17T18:43:11.456Z",
@@ -61,7 +61,7 @@
"description": "project-manifest.created_at: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"updated_at": "2026-07-17T18:43:11.456Z",
@@ -75,7 +75,7 @@
"description": "project-manifest.updated_at: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -89,7 +89,7 @@
"description": "project-manifest.current_phase: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -103,7 +103,7 @@
"description": "project-manifest.publication_status: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -117,7 +117,7 @@
"description": "project-manifest.provenance_policy_id: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -131,7 +131,7 @@
"description": "project-manifest.audio_retained: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -145,7 +145,7 @@
"description": "project-manifest: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -161,7 +161,7 @@
"description": "project-manifest.schema_version: reject value different from const",
"instance": {
"schema_version": "__INVALID_CONST__",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -191,7 +191,7 @@
"description": "project-manifest.project_id: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "invalid-id",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -206,7 +206,7 @@
"description": "project-manifest.title: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -221,7 +221,7 @@
"description": "project-manifest.created_at: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "not-a-timestamp",
@@ -236,7 +236,7 @@
"description": "project-manifest.updated_at: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -251,7 +251,7 @@
"description": "project-manifest.current_phase: reject value outside enum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -266,7 +266,7 @@
"description": "project-manifest.publication_status: reject value outside enum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -281,7 +281,7 @@
"description": "project-manifest.provenance_policy_id: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -296,7 +296,7 @@
"description": "project-manifest.audio_retained: reject value different from const",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -14,7 +14,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -33,7 +33,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -52,7 +52,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -71,7 +71,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -90,7 +90,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -104,7 +104,7 @@
"version": 1,
"purpose": "draft_from_selected_ideas",
"canonical_template_body": "Use {{context}} to draft a passage.",
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -143,7 +143,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
}
@@ -162,7 +162,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"created_at": "2026-07-17T18:42:10.123Z"
}
@@ -181,7 +181,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777"
}
@@ -200,7 +200,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -221,7 +221,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -241,7 +241,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -261,7 +261,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -281,7 +281,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -301,7 +301,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -341,7 +341,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "__INVALID_ENUM__",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -361,7 +361,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:INVALID",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -381,7 +381,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "not-a-timestamp"
File diff suppressed because it is too large Load Diff
@@ -4,7 +4,7 @@
{
"description": "release-manifest.schema_version: reject missing required property",
"instance": {
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -67,7 +67,7 @@
"description": "release-manifest.release_id: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
"created_at": "2026-07-17T18:43:11.456Z",
@@ -98,7 +98,7 @@
"description": "release-manifest.project_id: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"version": "1.0.0",
"created_at": "2026-07-17T18:43:11.456Z",
@@ -129,7 +129,7 @@
"description": "release-manifest.version: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:43:11.456Z",
@@ -160,7 +160,7 @@
"description": "release-manifest.created_at: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -191,7 +191,7 @@
"description": "release-manifest.source_commit: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -222,7 +222,7 @@
"description": "release-manifest.source_chain_head: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -253,7 +253,7 @@
"description": "release-manifest.source_manuscript: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -281,7 +281,7 @@
"description": "release-manifest.sanitized: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -312,7 +312,7 @@
"description": "release-manifest.files: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -332,7 +332,7 @@
"description": "release-manifest.release_files_merkle_root: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -363,7 +363,7 @@
"description": "release-manifest.merkle_algorithm: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -394,7 +394,7 @@
"description": "release-manifest: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -427,7 +427,7 @@
"description": "release-manifest.schema_version: reject value different from const",
"instance": {
"schema_version": "__INVALID_CONST__",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -491,7 +491,7 @@
"description": "release-manifest.release_id: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "invalid-id",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -523,7 +523,7 @@
"description": "release-manifest.project_id: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "invalid-id",
"version": "1.0.0",
@@ -555,7 +555,7 @@
"description": "release-manifest.version: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": " invalid!",
@@ -587,7 +587,7 @@
"description": "release-manifest.created_at: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -619,7 +619,7 @@
"description": "release-manifest.source_commit: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -651,7 +651,7 @@
"description": "release-manifest.source_chain_head: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -683,7 +683,7 @@
"description": "release-manifest.source_manuscript.path: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -714,7 +714,7 @@
"description": "release-manifest.source_manuscript.sha256: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -745,7 +745,7 @@
"description": "release-manifest.source_manuscript: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -778,7 +778,7 @@
"description": "release-manifest.source_manuscript.path: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -810,7 +810,7 @@
"description": "release-manifest.source_manuscript.path: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -842,7 +842,7 @@
"description": "release-manifest.source_manuscript.sha256: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -874,7 +874,7 @@
"description": "release-manifest.files: reject array below minItems",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -895,7 +895,7 @@
"description": "release-manifest.files[0].path: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -926,7 +926,7 @@
"description": "release-manifest.files[0].sha256: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -957,7 +957,7 @@
"description": "release-manifest.files[0].size: reject missing required property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -988,7 +988,7 @@
"description": "release-manifest.files[0]: reject unexpected property",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1021,7 +1021,7 @@
"description": "release-manifest.files[0].path: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1053,7 +1053,7 @@
"description": "release-manifest.files[0].path: reject string below minLength",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1085,7 +1085,7 @@
"description": "release-manifest.files[0].sha256: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1117,7 +1117,7 @@
"description": "release-manifest.files[0].size: reject value below minimum",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1149,7 +1149,7 @@
"description": "release-manifest.release_files_merkle_root: reject pattern mismatch",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -1181,7 +1181,7 @@
"description": "release-manifest.merkle_algorithm: reject value different from const",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -0,0 +1,76 @@
{
"schema": "https://thinkloom.app/schemas/provenance/1.0/assertion-evaluation.schema.json",
"description": "Valid Point-in-time assertion evaluation example.",
"instance": {
"schema_version": "1.0",
"evaluation_id": "evaluation_01J0000000000000000000000W",
"assertion_id": "assertion_01J0000000000000000000000V",
"assertion_sha256": "sha256:f6770d587b8f2af9a86ceaa67f9dd7346fe46708f2654871424c0431a7f9e826",
"project_id": "project_01J00000000000000000000001",
"evaluated_against": {
"chain_head": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
"event_sequence": 3,
"project_epoch": 1,
"schema_catalog_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777"
},
"evaluator": {
"subsystem": "native_verifier",
"application_version": "0.4.0"
},
"status": "exact",
"confidence": {
"integrity": "exact",
"identity": "exact",
"chronology": "exact",
"derivation": "exact",
"authorship": "not_applicable",
"completeness": "exact"
},
"boundary": null,
"dependency_results": [
{
"dependency_id": "event_01J00000000000000000000004",
"evidence_class": "mandatory_retained",
"status": "valid",
"observed_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "record_01J00000000000000000000005",
"evidence_class": "mandatory_live",
"status": "valid",
"observed_sha256": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "turn_01J00000000000000000000007",
"evidence_class": "advisory",
"status": "valid",
"observed_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"observed_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
}
},
{
"dependency_id": "idea_01J00000000000000000000009",
"evidence_class": "shadow",
"status": "not_evaluated",
"observed_sha256": null,
"observed_generation": null
}
],
"reason_code": "DIRECT_HASH_LINKED_DERIVATION",
"supersedes_evaluation_id": null,
"evaluated_at": "2026-07-17T18:44:12.789Z"
}
}
@@ -3,7 +3,7 @@
"description": "Valid Project backup manifest example.",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
@@ -3,7 +3,7 @@
"description": "Valid Project manifest example.",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -13,7 +13,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -0,0 +1,119 @@
{
"schema": "https://thinkloom.app/schemas/provenance/1.0/provenance-assertion.schema.json",
"description": "Valid Canonical provenance assertion example.",
"instance": {
"schema_version": "1.0",
"assertion_id": "assertion_01J0000000000000000000000V",
"project_id": "project_01J00000000000000000000001",
"subject": {
"entity_type": "artifact_revision",
"entity_id": "revision_01J0000000000000000000000B",
"content_sha256": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
"predicate": "derived_from",
"object": {
"entity_type": "invocation_output",
"entity_id": "record_01J00000000000000000000005",
"content_sha256": "sha256:9999999999999999999999999999999999999999999999999999999999999999"
},
"source_anchor": {
"event_id": "event_01J00000000000000000000004",
"event_sequence": 2,
"event_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
},
"source_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"lifecycle_phase": "accepted_into_work",
"producer": {
"subsystem": "provenance_writer",
"application_version": "0.4.0"
},
"provenance": {
"basis": "direct_record",
"evidence": [
{
"evidence_id": "event_01J00000000000000000000004",
"evidence_type": "provenance_event",
"content_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
},
{
"evidence_id": "record_01J00000000000000000000005",
"evidence_type": "invocation_response",
"content_sha256": "sha256:9999999999999999999999999999999999999999999999999999999999999999"
}
]
},
"dependencies": [
{
"dependency_id": "event_01J00000000000000000000004",
"dependency_type": "provenance_event",
"expected_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "mandatory_retained",
"role": "source_anchor",
"confidence_dimensions": [
"integrity",
"chronology",
"derivation"
]
},
{
"dependency_id": "record_01J00000000000000000000005",
"dependency_type": "model_configuration",
"expected_sha256": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "mandatory_live",
"role": "model_configuration",
"confidence_dimensions": [
"identity",
"derivation"
]
},
{
"dependency_id": "turn_01J00000000000000000000007",
"dependency_type": "transcript_turn",
"expected_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "advisory",
"role": "authorship_basis",
"confidence_dimensions": [
"authorship",
"completeness"
]
},
{
"dependency_id": "idea_01J00000000000000000000009",
"dependency_type": "shadow_comparison",
"expected_sha256": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "shadow",
"role": "other",
"confidence_dimensions": [
"completeness"
]
}
],
"reason_code": "DIRECT_HASH_LINKED_DERIVATION",
"created_at": "2026-07-17T18:43:11.456Z",
"assertion_sha256": "sha256:f6770d587b8f2af9a86ceaa67f9dd7346fe46708f2654871424c0431a7f9e826"
}
}
@@ -3,7 +3,7 @@
"description": "Valid Release manifest example.",
"instance": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -71,7 +71,7 @@
"examples": [
{
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"title": "The Attention Commons",
"created_at": "2026-07-17T18:42:10.123Z",
@@ -91,7 +91,7 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"template_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"created_at": "2026-07-17T18:42:10.123Z"
@@ -0,0 +1,557 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://thinkloom.app/schemas/provenance/1.0/provenance-assertion.schema.json",
"title": "Canonical provenance assertion",
"description": "Immutable machine-evaluable subject-predicate-object assertion anchored to prior authoritative evidence. Its digest identity excludes only assertion_sha256.",
"type": "object",
"properties": {
"schema_version": {
"const": "1.0"
},
"assertion_id": {
"type": "string",
"pattern": "^assertion_[0-9A-HJKMNP-TV-Z]{26}$"
},
"project_id": {
"type": "string",
"pattern": "^project_[0-9A-HJKMNP-TV-Z]{26}$"
},
"subject": {
"type": "object",
"properties": {
"entity_type": {
"enum": [
"project",
"artifact_revision",
"manuscript_revision",
"idea_revision",
"transcript_revision",
"invocation_request",
"invocation_output",
"prompt_template",
"model_configuration",
"release",
"assertion",
"other"
]
},
"entity_id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"content_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"entity_type",
"entity_id",
"content_sha256"
],
"additionalProperties": false
},
"predicate": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]+$"
},
"object": {
"type": "object",
"properties": {
"entity_type": {
"enum": [
"project",
"artifact_revision",
"manuscript_revision",
"idea_revision",
"transcript_revision",
"invocation_request",
"invocation_output",
"prompt_template",
"model_configuration",
"release",
"assertion",
"other"
]
},
"entity_id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"content_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"entity_type",
"entity_id",
"content_sha256"
],
"additionalProperties": false
},
"source_anchor": {
"type": "object",
"properties": {
"event_id": {
"type": "string",
"pattern": "^event_[0-9A-HJKMNP-TV-Z]{26}$"
},
"event_sequence": {
"type": "integer",
"minimum": 1
},
"event_hash": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"event_id",
"event_sequence",
"event_hash"
],
"additionalProperties": false
},
"source_generation": {
"type": "object",
"properties": {
"project_epoch": {
"type": "integer",
"minimum": 1
},
"artifact_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
},
"transcript_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
}
},
"required": [
"project_epoch",
"artifact_revision",
"transcript_revision"
],
"additionalProperties": false
},
"lifecycle_phase": {
"enum": [
"proposed",
"generated",
"staged_preview",
"accepted_into_work",
"revised",
"finalized",
"published",
"superseded",
"purged"
]
},
"producer": {
"type": "object",
"properties": {
"subsystem": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]+$"
},
"application_version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
}
},
"required": [
"subsystem",
"application_version"
],
"additionalProperties": false
},
"provenance": {
"type": "object",
"properties": {
"basis": {
"enum": [
"direct_record",
"deterministic_derivation",
"declared_relationship",
"verifier_observation"
]
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"evidence_type": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]+$"
},
"content_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"evidence_id",
"evidence_type",
"content_sha256"
],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"basis",
"evidence"
],
"additionalProperties": false
},
"dependencies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dependency_id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*_[0-9A-HJKMNP-TV-Z]{26}$"
},
"dependency_type": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]+$"
},
"expected_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"expected_generation": {
"type": "object",
"properties": {
"project_epoch": {
"type": "integer",
"minimum": 1
},
"artifact_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
},
"transcript_revision": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
}
},
"required": [
"project_epoch",
"artifact_revision",
"transcript_revision"
],
"additionalProperties": false
},
"evidence_class": {
"enum": [
"mandatory_live",
"mandatory_retained",
"advisory",
"shadow"
]
},
"role": {
"enum": [
"source_anchor",
"content_basis",
"model_configuration",
"prompt_template",
"authorship_basis",
"chronology_basis",
"compatibility_basis",
"other"
]
},
"confidence_dimensions": {
"type": "array",
"items": {
"enum": [
"integrity",
"identity",
"chronology",
"derivation",
"authorship",
"completeness"
]
},
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"dependency_id",
"dependency_type",
"expected_sha256",
"expected_generation",
"evidence_class",
"role",
"confidence_dimensions"
],
"additionalProperties": false
},
"minItems": 1
},
"reason_code": {
"enum": [
"DIRECT_HASH_LINKED_DERIVATION",
"VERIFIED_TRANSITIVE_DERIVATION"
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"assertion_sha256": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
}
},
"required": [
"schema_version",
"assertion_id",
"project_id",
"subject",
"predicate",
"object",
"source_anchor",
"source_generation",
"lifecycle_phase",
"producer",
"provenance",
"dependencies",
"reason_code",
"created_at",
"assertion_sha256"
],
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"subject": {
"type": "object",
"properties": {
"entity_type": {
"const": "artifact_revision"
}
},
"required": [
"entity_type"
]
}
},
"required": [
"subject"
]
},
"then": {
"properties": {
"source_generation": {
"type": "object",
"properties": {
"artifact_revision": {
"type": "integer",
"minimum": 1
}
},
"required": [
"artifact_revision"
]
}
}
}
},
{
"if": {
"properties": {
"subject": {
"type": "object",
"properties": {
"entity_type": {
"const": "transcript_revision"
}
},
"required": [
"entity_type"
]
}
},
"required": [
"subject"
]
},
"then": {
"properties": {
"source_generation": {
"type": "object",
"properties": {
"transcript_revision": {
"type": "integer",
"minimum": 1
}
},
"required": [
"transcript_revision"
]
}
}
}
}
],
"examples": [
{
"schema_version": "1.0",
"assertion_id": "assertion_01J0000000000000000000000V",
"project_id": "project_01J00000000000000000000001",
"subject": {
"entity_type": "artifact_revision",
"entity_id": "revision_01J0000000000000000000000B",
"content_sha256": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
"predicate": "derived_from",
"object": {
"entity_type": "invocation_output",
"entity_id": "record_01J00000000000000000000005",
"content_sha256": "sha256:9999999999999999999999999999999999999999999999999999999999999999"
},
"source_anchor": {
"event_id": "event_01J00000000000000000000004",
"event_sequence": 2,
"event_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
},
"source_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"lifecycle_phase": "accepted_into_work",
"producer": {
"subsystem": "provenance_writer",
"application_version": "0.4.0"
},
"provenance": {
"basis": "direct_record",
"evidence": [
{
"evidence_id": "event_01J00000000000000000000004",
"evidence_type": "provenance_event",
"content_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
},
{
"evidence_id": "record_01J00000000000000000000005",
"evidence_type": "invocation_response",
"content_sha256": "sha256:9999999999999999999999999999999999999999999999999999999999999999"
}
]
},
"dependencies": [
{
"dependency_id": "event_01J00000000000000000000004",
"dependency_type": "provenance_event",
"expected_sha256": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "mandatory_retained",
"role": "source_anchor",
"confidence_dimensions": [
"integrity",
"chronology",
"derivation"
]
},
{
"dependency_id": "record_01J00000000000000000000005",
"dependency_type": "model_configuration",
"expected_sha256": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "mandatory_live",
"role": "model_configuration",
"confidence_dimensions": [
"identity",
"derivation"
]
},
{
"dependency_id": "turn_01J00000000000000000000007",
"dependency_type": "transcript_turn",
"expected_sha256": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "advisory",
"role": "authorship_basis",
"confidence_dimensions": [
"authorship",
"completeness"
]
},
{
"dependency_id": "idea_01J00000000000000000000009",
"dependency_type": "shadow_comparison",
"expected_sha256": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
"expected_generation": {
"project_epoch": 1,
"artifact_revision": 12,
"transcript_revision": 4
},
"evidence_class": "shadow",
"role": "other",
"confidence_dimensions": [
"completeness"
]
}
],
"reason_code": "DIRECT_HASH_LINKED_DERIVATION",
"created_at": "2026-07-17T18:43:11.456Z",
"assertion_sha256": "sha256:f6770d587b8f2af9a86ceaa67f9dd7346fe46708f2654871424c0431a7f9e826"
}
]
}
@@ -0,0 +1,41 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-boundary-kinds",
"description": "Machine-readable boundaries preventing an unqualified exact conclusion.",
"entries": [
{
"code": "missing_provenance",
"meaning": "Required provenance basis or evidence identity is absent."
},
{
"code": "unknown_generation",
"meaning": "A required source or dependency generation is unknown."
},
{
"code": "evidence_access",
"meaning": "Evidence exists or is expected but cannot currently be accessed."
},
{
"code": "compatibility",
"meaning": "The observed schema or producer contract is incompatible."
},
{
"code": "dependency_change",
"meaning": "A dependency digest, generation, or source anchor changed."
},
{
"code": "policy",
"meaning": "A retention, authorization, or disclosure policy prohibits evaluation."
},
{
"code": "interpretation",
"meaning": "Evidence integrity is known but its asserted interpretation is limited."
},
{
"code": "coverage",
"meaning": "The evaluation does not cover every element required by the assertion scope."
}
]
}
@@ -0,0 +1,39 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-confidence-dimensions",
"description": "Independent non-numeric confidence dimensions.",
"values": [
"exact",
"degraded",
"unverified",
"not_applicable"
],
"entries": [
{
"code": "integrity",
"meaning": "Whether canonical bytes, digests, and chain bindings validate."
},
{
"code": "identity",
"meaning": "Whether referenced subjects, objects, producers, and evidence identities resolve."
},
{
"code": "chronology",
"meaning": "Whether ordering and generation coordinates are complete and consistent."
},
{
"code": "derivation",
"meaning": "Whether the asserted transformation or relationship is supported by evidence."
},
{
"code": "authorship",
"meaning": "Whether the claimed actor relationship is supported without percentage attribution."
},
{
"code": "completeness",
"meaning": "Whether all evidence required for the asserted scope was evaluated."
}
]
}
@@ -0,0 +1,34 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-evaluation-statuses",
"description": "Consumer-facing point-in-time assertion conclusions.",
"entries": [
{
"code": "exact",
"consumer_action": "promote",
"meaning": "All mandatory evidence and relevant confidence dimensions support the asserted scope."
},
{
"code": "degraded",
"consumer_action": "warn",
"meaning": "Use is possible only within the recorded uncertainty boundary."
},
{
"code": "refused",
"consumer_action": "refuse",
"meaning": "Policy, authorization, or compatibility prohibits a conclusion."
},
{
"code": "stale",
"consumer_action": "reevaluate",
"meaning": "A source anchor, digest, or generation dependency changed."
},
{
"code": "unverified",
"consumer_action": "withhold_exact",
"meaning": "Mandatory evaluation or evidence is incomplete without a demonstrated contradiction."
}
]
}
@@ -0,0 +1,29 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-evidence-classes",
"description": "Evidence availability and authority requirements.",
"entries": [
{
"code": "mandatory_live",
"exact_effect": "required",
"meaning": "Current accessible evidence is required for exact evaluation."
},
{
"code": "mandatory_retained",
"exact_effect": "required",
"meaning": "Retained authoritative evidence and its digest are required for exact evaluation."
},
{
"code": "advisory",
"exact_effect": "may_degrade",
"meaning": "Absence may degrade a named dimension but does not alter authoritative evidence."
},
{
"code": "shadow",
"exact_effect": "no_authority",
"meaning": "Comparison-only evidence that never becomes authoritative by observation."
}
]
}
@@ -0,0 +1,45 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-lifecycle-phases",
"description": "Immutable assertion lifecycle phase observed when the relationship was asserted.",
"entries": [
{
"code": "proposed",
"meaning": "A relationship has been proposed but not adopted."
},
{
"code": "generated",
"meaning": "A relationship was produced by a deterministic or model-assisted operation."
},
{
"code": "staged_preview",
"meaning": "The relationship is visible for review but not accepted into canonical work."
},
{
"code": "accepted_into_work",
"meaning": "The relationship was explicitly accepted into canonical project work."
},
{
"code": "revised",
"meaning": "The relationship describes a later immutable revision."
},
{
"code": "finalized",
"meaning": "The relationship belongs to finalized project content."
},
{
"code": "published",
"meaning": "The relationship is bound into a published release."
},
{
"code": "superseded",
"meaning": "A later assertion replaces this relationship for current interpretation without erasing it."
},
{
"code": "purged",
"meaning": "The relationship is affected by an explicitly disclosed emergency reconstitution."
}
]
}
@@ -0,0 +1,124 @@
{
"registry_version": "1.0",
"provenance_schema_version": "1.0",
"application_version": "0.4.0",
"name": "assertion-reason-codes",
"description": "Stable explanations for assertion creation and evaluation outcomes.",
"entries": [
{
"code": "DIRECT_HASH_LINKED_DERIVATION",
"permitted_statuses": [
"exact"
],
"meaning": "The asserted relationship is supported by direct retained records and matching digests."
},
{
"code": "VERIFIED_TRANSITIVE_DERIVATION",
"permitted_statuses": [
"exact"
],
"meaning": "A deterministic verified chain of assertions supports the relationship."
},
{
"code": "REQUIRED_PROVENANCE_UNKNOWN",
"permitted_statuses": [
"unverified"
],
"meaning": "Required provenance basis or evidence identity is unknown."
},
{
"code": "SOURCE_GENERATION_UNKNOWN",
"permitted_statuses": [
"unverified"
],
"meaning": "A required project, artifact, or transcript generation is unknown."
},
{
"code": "REQUIRED_EVIDENCE_MISSING",
"permitted_statuses": [
"unverified"
],
"meaning": "Evidence required for evaluation is absent."
},
{
"code": "DEPENDENCY_DIGEST_MISMATCH",
"permitted_statuses": [
"stale"
],
"meaning": "A dependency digest differs from the asserted expectation."
},
{
"code": "DEPENDENCY_GENERATION_MISMATCH",
"permitted_statuses": [
"stale"
],
"meaning": "A dependency generation differs from the asserted expectation."
},
{
"code": "SOURCE_ANCHOR_STALE",
"permitted_statuses": [
"stale"
],
"meaning": "The source anchor no longer matches the evaluation target."
},
{
"code": "SCHEMA_INCOMPATIBLE",
"permitted_statuses": [
"refused"
],
"meaning": "The available schema cannot be evaluated under the required contract."
},
{
"code": "POLICY_REFUSED",
"permitted_statuses": [
"refused"
],
"meaning": "Policy explicitly prohibits producing the requested conclusion."
},
{
"code": "AUTHORIZED_EVIDENCE_UNAVAILABLE",
"permitted_statuses": [
"refused",
"unverified"
],
"meaning": "Required protected evidence cannot be evaluated with current authorization."
},
{
"code": "ADVISORY_EVIDENCE_UNAVAILABLE",
"permitted_statuses": [
"degraded"
],
"meaning": "Advisory evidence is unavailable and the named confidence dimensions are degraded."
},
{
"code": "ASSERTION_NOT_EVALUATED",
"permitted_statuses": [
"unverified"
],
"meaning": "No authoritative evaluation has completed for this assertion and target."
},
{
"code": "AUTHORSHIP_UNCERTAIN",
"permitted_statuses": [
"degraded"
],
"meaning": "Evidence does not support an exact authorship interpretation."
},
{
"code": "CHRONOLOGY_INCOMPLETE",
"permitted_statuses": [
"degraded",
"unverified"
],
"meaning": "Ordering or generation evidence is incomplete."
},
{
"code": "COMPLETENESS_INCOMPLETE",
"permitted_statuses": [
"degraded",
"unverified"
],
"meaning": "The evaluation does not cover all evidence required by its asserted scope."
}
]
}
@@ -114,7 +114,7 @@
"examples": [
{
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@
"vector_version": "1.0",
"backup_manifest": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"project_id": "project_01J00000000000000000000001",
"created_at": "2026-07-17T18:42:10.123Z",
"source_chain_head": "sha256:51935af27a4c989a014d975eab929f41fccafadedfbf1baafa15e3ce2a27a66d",
@@ -26,7 +26,7 @@
},
"release_manifest": {
"schema_version": "1.0",
"application_version": "0.3.0",
"application_version": "0.4.0",
"release_id": "release_01J0000000000000000000000E",
"project_id": "project_01J00000000000000000000001",
"version": "1.0.0",
@@ -13,11 +13,11 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"created_at": "2026-07-17T18:42:10.123Z"
},
"digest": "sha256:73055322741f5a248ae79ca2c38f699e40da7b5b5576f83a615a9816ddab8ba3",
"digest": "sha256:d13871e34755e1e115d5b58bd96286f9ce02b82f774247ad2bb1f41e8de0c3d8",
"complete_record": {
"schema_version": "1.0",
"template_id": "template_01J0000000000000000000000F",
@@ -30,10 +30,10 @@
"required": true
}
},
"creation_application_version": "0.3.0",
"creation_application_version": "0.4.0",
"retention_classification": "project_record",
"created_at": "2026-07-17T18:42:10.123Z",
"template_sha256": "sha256:73055322741f5a248ae79ca2c38f699e40da7b5b5576f83a615a9816ddab8ba3"
"template_sha256": "sha256:d13871e34755e1e115d5b58bd96286f9ce02b82f774247ad2bb1f41e8de0c3d8"
},
"excluded_fields": [
"template_sha256"