UI definition of done
Use this checklist before accepting UI from a human or an LLM. It does not replace user research; it raises the floor so deliveries match Gelium’s sourced criteria.
Pass = every applicable item is true. Cite page IDs (FEED-*, DATA-*, JOURNEY-*) in the PR or agent summary.
DoD checklist
Product framing
- User job stated in one sentence.
- Surface mode Operate | Read | Persuade | Experience (Agent workflow).
- Screen type chosen (Screens).
- Journey shape named if >1 step (Journeys).
- One primary action visible per view.
Structure
- Hierarchy: H1 → context → primary → main → secondary.
- Nav pattern justified (Screens nav table).
- Collection uses a
DATA-*pattern (Data display). - Density mode named for the surface (Density).
Page and section architecture
- Every major region has a distinct purpose and a
SECTION-CONTRACTbefore components or tokens are selected (Page + section architecture). - DOM order is entry → primary → supporting → recovery; repeated card anatomy is not mistaken for page architecture.
- Section actions are subordinate unless the section owns the one declared page-primary action.
- Each applicable data/action section has recoverable loading, empty, error, and success behavior with a no-JS path.
States and feedback
- Loading / empty / error defined for every collection (
FEED-LOAD-*,FEED-EMPTY,FEED-LOAD-FAIL). - Forms use summary + inline errors on validation (
FEED-VAL), not toast-only. - Success landing is correct (
FEED-OK-PAGEvsFEED-OK-TOAST). - Destructive flows use confirm (
FEED-CONFIRM).
Implementation contracts
- Controls follow Forms + Choose the right control.
- Server: GET read, POST+303 mutate, 422 +
X-Gelium-Validationwhen needed. - Theme via
theme-*classes; no one-off hex for core chrome. - Narrow viewport: stack,
min-width: 0, no bodyoverflow-x: hidden(Responsive). - Motion is NONE or justified;
prefers-reduced-motionhonored (Motion). - Copy follows Content style (errors say the fix).
Agent extras
- Workflow passes: shape → architecture → build → audit → polish (no endless redesign loops).
-
/llms-ux.txtrules followed (FEED/DATA/JOURNEY/WF/ARCH ids in notes). - Domain skeleton used if applicable (Patterns).
-
bash scripts/ux-detect.shclean when working in this monorepo (or consumer equivalent). - Anti-slop list reviewed (Agent workflow) without breaking the theme.
Failure handling
If any item fails: fix before shipping. Do not “pass with toast” on validation or skip empty states.