Files
val-blog/org/ops/sentinel_audit_contract.v1.json
T

45 lines
1.3 KiB
JSON

{
"version": "sentinel-audit-contract-v1",
"purpose": "Force complete audit input payload for Sentinel to avoid blind-audit failures.",
"required_fields": [
"task_id",
"audit_scope",
"audit_payload",
"source_type",
"requested_output_schema"
],
"field_rules": {
"task_id": {
"type": "string",
"min_length": 8
},
"audit_scope": {
"type": "string",
"allowed": ["safety", "logic", "cost", "full"]
},
"audit_payload": {
"type": "object",
"required_any_of": ["inline_text", "file_paths", "artifact_refs"],
"min_content_chars": 500
},
"source_type": {
"type": "string",
"allowed": ["inline", "workspace_file", "mixed"]
},
"requested_output_schema": {
"type": "array",
"must_include": ["decision", "scores", "issues", "must_fix", "release_conditions"]
}
},
"gates": {
"pre_audit_validation": true,
"reject_on_missing_payload": true,
"reject_on_unreadable_file_refs": true,
"fallback_behavior": "return_input_contract_error"
},
"input_contract_error": {
"code": "SENTINEL_INPUT_CONTRACT_MISSING",
"message": "Audit payload incomplete. Provide inline_text or readable file_paths/artifact_refs before running Sentinel."
}
}