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-367

6.6.4 Design — Automation settings (`design/projects/automation.mock.html`: rule list, when/if/then editor, audit log, failure/cap states)

Done
Description

Estimate: 38m · Depends on: 6.5.1

The design asset for the whole surface — nothing under design/ covers automation (the design-gate NONE-exists case). Output: design/projects/automation.mock.html + PNG + a section in design/projects/design-notes.md, built from the real design system. Render checklist + AA + dark parity. Mirrors: the 6.5.1 settings-AREA chrome (grouped nav + page frame — Automation occupies the nav slot Story 6.5 reserves; design the pages INSIDE that chrome, never a second frame); Jira's rule builder for the when/if/then vocabulary; the 6.1.3 filter-builder grammar for the condition rows (the SAME row anatomy — do not invent a second predicate UI).

Specify, panel by panel:

  • The rule list (the Automation page in the 6.5 settings area): name, enabled toggle, owner, last-run status glyph + time, per-rule overflow (edit / disable / delete / view log); the empty state ("No rules yet" + create); the auto-disabled banner state (failure count + re-enable); the 100-rule cap state; the viewer-excluded rule (this page is admin-only — note the 6.4 gate, no viewer variant needed).
  • The editor — the when/if/then column: When (trigger picker + its config editor per kind: status from/to comboboxes for transitioned, the built-in/CF field picker for field-changed with the "Assignee" preset surfaced, none for created/commented); If (the 6.1.3 condition-row grammar — match all/any + field/operator/value rows + the 20-row cap; the empty "always" state); Then (ordered action rows: action picker + per-action config editor — status target, field + value editors per type, member picker, comment body, label type-to-create; add/remove/reorder; the 10-action cap); name field; save/cancel; validation states (unknown/stale referent rows, the typed 422 surfaces).
  • The audit log (per rule): paginated rows — status pill (Success / Failure / No actions), triggering item key + link, duration, time, the expandable error detail on failures; the empty state; the 90-day retention note line.
  • The nav entry — the Automation item in the 6.5.1 grouped settings nav (the reserved slot), in its active/inactive states.

Acceptance criteria

  • The mockup + PNG + notes exist, composed from shipped primitives (Combobox, MultiSelectPicker, Pill, Modal/page chrome per the settings grammar, the 6.1.3 condition rows) + token tiers; render checklist + AA + dark parity pass.
  • Panels cover: list (populated, empty, auto-disabled, cap), the editor with EVERY trigger-config kind and EVERY action-config kind open at least once, condition rows (incl. cap + stale-referent), the audit log (populated, empty, failure expanded), and the hub card.
  • design-notes.md names the editor-kind ↔ registry mapping (the 6.6.1/6.6.3 UI contract), the when/if/then copy, the last-run glyph vocabulary, and records the condition-row reuse of 6.1.3.
  • No improvised primitive; token needs recorded.

Context refs

  • design/projects/settings-area.mock.html + notes (6.5.1 — the area chrome + the reserved Automation nav slot); fields.mock.html (a sibling settings page for content-density reference)
  • design/work-items/filter-builder.mock.html (6.1.3 — the condition-row grammar to reuse)
  • The verified Jira rule-builder anatomy in the Story 6.6 description
  • Findings #35/#54; the design-mockup render checklist
Status
Done
Type
Sub-task