Schéma d’entrée (aperçu fourni par le serveur — ne pas copier)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"artifacts"
],
"properties": {
"sd_jwt": {
"type": "boolean",
"description": "When true, also return an SD-JWT export of the HA bundle (mirrors ha_bundle_export, default false; no-op when ha_records is absent)."
},
"framing": {
"type": "string",
"description": "Optional framing context for the session receipt's PTG-01 regulator prompt."
},
"artifacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"execution_hash"
],
"properties": {
"tool_id": {
"type": "string",
"description": "The tool_id that produced this artifact, if known."
},
"execution_hash": {
"type": "string",
"description": "sha256:... -- the OCG artifact hash this entry documents."
},
"output_payload": {
"type": "object",
"description": "Present when caller has the full artifact, not just its hash.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"minItems": 1,
"description": "Already-produced artifacts this pack documents, in call order."
},
"ha_records": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "§27 human_accountability_records -- omit entirely for no HA section."
},
"room_label": {
"type": "string",
"description": "Label for the disclosure-manifest room."
},
"session_id": {
"type": "string",
"description": "Session identifier to embed in the receipt, if the caller tracks one."
},
"subject_hash": {
"type": "string",
"description": "The sha256: subject hash the pack documents (defaults to artifacts[0].execution_hash if omitted)."
},
"decision_trail": {
"type": "array",
"items": {
"type": "object",
"required": [
"order",
"reason_code",
"status",
"tool_id"
],
"properties": {
"next": {
"type": "string",
"description": "Routing target of the gate decision (a step id, or the terminal \"end\"/\"escalate\")."
},
"order": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "1-based step order, mirroring the producing run_chain result."
},
"status": {
"type": "string",
"description": "Per-step status from the run_chain result."
},
"tool_id": {
"type": "string",
"description": "The step's tool_id."
},
"decided_by": {
"type": "string",
"description": "step_id of the decision that routed control past this step."
},
"reason_code": {
"type": "string",
"description": "Closed enum: ran | gate_routed | skipped_by_gate | skipped_by_escalation | input_required | unknown_node | gpu_browser_only | no_kernel_browser_only."
},
"gate_rule_id": {
"type": "string",
"description": "<step_id>#r<index> or <step_id>#default — the gate rule that fired or bypassed this step. Recomputable from the hash-bound decisions[]."
},
"input_required_cause": {
"type": "string",
"description": "The kernel error that made this step input_required."
}
}
},
"description": "Per-step decision reason trail from the run_chain result (pass its decision_trail — response field or composite_output.decision_trail). Carried verbatim into the pack as pack-level metadata, outside every section hash; omitted entirely when not supplied. See DECISIONTRAIL-1."
},
"kernel_version": {
"type": "string",
"description": "Version tag of the kernel that produced verification_result."
},
"policy_version": {
"type": "string",
"description": "Version tag of the policy the kernel was evaluated against."
},
"submission_receipt": {
"type": "string",
"description": "Populate ONLY after a real transmission -- never fabricate (same rule as ha_bundle_export)."
},
"verification_result": {
"type": "string",
"description": "The §16/§18/§20 verdict."
}
}
}