spec: add evidence model for reporting governance
This commit is contained in:
188
schemas/reporting-governance/evidence.schema.json
Normal file
188
schemas/reporting-governance/evidence.schema.json
Normal file
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"$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."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user