Files
code-crispies/.wave/contracts/audit-publish-result.schema.json

81 lines
2.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Audit Publish Result",
"description": "Output from the publish step: GitHub issue creation results for actionable findings",
"type": "object",
"required": ["success", "repository", "timestamp"],
"properties": {
"success": {
"type": "boolean",
"description": "Whether the publish operation completed successfully"
},
"repository": {
"type": "string",
"pattern": "^[^/]+/[^/]+$",
"description": "Repository full name (owner/repo)"
},
"issues_created": {
"type": "array",
"items": {
"type": "object",
"required": ["number", "url", "source_item", "category"],
"properties": {
"number": {
"type": "integer",
"minimum": 1,
"description": "Created GitHub issue number"
},
"url": {
"type": "string",
"description": "URL to the created issue"
},
"source_item": {
"type": "integer",
"minimum": 1,
"description": "Original issue/PR number that this finding references"
},
"category": {
"type": "string",
"enum": ["partial", "regressed"],
"description": "Fidelity category of the finding"
}
}
},
"description": "List of GitHub issues created for fixable gaps"
},
"issues_skipped": {
"type": "integer",
"minimum": 0,
"description": "Number of findings skipped (verified, obsolete, unverifiable, or no remediation)"
},
"skipped": {
"type": "boolean",
"description": "True if no issues were created because all findings are verified/obsolete"
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": ["authentication_failed", "rate_limit_exceeded", "permission_denied", "network_error", "api_error", "unknown_error"],
"description": "Error code"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"retryable": {
"type": "boolean",
"description": "Whether the operation can be retried"
}
},
"description": "Error details (only present if success=false)"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Operation timestamp"
}
}
}