MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-369

6.6.6 Audit-log UI — per-rule execution log (status, error detail, pagination) + last-run surfacing + the auto-disabled banner wiring

Done
Description

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)
Status
Done
Type
Sub-task