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