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
1.7 KiB
1.7 KiB
Quickstart: Verification Checklist Framework V1.5 (075)
This quickstart is for developers implementing and validating Spec 075.
Prerequisites
- Docker + Sail
- A seeded workspace + tenant and a user that can access the tenant plane (
/admin/t/{tenant})
Local setup
- Start containers:
vendor/bin/sail up -d - Install deps (if needed):
vendor/bin/sail composer install - Run migrations:
vendor/bin/sail artisan migrate
Run verification (expected UX)
After implementation, the Verify surface should behave like:
- Navigate to the tenant-scoped Verify step (onboarding or equivalent).
- If no active run exists, the single primary CTA is Start verification.
- If a run is active, the single primary CTA is Refresh results.
- Results default to the Issues tab with blockers/failures/warnings ordered first.
Acknowledge a check (expected UX)
After implementation:
- On a
failorwarncheck card, click Acknowledge. - Confirmation modal appears (required).
- Submit a short reason (≤ 160 chars) and optional expiry (informational only).
- The acknowledgement displays (who/when/reason) and the issue moves into the “Acknowledged issues” group.
Authorization expectations
- Non-members attempting to access tenant-scoped verification pages: deny-as-not-found (404).
- Tenant members without
tenant_verification.acknowledge: acknowledgement attempts fail with 403.
Run the focused test suite
Once tests are implemented:
- Run only the spec-related tests:
vendor/bin/sail artisan test --compact --filter=Verification(or point at the specific test file(s)).
Formatting
- Format only changed files before finalizing:
vendor/bin/sail bin pint --dirty