Implements Spec 075 (V1.5) on top of Spec 074. Highlights - Deterministic report fingerprint (sha256) + previous_report_id linkage - Viewer change indicator: "No changes" vs "Changed" when previous exists - Check acknowledgements (fail|warn|block) with capability-first auth, confirmation, and audit event - Verify-step UX polish (issues-first, primary CTA) Testing - Focused Pest coverage for fingerprint, previous resolver, change indicator, acknowledgements, badge semantics, DB-only viewer guard. Notes - Viewing remains DB-only (no external calls while rendering). Co-authored-by: Ahmed Darrazi <ahmeddarrazi@MacBookPro.fritz.box> Reviewed-on: #93
49 lines
1.2 KiB
JSON
49 lines
1.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://tenantpilot.local/contracts/verification-check-acknowledgement.schema.json",
|
|
"title": "VerificationCheckAcknowledgement",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"report_id",
|
|
"check_key",
|
|
"ack_reason",
|
|
"acknowledged_at",
|
|
"acknowledged_by"
|
|
],
|
|
"properties": {
|
|
"report_id": {
|
|
"description": "OperationRun id that contains the report.",
|
|
"type": ["string", "integer"]
|
|
},
|
|
"check_key": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"ack_reason": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 160
|
|
},
|
|
"expires_at": {
|
|
"description": "Informational only in v1.5.",
|
|
"type": ["string", "null"],
|
|
"format": "date-time"
|
|
},
|
|
"acknowledged_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"acknowledged_by": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["id"],
|
|
"properties": {
|
|
"id": { "type": ["string", "integer"] },
|
|
"name": { "type": ["string", "null"] },
|
|
"email": { "type": ["string", "null"] }
|
|
}
|
|
}
|
|
}
|
|
}
|