docs(18): close out HUMAN-UAT.md — all items resolved after gap closure

This commit is contained in:
lorentz 2026-07-16 07:00:03 -04:00
parent 7d34b33273
commit b305dd5108

View file

@ -1,14 +1,14 @@
---
status: diagnosed
status: resolved
phase: 18-campaign-grouping-phishing-analysis-api
source: [18-VERIFICATION.md]
started: 2026-07-16T02:44:01Z
updated: 2026-07-16T03:45:00Z
updated: 2026-07-16T07:05:00Z
---
## Current Test
[gap closure required before further human testing — see Gaps]
[all items resolved — phase verification passed]
## Tests
@ -20,19 +20,19 @@ result: passed — ran live against https://pulse.wulfconsulting.cloud. (a) 200,
expected: 200 camelCase list/detail incl. working `?status=` filter; 401/redirect no cookie; 400 malformed id; 404 absent id
result: passed — ran live. All shapes/statuses correct, including the previously-500ing `?status=open` filter (commit 650f9b8 confirmed live).
### 3. CR-02 escalation — scoping decision (policy call, not a runtime test)
expected: A developer decision on record for the cross-campaign migration report_count staleness.
result: deferred — superseded by a more severe finding (CR-03) discovered during this same live test session. Recommend deciding CR-02 together with CR-03 once a fix plan exists.
### 3. CR-03/CR-02 gap closure — live re-verification
expected: after gap-closure plan 18-05, re-analyzing a single-report campaign must return the SAME campaignId with created:false (not a duplicate), and cross-campaign migrations must decrement the origin campaign's report_count.
result: passed — ran live against production. Ticket 627088 analyzed twice: first call created campaign `5121930f-...` (created:true), second identical call returned the SAME campaignId with created:false. Direct DB query confirmed exactly one campaigns row for that campaign_key, report_count unchanged at 1. Test data (report, messages, indicators, campaign) cleaned up afterward. CR-02 decrement confirmed via code review + mocked regression tests (Tests E-H); not separately live-exercised (would require staging two independently-formed campaigns), noted as an accepted basis for pass in 18-VERIFICATION.md.
## Summary
total: 3
passed: 2
issues: 1
passed: 3
issues: 0
pending: 0
skipped: 0
blocked: 0
## Gaps
- CR-03 (BLOCKING): re-analyzing a single-report campaign creates a duplicate campaign with the same campaign_key instead of reusing the existing one. Confirmed live against production (ticket 627088 — test data cleaned up after confirmation). Full root-cause analysis in 18-VERIFICATION.md. Routed to gap-closure planning.
None — all resolved. See 18-VERIFICATION.md (status: passed, 2026-07-16) for the full final verification report.