Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/pf-core-v0.7.0-reward-schema-upstream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# PF-Core v0.7.0 reward-binding schema mirrors

Upstream landing pad for schemas mirrored in PF-Core `adapters/pcs/schemas/` at tag `pf-core-v0.7.0`.

See `SCHEMA_PINS.json` for digests. Align canonical pcs-core schema ids with these mirrors; do not let PF-Core invent a second portable layout under `pf-core/schemas/`.

Spec: https://github.com/SentinelOps-CI/provability-fabric-core/blob/pf-core-v0.7.0/docs/pf-core/pf-va-pr-artifacts/pcs-core-reward-schemas-pr-spec.md

Follow-up: merge these into the primary `schemas/` tree with stable ids and registry entries (may already be drafted as `RewardEvidenceEnvelope.v1` etc. on local main).
7 changes: 7 additions & 0 deletions schemas/pf_core_mirrors/reward_binding/SCHEMA_PINS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"authority_record.schema.json": "3da39fd9d1e95f40e72e2701a7675475f1ded7851c993ffd1875643e8e7435da",
"environment_profile.schema.json": "39f039415d519b0ba80b203cb90d479ffdf6e45fb2832be9b8336983b3e19dee",
"reward_evidence_envelope.schema.json": "0fc5c9b55b407ded03f23b96307bfc8b6f5b74d4244a0dc7bd6cbe876a89eae0",
"verification_result.schema.json": "37324f4877353ca90fcc59e54b70429d59d86ccd21ab2f0e52942e4d53495b9e",
"verifier_profile.schema.json": "ad985317963692d8b3ea90b92f931166199657c2688e50c57d11e89e135d227a"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "pcs.authority_record.v0",
"title": "PCS Authority Record (mirrored)",
"description": "Immutable mirror of PCS authority record. Not in PF-Core TCB.",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"authority_id",
"valid_from",
"valid_until",
"revoked",
"claim_class",
"environment_digest",
"authorized_issuers"
],
"properties": {
"schema_version": { "const": "pcs.authority_record.v0" },
"authority_id": { "type": "string", "minLength": 1 },
"valid_from": { "type": "integer", "minimum": 0 },
"valid_until": { "type": "integer", "minimum": 0 },
"revoked": { "type": "boolean" },
"claim_class": { "type": "string", "minLength": 1 },
"environment_digest": { "type": "string", "minLength": 1 },
"authorized_issuers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["principal_id", "tenant_id"],
"properties": {
"principal_id": { "type": "string", "minLength": 1 },
"tenant_id": { "type": "string", "minLength": 1 }
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "pcs.environment_profile.v0",
"title": "PCS Environment Profile (mirrored)",
"description": "Immutable mirror of PCS environment profile. Not in PF-Core TCB.",
"type": "object",
"additionalProperties": false,
"required": ["schema_version", "profile_id", "digest"],
"properties": {
"schema_version": { "const": "pcs.environment_profile.v0" },
"profile_id": { "type": "string", "minLength": 1 },
"digest": { "type": "string", "minLength": 1 },
"description": { "type": "string" }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "pcs.reward_evidence_envelope.v0",
"title": "PCS Reward Evidence Envelope (mirrored)",
"description": "Immutable mirror of PCS reward evidence envelope. Not in PF-Core TCB. Pin digest in adapters/pcs/README.md.",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"envelope_id",
"trace_digest",
"environment_profile_ref",
"verifier_result_refs",
"issuer",
"authority_ref",
"issued_at",
"integrity"
],
"properties": {
"schema_version": { "const": "pcs.reward_evidence_envelope.v0" },
"envelope_id": { "type": "string", "minLength": 1 },
"trace_digest": { "type": "string", "minLength": 1 },
"environment_profile_ref": {
"type": "object",
"additionalProperties": false,
"required": ["id", "digest"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"digest": { "type": "string", "minLength": 1 }
}
},
"verifier_result_refs": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["id", "digest"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"digest": { "type": "string", "minLength": 1 }
}
}
},
"issuer": {
"type": "object",
"additionalProperties": false,
"required": ["principal_id", "tenant_id"],
"properties": {
"principal_id": { "type": "string", "minLength": 1 },
"tenant_id": { "type": "string", "minLength": 1 }
}
},
"authority_ref": {
"type": "object",
"additionalProperties": false,
"required": ["id", "digest"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"digest": { "type": "string", "minLength": 1 }
}
},
"issued_at": { "type": "integer", "minimum": 0 },
"stale": { "type": "boolean" },
"claim_class": { "type": "string", "minLength": 1 },
"integrity": {
"type": "object",
"additionalProperties": false,
"required": ["alg", "digest", "key_id"],
"properties": {
"alg": { "const": "sha256" },
"digest": { "type": "string", "minLength": 1 },
"key_id": { "type": "string", "minLength": 1 }
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "pcs.verification_result.v0",
"title": "PCS Verification Result (mirrored)",
"description": "Immutable mirror of PCS verification result. Not in PF-Core TCB.",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"result_id",
"verifier_profile_ref",
"status"
],
"properties": {
"schema_version": { "const": "pcs.verification_result.v0" },
"result_id": { "type": "string", "minLength": 1 },
"verifier_profile_ref": {
"type": "object",
"additionalProperties": false,
"required": ["id", "digest"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"digest": { "type": "string", "minLength": 1 }
}
},
"status": {
"type": "string",
"enum": ["pass", "fail", "error"]
},
"artifact_digest": { "type": "string" }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "pcs.verifier_profile.v0",
"title": "PCS Verifier Profile (mirrored)",
"description": "Immutable mirror of PCS verifier profile. Not in PF-Core TCB.",
"type": "object",
"additionalProperties": false,
"required": ["schema_version", "profile_id", "config_digest", "status"],
"properties": {
"schema_version": { "const": "pcs.verifier_profile.v0" },
"profile_id": { "type": "string", "minLength": 1 },
"config_digest": { "type": "string", "minLength": 1 },
"status": {
"type": "string",
"enum": ["active", "superseded", "revoked"]
},
"suite": { "type": "string" },
"rubric": { "type": "string" }
}
}
Loading