Happy path
Open Activity Log from Reports.
Date range and source filters are visible, with a paginated preview before download.
Select time range and generate export.
The report job starts and ui-async-job-tracker owns status, cancel, failure, and artifact states.
Download activity CSV.
Rows include normalized source, actor, action, subject, timestamp, and request id when present.
Failure modes
Activity union incomplete
Trigger: guest, scan, notification, or email source is dropped.
Resolution: source summary shows all included source counts before export.
Preview pagination lies
Trigger: first page renders but export omits later pages.
Resolution: preview page count and export total share the same filtered query digest.
Time range timezone drift
Trigger: ui-date-range-picker dates are interpreted in UTC instead of event timezone.
Resolution: the selected range displays the event timezone and boundary timestamps.
Deployed-runtime gap
Trigger: deployed run on 2026-04-29 observed activity-log 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.
activity-log-report-page | Page | Activity Log report surface |
activity-log-date-range | Form | Time-range filter |
activity-log-source-filter | Form | Guest/scan/notification/email source filter |
activity-log-preview-table | Preview | Paginated activity preview |
activity-log-source-summary | Preview | Source count summary |
activity-log-generate-cta | Toolbar | Create report job |
activity-log-job-tracker | Page | Async report lifecycle |
activity-log-download-cta | Job row | Download artifact |
activity-log-regenerate-cta | Job row | Regenerate expired/swept artifact |
activity-log-error-panel | Job row | Failure reason and request id |
activity-log-stuck-banner | Job row | Queued too long warning |
activity-log-permission-gate | Catalog | Permission-filtered report entry |
activity-log-gap-panel | Page | Runtime gap notice |
Agent test plan
- activity-log-renders
- generate-activity-log-report
- activity-preview-pagination
- deployed-runtime-gap