{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Triage Suppress Predicate v1", "description": "Predicate schema for stella.ops/triageSuppress@v1. See docs/contracts/triage-suppress-v1.md.", "type": "object", "required": ["cve_id", "suppress_reason", "vex_consensus", "witness_evidence", "reachability_state", "timestamp"], "properties": { "cve_id": { "type": "string", "description": "CVE identifier (e.g., CVE-2025-0001)", "pattern": "^CVE-\\d{4}-\\d{4,}$" }, "suppress_reason": { "type": "string", "enum": ["vex_not_affected_with_unreachability_confirmation"], "description": "Machine-readable reason for suppression" }, "vex_consensus": { "type": "object", "required": ["status", "confidence_score", "consensus_digest", "computed_at"], "properties": { "status": { "type": "string", "enum": ["not_affected"] }, "justification": { "type": "string" }, "confidence_score": { "type": "number", "minimum": 0, "maximum": 1 }, "consensus_digest": { "type": "string", "description": "SHA-256 of the VexLens consensus record" }, "source_count": { "type": "integer", "description": "Number of VEX sources contributing" }, "computed_at": { "type": "string", "format": "date-time" } } }, "witness_evidence": { "type": "object", "required": ["witness_id", "dsse_digest", "observation_type"], "properties": { "witness_id": { "type": "string", "description": "Witness ID (wit:sha256:...)" }, "dsse_digest": { "type": "string", "description": "SHA-256 of the witness DSSE envelope" }, "observation_type": { "type": "string", "enum": ["RuntimeUnobserved", "ConfirmedUnreachable", "StaticallyUnreachable"] }, "predicate_type": { "type": "string", "description": "URI of the witness predicate type" } } }, "reachability_state": { "type": "string", "enum": ["ConfirmedUnreachable", "StaticallyUnreachable", "RuntimeUnobserved"], "description": "Lattice state from the 8-state reachability model" }, "timestamp": { "type": "string", "format": "date-time", "description": "UTC timestamp of suppression evaluation" }, "deterministic_replay_inputs": { "type": "object", "description": "Inputs sufficient to replay this suppression decision", "properties": { "canonical_id": { "type": "string" }, "vex_consensus_digest": { "type": "string" }, "witness_id": { "type": "string" } } } } }