Contract
Photographer captures a photo.
Capture app records event id, photographer id, timestamp, consent mode, and optional QR scan.
System matches guests.
Matching can use guest QR, manual lookup, or permitted face match; low confidence requires review.
Approved photos deliver and display.
Consent-eligible photos can appear on the photo wall and send by SMS when EF-071 substrate exists.
Failure modes
Substantial gap probe
JSON-LD captures live station resilience plus missing capture, matching, SMS delivery, consent, storage, and retention requirements.
Stable test attributes
Visibility teeth. Gap, capture, review, and wall surfaces must be visible when their states are active.
| data-test | Where | Purpose |
|---|---|---|
efx-photo-gap-panel | Photo module | Not-ready marker |
efx-photo-capture-app | Capture surface | Capture app |
efx-photo-capture-cta | Capture surface | Capture button |
efx-photo-qr-match-cta | Capture surface | QR match action |
efx-photo-match-review | Review queue | Low-confidence review |
efx-photo-consent-panel | Review queue | Consent state |
efx-photo-storage-policy | Photo admin | Storage policy |
efx-photo-retention-policy | Photo admin | Retention controls |
efx-photo-wall | Station display | Photo wall visualizer |
efx-photo-sms-gap-panel | Delivery panel | EF-071 dependency |
efx-station-socket-status | Station runtime | Socket status |
efx-station-active-state | Station runtime | Module state |
Agent test plan
- photo-gap-visible
- capture-app-contract
- low-confidence-match-review
- consent-blocks-display-and-sms
- retention-policy-audited
- all WebSocket rubric probes in failureModes