← All stories

BRANCH · ef-076-roaming-photographer

Roaming Photographer

EF-076Roots in: efx-station-shellMatrix: Not Ready — gap probe with photo wall substrate

The photo wall visualizer substrate exists, but roaming photographer is not ready. The missing contract is capture app, guest matching by face or QR, SMS delivery, consent and storage policy, and retention.

Contract

  1. Photographer captures a photo.

    Capture app records event id, photographer id, timestamp, consent mode, and optional QR scan.

  2. System matches guests.

    Matching can use guest QR, manual lookup, or permitted face match; low confidence requires review.

  3. 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-testWherePurpose
efx-photo-gap-panelPhoto moduleNot-ready marker
efx-photo-capture-appCapture surfaceCapture app
efx-photo-capture-ctaCapture surfaceCapture button
efx-photo-qr-match-ctaCapture surfaceQR match action
efx-photo-match-reviewReview queueLow-confidence review
efx-photo-consent-panelReview queueConsent state
efx-photo-storage-policyPhoto adminStorage policy
efx-photo-retention-policyPhoto adminRetention controls
efx-photo-wallStation displayPhoto wall visualizer
efx-photo-sms-gap-panelDelivery panelEF-071 dependency
efx-station-socket-statusStation runtimeSocket status
efx-station-active-stateStation runtimeModule 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