6.6.6 Audit-log UI — per-rule execution log (status, error detail, pagination) + last-run surfacing + the auto-disabled banner wiring
Estimate: 25m · Depends on: 6.6.2, 6.6.4, 6.6.5
The observability half of the surface, per the 6.6.4 audit-log panels, on the 6.6.2 execution data.
Build: the per-rule log view (paginated [ruleId, createdAt] reads — bounded, finding #57): status pill (Success / Failure / No actions), triggering item key linking to the issue (a deleted item renders the designed tombstone, not a dead link), duration, relative time, expandable failure detail (the typed error); the empty state + the 90-day retention note; the list's last-run glyph + time fed by the same data; the auto-disabled banner on list + editor (failure count, the re-enable affordance wired to the 6.6.1 counter-reset). Admin-gated like the rest of the surface. Strings via next-intl.
Acceptance criteria
- Matches the designed audit panels: every status kind rendered, failure detail expands, pagination over a seeded 100+-row log is bounded (no load-all), tombstone for deleted items, empty + retention-note states.
- Last-run + auto-disabled surfacing track the engine's writes live (re-enable resets and the banner clears); axe-clean; token tiers only; next-intl.
- Integration tests over the log read + states; coverage ≥90%.
Context refs
design/projects/automation.mock.html+ notes (6.6.4) — the audit panels- 6.6.2 (
automation_rule_execution+ the failure/disable semantics) - The 2.5.12 pagination conventions; the jobs-dashboard read patterns (
jobRunsService— the closest shipped log surface)