refactor: validate generated evidence artifacts

This commit is contained in:
DongHyeonka
2026-08-02 04:33:01 +09:00
parent 2c3cab2518
commit c9f5887cac
18 changed files with 1874 additions and 320 deletions
@@ -1,8 +1,130 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://clean-architecture-frontend.local/schemas/supply-chain-verification.schema.json",
"type": "object",
"additionalProperties": false,
"properties": {
"dependencyDiff": {
"additionalProperties": false,
"properties": {
"added": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"changed": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"removed": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"upgrades": {
"items": {
"additionalProperties": false,
"properties": {
"from": {
"minLength": 1,
"type": "string"
},
"name": {
"minLength": 1,
"type": "string"
},
"to": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"from",
"to"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"added",
"removed",
"changed",
"upgrades"
],
"type": "object"
},
"distSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"failures": {
"items": {
"type": "string"
},
"type": "array"
},
"highRiskReview": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"localStatus": {
"enum": [
"PASS",
"FAIL"
],
"type": "string"
},
"lockfileSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"promotionStatus": {
"enum": [
"PASS",
"FAIL_UNVERIFIED"
],
"type": "string"
},
"provenanceAttestationStatus": {
"enum": [
"PASS",
"FAIL_UNVERIFIED"
],
"type": "string"
},
"sbomSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"schemaVersion": {
"const": 1,
"type": "number"
},
"sourceSetSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"vulnerabilityStatus": {
"enum": [
"PASS",
"FAIL",
"FAIL_UNVERIFIED"
],
"type": "string"
}
},
"required": [
"schemaVersion",
"localStatus",
@@ -17,39 +139,5 @@
"provenanceAttestationStatus",
"failures"
],
"properties": {
"schemaVersion": { "const": 1 },
"localStatus": { "enum": ["PASS", "FAIL"] },
"promotionStatus": {
"enum": ["PASS", "FAIL_UNVERIFIED"]
},
"lockfileSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sourceSetSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"distSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sbomSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"dependencyDiff": { "type": "object" },
"highRiskReview": { "type": "array" },
"vulnerabilityStatus": {
"enum": ["PASS", "FAIL", "FAIL_UNVERIFIED"]
},
"provenanceAttestationStatus": {
"enum": ["PASS", "FAIL_UNVERIFIED"]
},
"failures": {
"type": "array",
"items": { "type": "string" }
}
}
"type": "object"
}