Files
reporting-governance-plugin/schemas/reporting-governance/evidence.schema.json

189 lines
4.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cowbay.org/schemas/reporting-governance/evidence.schema.json",
"title": "Reporting Governance Evidence Item",
"description": "Canonical evidence item schema for the reporting-governance plugin.",
"type": "object",
"additionalProperties": false,
"required": [
"evidence_id",
"task_id",
"correlation_id",
"agent_id",
"class",
"quality",
"summary",
"captured_at",
"refs",
"supports"
],
"properties": {
"evidence_id": {
"type": "string",
"minLength": 1,
"description": "Unique identifier for the evidence item."
},
"task_id": {
"type": "string",
"minLength": 1,
"description": "Governed task identifier aligned with the event envelope."
},
"correlation_id": {
"type": "string",
"minLength": 1,
"description": "Correlation identifier aligned with the event envelope."
},
"agent_id": {
"type": "string",
"minLength": 1,
"description": "Canonical agent identifier aligned with the event envelope."
},
"class": {
"type": "string",
"enum": [
"tool_output",
"file_change",
"verification_output",
"decision_record",
"external_reply",
"runtime_artifact",
"operator_message"
],
"description": "Canonical evidence class."
},
"quality": {
"type": "string",
"enum": [
"none",
"weak",
"moderate",
"strong",
"decisive"
],
"description": "Evidence quality level used by governance policy."
},
"summary": {
"type": "string",
"minLength": 1,
"description": "Short description of what the evidence proves."
},
"captured_at": {
"type": "string",
"format": "date-time",
"description": "When the evidence was captured or recorded."
},
"refs": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "./event-envelope.schema.json#/$defs/evidenceRef"
},
"description": "Concrete references to the underlying artifacts, aligned with event envelope evidence_refs."
},
"supports": {
"$ref": "#/$defs/supports",
"description": "Claim and governance support metadata for policy evaluation."
},
"source_event_id": {
"type": "string",
"minLength": 1,
"description": "Optional event that introduced or attached the evidence."
},
"metadata": {
"type": "object",
"description": "Optional runtime-specific evidence metadata.",
"additionalProperties": true,
"properties": {
"command": {
"type": "string"
},
"exit_code": {
"type": "integer"
},
"commit_sha": {
"type": "string"
},
"reviewer_id": {
"type": "string"
},
"channel": {
"type": "string"
},
"message_ref": {
"type": "string"
},
"runtime": {
"type": "string"
},
"adapter_version": {
"type": "string"
}
}
}
},
"$defs": {
"claimType": {
"type": "string",
"enum": [
"progress",
"completion",
"verified_completion",
"failure_report",
"dispatch_report"
]
},
"verificationState": {
"type": "string",
"enum": [
"unverified",
"partially_verified",
"verified",
"operator_confirmed"
]
},
"governanceCheck": {
"type": "string",
"enum": [
"anti_fake_progress",
"result_forwarding_integrity",
"pre_dispatch_report_anchor",
"subagent_failure_immediate_report",
"silent_task_blocker",
"watchdog_escalation"
]
},
"supports": {
"type": "object",
"additionalProperties": false,
"required": [
"claim_types"
],
"properties": {
"claim_types": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/claimType"
},
"description": "Claim types this evidence is intended to support."
},
"verification_state": {
"$ref": "#/$defs/verificationState",
"description": "Optional verification state for the supported claim."
},
"governance_checks": {
"type": "array",
"items": {
"$ref": "#/$defs/governanceCheck"
},
"description": "Governance checks this evidence is relevant to."
},
"new_since_checkpoint": {
"type": "boolean",
"description": "Whether this item is new relative to the previous checkpoint."
}
}
}
}
}