← All stories

BRANCH · ef-087-guest-list-summary-report

Guest List Summary report

EF-087Persona: OrganizerStage: CloseoutRoots in: admin-shell-access

Organizer generates the canonical guest export with identity, title, company, position, guest status, and CSV/PDF outputs while the report lifecycle is inherited from ui-async-job-tracker. Tier-3 tightening: guest-list report administration now references ui-async-job-admin-page for the job lifecycle foundation.

Happy path

  1. Open Guest List Summary from Reports.

    Status filters, output format, and field coverage are visible before generation.

  2. Choose CSV or PDF and submit.

    A report job is created and rendered by ui-async-job-tracker until the artifact is ready.

  3. Download the artifact.

    The export contains identity, title, company, position, registration status, and check-in summary columns.

Failure modes

Async lifecycle inherited

Trigger: queued, running, ready, failed, expired, and cancelled states must follow ui-async-job-tracker.

Resolution: the branch asserts the component instance instead of redefining the lifecycle contract.

Capability fields missing

Trigger: export omits title, company, position, or status fields.

Resolution: field checklist blocks ready state until required guest-list columns are present.

Status filter drift

Trigger: confirmed-only filter includes invited or cancelled guests.

Resolution: filter summary and row count must match the selected status set.

CSV/PDF mismatch

Trigger: PDF output summarizes fewer guests than CSV for the same parameters.

Resolution: both artifacts expose the same count and parameter digest.

Deployed-runtime gap

Trigger: deployed run on 2026-04-29 observed guest-list report job create returned 400 D1 bootstrap error; the probe locks this in until the gap is closed.

Resolution: status 400 remains expected until deployed D1 bootstrap is fixed.

Stable test attributes

Visibility teeth. Each attribute must be effectively visible when active.

guest-list-summary-report-pagePageGuest List Summary report surface
guest-list-summary-status-filterFormStatus filter input
guest-list-summary-formatFormCSV/PDF output chooser
guest-list-summary-field-checklistPreviewIdentity/title/company/position coverage
guest-list-summary-generate-ctaToolbarCreate report job
guest-list-summary-job-trackerPageAsync report lifecycle
guest-list-summary-download-ctaJob rowDownload artifact
guest-list-summary-regenerate-ctaJob rowRegenerate expired/swept artifact
guest-list-summary-error-panelJob rowFailure reason and request id
guest-list-summary-stuck-bannerJob rowQueued too long warning
guest-list-summary-permission-gateCatalogPermission-filtered report entry
guest-list-summary-gap-panelPageRuntime gap notice

Agent test plan

- guest-list-summary-renders
- generate-guest-list-summary
- completed-guest-list-summary-download
- deployed-runtime-gap