{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://sneakoscope.local/schemas/architecture-review.v1.schema.json",
  "title": "SKS Architecture Review V1",
  "type": "object",
  "additionalProperties": true,
  "required": [
    "schema",
    "missionId",
    "baselineSeal",
    "baselineHash",
    "afterInputHash",
    "changedPaths",
    "accountedChangedPaths",
    "unaccountedChangedPaths",
    "beforeMetrics",
    "afterMetrics",
    "newFindings",
    "verdict",
    "blockingFindingIds",
    "canonicalPayloadHash"
  ],
  "properties": {
    "schema": { "const": "sks.architecture-review.v1" },
    "missionId": { "type": "string", "minLength": 1 },
    "baselineSeal": { "type": "string", "minLength": 1 },
    "baselineHash": { "type": "string", "minLength": 1 },
    "afterInputHash": { "type": "string", "minLength": 1 },
    "changedPaths": { "type": "array" },
    "accountedChangedPaths": { "type": "array", "items": { "type": "string" } },
    "unaccountedChangedPaths": { "type": "array", "items": { "type": "string" } },
    "beforeMetrics": { "type": "object" },
    "afterMetrics": { "type": "object" },
    "metricDelta": { "type": "object" },
    "newFindings": { "type": "array" },
    "resolvedFindings": { "type": "array" },
    "persistentFindings": { "type": "array" },
    "acceptedExceptions": { "type": "array" },
    "projectionAccounting": { "type": "object" },
    "verification": { "type": "object" },
    "verdict": { "enum": ["pass", "block"] },
    "blockingFindingIds": { "type": "array", "items": { "type": "string" } },
    "canonicalPayloadHash": { "type": "string", "minLength": 1 },
    "generatedAt": { "type": "string" }
  }
}
