ai-design-context 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/AGENTS.md +156 -0
  2. package/CHANGELOG.md +71 -0
  3. package/CODE_OF_CONDUCT.md +29 -0
  4. package/CONTRIBUTING.md +128 -0
  5. package/LICENSE +21 -0
  6. package/README.md +283 -0
  7. package/RELEASE_NOTES_v0.1.0.md +45 -0
  8. package/RELEASE_NOTES_v0.3.0.md +47 -0
  9. package/RELEASE_NOTES_v0.4.0.md +29 -0
  10. package/RELEASE_READINESS.md +107 -0
  11. package/ROADMAP.md +60 -0
  12. package/SECURITY.md +40 -0
  13. package/assets/logo.svg +9 -0
  14. package/benchmarks/README.md +19 -0
  15. package/benchmarks/chat.md +37 -0
  16. package/benchmarks/mobile-home-screen.md +38 -0
  17. package/benchmarks/notes-app.md +37 -0
  18. package/benchmarks/settings.md +37 -0
  19. package/benchmarks/shopping-list.md +37 -0
  20. package/benchmarks/todo-app.md +144 -0
  21. package/checklists/DESIGN_QA.md +102 -0
  22. package/checklists/GENERATED_INDEX.md +7 -0
  23. package/docs/AGENT_CONTEXT.md +111 -0
  24. package/docs/BENCHMARK.md +170 -0
  25. package/docs/DESIGNLINT_READINESS.md +110 -0
  26. package/docs/DESIGN_SYSTEM.md +23 -0
  27. package/docs/EVALUATION_RUBRIC.md +154 -0
  28. package/docs/GITHUB_SETUP.md +28 -0
  29. package/docs/GLOSSARY.md +45 -0
  30. package/docs/INDEX.md +109 -0
  31. package/docs/KNOWLEDGE_ENGINE.md +594 -0
  32. package/docs/MOBILE_FIRST.md +18 -0
  33. package/docs/NPM_RELEASE.md +43 -0
  34. package/docs/PATTERN_SPEC.md +113 -0
  35. package/docs/PHILOSOPHY.md +25 -0
  36. package/docs/PRODUCT_THINKING.md +26 -0
  37. package/docs/STYLE_GUIDE.md +49 -0
  38. package/docs/TRACEABILITY.md +45 -0
  39. package/evidence/README.md +64 -0
  40. package/evidence/TEMPLATE.md +46 -0
  41. package/evidence/chat/.gitkeep +1 -0
  42. package/evidence/mobile-home/.gitkeep +1 -0
  43. package/evidence/notes/.gitkeep +1 -0
  44. package/evidence/settings/.gitkeep +1 -0
  45. package/evidence/shopping/.gitkeep +1 -0
  46. package/evidence/todo/.gitkeep +1 -0
  47. package/evidence/todo/2026-06-25-codex-gpt-5/EVALUATION.md +66 -0
  48. package/evidence/todo/2026-06-25-codex-gpt-5/README.md +40 -0
  49. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/generated-output.md +163 -0
  50. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/metadata.json +38 -0
  51. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/notes.md +20 -0
  52. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/prompt.md +16 -0
  53. package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/scores.md +18 -0
  54. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/generated-output.md +98 -0
  55. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/metadata.json +19 -0
  56. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/notes.md +19 -0
  57. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/prompt.md +9 -0
  58. package/evidence/todo/2026-06-25-codex-gpt-5/baseline/scores.md +18 -0
  59. package/evidence/todo/2026-09-28-codex-paired-todo/EVALUATION.md +70 -0
  60. package/evidence/todo/2026-09-28-codex-paired-todo/README.md +52 -0
  61. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/GENERATION_NOTES.md +133 -0
  62. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/app.js +289 -0
  63. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/context-preserving-preview.json +443 -0
  64. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/daily-home-surface.json +373 -0
  65. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/quick-capture.json +301 -0
  66. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/sources-read.txt +36 -0
  67. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/generated-output.md +11 -0
  68. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/index.html +64 -0
  69. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/launch-prompt.md +1 -0
  70. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/metadata.json +55 -0
  71. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/notes.md +15 -0
  72. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/parent-status-message.md +1 -0
  73. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/prompt.md +49 -0
  74. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/runtime-checks.json +776 -0
  75. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/scores.md +20 -0
  76. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-completed.png +0 -0
  77. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-default.png +0 -0
  78. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail-reduced-motion.png +0 -0
  79. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail.png +0 -0
  80. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-empty.png +0 -0
  81. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-keyboard-focus.png +0 -0
  82. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-save-error.png +0 -0
  83. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saved.png +0 -0
  84. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saving.png +0 -0
  85. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-validation.png +0 -0
  86. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-completed.png +0 -0
  87. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-default.png +0 -0
  88. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail-reduced-motion.png +0 -0
  89. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail.png +0 -0
  90. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-empty.png +0 -0
  91. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-keyboard-focus.png +0 -0
  92. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-save-error.png +0 -0
  93. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saved.png +0 -0
  94. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saving.png +0 -0
  95. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-validation.png +0 -0
  96. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/source-hashes.json +5 -0
  97. package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/styles.css +122 -0
  98. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/GENERATION_NOTES.md +86 -0
  99. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/app.js +303 -0
  100. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/generated-output.md +11 -0
  101. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/index.html +71 -0
  102. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/launch-prompt.md +1 -0
  103. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/metadata.json +55 -0
  104. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/notes.md +15 -0
  105. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/parent-status-message.md +1 -0
  106. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/prompt.md +49 -0
  107. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/runtime-checks.json +772 -0
  108. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/scores.md +20 -0
  109. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-completed.png +0 -0
  110. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-default.png +0 -0
  111. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail-reduced-motion.png +0 -0
  112. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail.png +0 -0
  113. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-empty.png +0 -0
  114. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-keyboard-focus.png +0 -0
  115. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-save-error.png +0 -0
  116. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saved.png +0 -0
  117. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saving.png +0 -0
  118. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-validation.png +0 -0
  119. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-completed.png +0 -0
  120. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-default.png +0 -0
  121. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail-reduced-motion.png +0 -0
  122. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail.png +0 -0
  123. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-empty.png +0 -0
  124. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-keyboard-focus.png +0 -0
  125. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-save-error.png +0 -0
  126. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saved.png +0 -0
  127. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saving.png +0 -0
  128. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-validation.png +0 -0
  129. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/source-hashes.json +5 -0
  130. package/evidence/todo/2026-09-28-codex-paired-todo/baseline/styles.css +9 -0
  131. package/evidence/todo/2026-09-28-codex-paired-todo/capture-ai-design-rules.js +60 -0
  132. package/evidence/todo/2026-09-28-codex-paired-todo/capture-baseline.js +60 -0
  133. package/evidence/todo/2026-09-28-codex-paired-todo/common/brief.md +35 -0
  134. package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge-files.json +127 -0
  135. package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge.patch +890 -0
  136. package/evidence/todo/2026-09-28-codex-paired-todo/common/review-context.json +550 -0
  137. package/evidence/todo/2026-09-28-codex-paired-todo/common/seed.json +86 -0
  138. package/evidence/todo/2026-09-28-codex-paired-todo/common/setup.json +47 -0
  139. package/evidence/todo/2026-09-28-codex-paired-todo/common/technical-envelope.md +11 -0
  140. package/evidence/todo/2026-09-28-codex-paired-todo/layout-metrics.json +133 -0
  141. package/evidence/todo/2026-09-28-codex-paired-todo/layout-probe.js +15 -0
  142. package/examples/GENERATED_INDEX.md +8 -0
  143. package/examples/INDEX.md +16 -0
  144. package/examples/README.md +15 -0
  145. package/examples/consequential-action-confirmation-reference.md +83 -0
  146. package/examples/todo-app-benchmark.md +117 -0
  147. package/examples/todo-reference/README.md +29 -0
  148. package/examples/todo-reference/app.js +154 -0
  149. package/examples/todo-reference/favicon.svg +4 -0
  150. package/examples/todo-reference/index.html +67 -0
  151. package/examples/todo-reference/review-evidence/2026-07-15/desktop-default.png +0 -0
  152. package/examples/todo-reference/review-evidence/2026-07-15/desktop-detail.png +0 -0
  153. package/examples/todo-reference/review-evidence/2026-07-15/mobile-detail.png +0 -0
  154. package/examples/todo-reference/review-evidence/2026-07-15/mobile-error.png +0 -0
  155. package/examples/todo-reference/styles.css +241 -0
  156. package/graph/GENERATED_GRAPH.md +71 -0
  157. package/observations/README.md +23 -0
  158. package/observations/accessibility/reduced-interaction-motion.md +49 -0
  159. package/observations/accessibility/textual-error-recovery.md +50 -0
  160. package/observations/accessibility/visible-keyboard-focus.md +49 -0
  161. package/observations/ai/agent-consequential-action-controls.md +56 -0
  162. package/observations/ai/agent-work-visibility-and-intervention.md +51 -0
  163. package/observations/ai/figma-agent-context-and-skills.md +52 -0
  164. package/observations/finance/high-risk-wallet-recovery-flows.md +55 -0
  165. package/observations/finance/market-interface-adaptive-trading-surfaces.md +55 -0
  166. package/observations/interaction/chrome-scoped-view-transitions.md +52 -0
  167. package/observations/interaction/figma-motion-as-system-capability.md +53 -0
  168. package/observations/mobile/mobile-bottom-sheet-choice-contracts.md +55 -0
  169. package/observations/performance/reserved-loading-space.md +51 -0
  170. package/observations/product-repos/pinned-ai-design-rules-integration.md +49 -0
  171. package/observations/visual/apple-liquid-glass-functional-layer.md +52 -0
  172. package/observations/visual/chrome-content-first-adaptive-ui.md +51 -0
  173. package/observations/visual/material-3-expressive-system.md +52 -0
  174. package/package.json +65 -0
  175. package/patterns/GENERATED_INDEX.md +13 -0
  176. package/patterns/INDEX.md +41 -0
  177. package/patterns/README.md +5 -0
  178. package/patterns/consequential-action-confirmation.md +127 -0
  179. package/patterns/context-preserving-preview.md +145 -0
  180. package/patterns/daily-home-surface.md +134 -0
  181. package/patterns/mobile-primary-action.md +110 -0
  182. package/patterns/object-status-list.md +114 -0
  183. package/patterns/progressive-detail.md +113 -0
  184. package/patterns/quick-capture.md +132 -0
  185. package/prompts/CONSEQUENTIAL_ACTION_REVIEW.md +100 -0
  186. package/prompts/DESIGN_EVIDENCE_REVIEW.md +49 -0
  187. package/prompts/GENERATED_INDEX.md +11 -0
  188. package/prompts/INDEX.md +24 -0
  189. package/prompts/PROTOTYPE_REVIEW.md +189 -0
  190. package/prompts/QUICK_CAPTURE_STATE_REVIEW.md +74 -0
  191. package/prompts/TODO_APP_BENCHMARK.md +88 -0
  192. package/registry/objects.json +568 -0
  193. package/registry/relationships.json +972 -0
  194. package/research/GENERATED_INDEX.md +18 -0
  195. package/research/INDEX.md +40 -0
  196. package/research/accessibility/keyboard-focus-and-interaction-motion.md +62 -0
  197. package/research/accessibility/textual-error-recovery.md +57 -0
  198. package/research/performance/reserved-loading-space.md +56 -0
  199. package/research/products/apple-reminders.md +59 -0
  200. package/research/products/arc.md +61 -0
  201. package/research/products/linear.md +62 -0
  202. package/research/products/telegram.md +61 -0
  203. package/research/products/things-3.md +60 -0
  204. package/research/ux/contextual-agentic-interface.md +68 -0
  205. package/research/ux/high-risk-operational-flows.md +89 -0
  206. package/research/ux/motion-as-state-continuity.md +71 -0
  207. package/research/visual/expressive-system-ui-2026.md +75 -0
  208. package/reviews/GENERATED_INDEX.md +9 -0
  209. package/reviews/README.md +25 -0
  210. package/reviews/consequential-action-confirmation-review.md +92 -0
  211. package/reviews/todo-app-benchmark-reference-review.md +86 -0
  212. package/reviews/todo-reference-fixture-review.md +77 -0
  213. package/rules/GENERATED_INDEX.md +23 -0
  214. package/rules/INDEX.md +37 -0
  215. package/rules/accessibility/A11Y-001.md +58 -0
  216. package/rules/accessibility/A11Y-002.md +55 -0
  217. package/rules/accessibility/A11Y-003.md +54 -0
  218. package/rules/accessibility/A11Y-004.md +54 -0
  219. package/rules/ia/IA-001.md +60 -0
  220. package/rules/ia/IA-002.md +61 -0
  221. package/rules/performance/PERF-001.md +55 -0
  222. package/rules/product/PRD-001.md +61 -0
  223. package/rules/product/PRD-002.md +61 -0
  224. package/rules/ux/UX-001.md +58 -0
  225. package/rules/ux/UX-002.md +61 -0
  226. package/rules/ux/UX-003.md +60 -0
  227. package/rules/ux/UX-004.md +61 -0
  228. package/rules/ux/UX-005.md +62 -0
  229. package/rules/ux/UX-006.md +69 -0
  230. package/rules/visual/VIS-001.md +59 -0
  231. package/rules/visual/VIS-002.md +59 -0
  232. package/schema/checklist.schema.json +21 -0
  233. package/schema/common.schema.json +178 -0
  234. package/schema/observation.schema.json +21 -0
  235. package/schema/pattern.schema.json +21 -0
  236. package/schema/prompt.schema.json +21 -0
  237. package/schema/reference-project.schema.json +21 -0
  238. package/schema/research.schema.json +21 -0
  239. package/schema/review.schema.json +21 -0
  240. package/schema/rule.schema.json +21 -0
  241. package/skills/README.md +48 -0
  242. package/skills/accessibility-reviewer/SKILL.md +101 -0
  243. package/skills/agent-context/SKILL.md +34 -0
  244. package/skills/agent-context/agents/openai.yaml +4 -0
  245. package/skills/design-evidence-researcher/SKILL.md +47 -0
  246. package/skills/design-evidence-researcher/agents/openai.yaml +4 -0
  247. package/skills/design-reviewer/SKILL.md +113 -0
  248. package/skills/design-system-architect/SKILL.md +101 -0
  249. package/skills/information-architect/SKILL.md +97 -0
  250. package/skills/interaction-designer/SKILL.md +104 -0
  251. package/skills/knowledge-graph-architect/SKILL.md +96 -0
  252. package/skills/mobile-ux-expert/SKILL.md +105 -0
  253. package/skills/motion-designer/SKILL.md +100 -0
  254. package/skills/performance-reviewer/SKILL.md +97 -0
  255. package/skills/product-designer/SKILL.md +104 -0
  256. package/skills/prompt-architect/SKILL.md +105 -0
  257. package/skills/reference-driven-design/SKILL.md +119 -0
  258. package/skills/ux-reviewer/SKILL.md +99 -0
  259. package/skills/visual-designer/SKILL.md +107 -0
  260. package/starter-kit/AGENTS.md +37 -0
  261. package/starter-kit/BOOTSTRAP.md +13 -0
  262. package/starter-kit/INSTALL_WITH_AGENT.md +133 -0
  263. package/starter-kit/PROJECT_INTEGRATION.md +60 -0
  264. package/starter-kit/README.md +41 -0
  265. package/starter-kit/benchmarks/BENCHMARK_CHECKLIST.md +10 -0
  266. package/starter-kit/docs/DESIGN_DECISIONS.md +22 -0
  267. package/starter-kit/docs/INFORMATION_ARCHITECTURE.md +25 -0
  268. package/starter-kit/docs/PERSONAS.md +14 -0
  269. package/starter-kit/docs/PRD.md +32 -0
  270. package/starter-kit/docs/USER_FLOWS.md +19 -0
  271. package/starter-kit/reviews/DESIGN_REVIEW.md +49 -0
  272. package/starter-kit/templates/FEATURE_TEMPLATE.md +36 -0
  273. package/starter-kit/templates/TASK_TEMPLATE.md +22 -0
  274. package/templates/CHECKLIST_TEMPLATE.md +43 -0
  275. package/templates/OBSERVATION_TEMPLATE.md +41 -0
  276. package/templates/PATTERN_TEMPLATE.md +100 -0
  277. package/templates/PROMPT_TEMPLATE.md +46 -0
  278. package/templates/PROTOTYPE_REVIEW.md +50 -0
  279. package/templates/REFERENCE_PROJECT_TEMPLATE.md +49 -0
  280. package/templates/REVIEW_TEMPLATE.md +55 -0
  281. package/templates/RULE_TEMPLATE.md +57 -0
  282. package/tools/cli.mjs +46 -0
  283. package/tools/context.mjs +342 -0
  284. package/tools/designlint.mjs +77 -0
  285. package/tools/generate-indexes.mjs +621 -0
  286. package/tools/init.mjs +99 -0
  287. package/tools/validate-benchmark-evidence.mjs +248 -0
  288. package/tools/validate-knowledge.mjs +481 -0
@@ -0,0 +1,127 @@
1
+ ---
2
+ id: PAT-00007
3
+ alias: PAT-007
4
+ slug: consequential-action-confirmation
5
+ title: Consequential Action Confirmation
6
+ object_type: pattern
7
+ status: active
8
+ version: 0.1.0
9
+ category: ux
10
+ tags:
11
+ - ux
12
+ - confirmation
13
+ - recovery
14
+ - finance
15
+ - ai
16
+ maturity: validated
17
+ risk_level: high
18
+ last_reviewed_at: 2026-08-12
19
+ relationships:
20
+ - type: requires
21
+ target: RULE-00017
22
+ - type: requires
23
+ target: RULE-00007
24
+ - type: requires
25
+ target: RULE-00010
26
+ - type: requires
27
+ target: RULE-00016
28
+ - type: related_to
29
+ target: PAT-00005
30
+ - type: related_to
31
+ target: PAT-00006
32
+ ---
33
+
34
+ # Consequential Action Confirmation
35
+
36
+ ## Purpose
37
+
38
+ Let users verify and recover from actions with meaningful side effects without losing the object, inputs, or scope they are acting on.
39
+
40
+ ## User Goal
41
+
42
+ Make a high-consequence decision with enough context to confirm, cancel, edit, retry, or hand control back from an agent.
43
+
44
+ ## Product Context
45
+
46
+ Wallets, trading products, admin tools, account-security flows, publishing flows, destructive durable-data actions, and agentic systems that can act on the user's behalf.
47
+
48
+ ## Use When
49
+
50
+ - The action can move money, change account access, publish externally, delete durable data, or affect other people.
51
+ - The action requires 2FA, passkey, KYC, server approval, permissions, or human approval.
52
+ - An agent is about to perform a consequential action outside a read-only summary.
53
+ - The user must compare critical inputs before execution.
54
+
55
+ ## Do Not Use When
56
+
57
+ - The action is low-risk, reversible, and better handled with undo.
58
+ - The confirmation would interrupt a safe repeated expert workflow without adding review value.
59
+ - The UI cannot truthfully describe the side effects or recovery path yet.
60
+ - Legal, compliance, security, or trading policy is unclear and must be resolved outside design.
61
+
62
+ ## UX Rules
63
+
64
+ - `UX-006` Confirm Consequential Actions With Preserved Context
65
+ - `UX-003` Preserve Context During Inspection
66
+ - `UX-005` Expose Agent Work And Intervention
67
+
68
+ ## Accessibility Rules
69
+
70
+ - `A11Y-002` Textual Input Error Recovery
71
+ - `A11Y-001` 44x44 Touch Targets when controls are present
72
+ - `A11Y-003` Visible Keyboard Focus when the confirmation is keyboard-operable
73
+
74
+ ## Mobile Behavior
75
+
76
+ Use a focused screen, bottom sheet, or modal that keeps critical context readable: object, amount, recipient, destination, scope, side effects, and primary recovery action. Preserve safe-area spacing and reachable controls. Do not hide the acted-on object behind a generic confirmation title.
77
+
78
+ ## Desktop Behavior
79
+
80
+ Use a modal, side panel, inline challenge step, or review page depending on consequence and density. Keep the source context visible when it helps comparison. Dense operational products may use a review pane beside the original form.
81
+
82
+ ## Empty State
83
+
84
+ Do not open a confirmation without a selected object or valid action. Show the missing prerequisite and a route back to the required selection or setup step.
85
+
86
+ ## Loading State
87
+
88
+ Keep the reviewed object and critical inputs visible while the challenge or submission is pending. Disable only controls that would create duplicate execution. Show cancelability truthfully.
89
+
90
+ ## Error State
91
+
92
+ Preserve entered data and add only the missing or failed challenge field. Explain what failed, what remains unchanged, and what the user can do next. Avoid raw backend codes as product copy.
93
+
94
+ ## Required Rules
95
+
96
+ - `UX-006` Confirm Consequential Actions With Preserved Context
97
+ - `UX-003` Preserve Context During Inspection
98
+ - `A11Y-002` Textual Input Error Recovery
99
+ - `UX-005` Expose Agent Work And Intervention
100
+
101
+ ## Related Research
102
+
103
+ - `research/ux/high-risk-operational-flows.md`
104
+ - `research/ux/contextual-agentic-interface.md`
105
+ - `research/accessibility/textual-error-recovery.md`
106
+
107
+ ## Related Patterns
108
+
109
+ - Parent: none
110
+ - Child: none
111
+ - Alternative: lightweight undo for low-risk reversible actions
112
+ - Depends on: `context-preserving-preview.md` when source context must remain inspectable
113
+ - Adjacent: `object-status-list.md` when multiple affected objects must be reviewed
114
+
115
+ ## Examples
116
+
117
+ - A wallet withdrawal challenge keeps provider, amount, destination, fee, and selected asset visible while requesting 2FA.
118
+ - An admin bulk delete confirmation lists affected objects and explains reversibility before execution.
119
+ - An agent asks approval before sending a message, changing permissions, running a paid operation, or publishing externally.
120
+
121
+ ## Agent Checklist
122
+
123
+ - What is the consequence and how reversible is it?
124
+ - Which object, amount, recipient, scope, or side effects must remain visible?
125
+ - Can the user cancel, edit critical inputs, and retry without restarting unrelated work?
126
+ - Does the error state preserve entered data and ask only for the missing challenge?
127
+ - For agentic work, is explicit approval required before the side effect and is interruption still available?
@@ -0,0 +1,145 @@
1
+ ---
2
+ id: PAT-00005
3
+ alias: PAT-005
4
+ slug: context-preserving-preview
5
+ title: Context-Preserving Preview
6
+ object_type: pattern
7
+ status: draft
8
+ version: 0.2.0
9
+ category: ux
10
+ tags:
11
+ - ux
12
+ - preview
13
+ maturity: seed
14
+ risk_level: medium
15
+ relationships:
16
+ - type: requires
17
+ target: RULE-00007
18
+ - type: requires
19
+ target: RULE-00004
20
+ - type: requires
21
+ target: RULE-00003
22
+ - type: requires
23
+ target: RULE-00009
24
+ - type: requires
25
+ target: RULE-00013
26
+ - type: requires
27
+ target: RULE-00015
28
+ - type: related_to
29
+ target: PAT-00006
30
+ ---
31
+
32
+ # Context-Preserving Preview
33
+
34
+ ## Purpose
35
+
36
+ Let users inspect detail without losing their source context.
37
+
38
+ ## User Goal
39
+
40
+ Compare, inspect, or triage items while keeping place in the list or workspace.
41
+
42
+ ## Product Context
43
+
44
+ Lists, workspaces, conversations, and browsers where users inspect multiple items in sequence.
45
+
46
+ ## Use When
47
+
48
+ - Users need to open several items quickly.
49
+ - The source context, filters, or scroll position matter.
50
+ - Detail is inspection-heavy rather than a long edit flow.
51
+
52
+ ## Do Not Use When
53
+
54
+ - The detail view is a long editing workflow.
55
+ - The preview would hide critical primary actions.
56
+ - The source list is not important after selection.
57
+
58
+ ## UX Rules
59
+
60
+ - `UX-003` Preserve Context During Inspection
61
+ - `IA-002` Define The Object Model Before Screens
62
+ - `IA-001` One Stable Home Surface
63
+ - `UX-004` Use Motion To Explain State Continuity
64
+
65
+ ## Accessibility Rules
66
+
67
+ - `A11Y-001` 44x44 Touch Targets
68
+ - `A11Y-004` Reduce Non-Essential Interaction Motion
69
+
70
+ ## Motion Behavior
71
+
72
+ If opening or closing preview uses non-essential motion, respect a reduced-motion preference or provide an equivalent way to disable it. The reduced-motion state may switch directly to the same sheet, panel, or preview state; it must not remove the preview or its return path.
73
+
74
+ Use motion only to explain the selected item's relationship to its preview (`UX-004`). Reuse the product's named timing and easing roles; do not introduce a fixed duration or require a particular animation API. Define the following behavior before implementing the transition:
75
+
76
+ | State or transition | Required outcome |
77
+ | --- | --- |
78
+ | Closed to open | Keep the selected item, filters, and scroll position; show which item the preview belongs to. Define the focus destination for the chosen panel or dialog behavior. |
79
+ | Loading or error | Keep the source usable and show feedback in the preview. Feedback must remain understandable without movement. |
80
+ | Close | Restore the source context. If focus moved into the preview, return it to the invoking control or a logical surviving control if that item was removed. |
81
+ | Interrupted opening or item switch | The latest selection determines the visible item. A delayed transition must not reopen a closed preview or move focus to an old item. |
82
+ | Reduced motion or unsupported animation | Reach the same selected item, information, controls, and focus outcome without non-essential movement. |
83
+
84
+ ## Mobile Behavior
85
+
86
+ Use a sheet, drawer, or temporary detail view that preserves return state. Avoid resetting filters or scroll on close.
87
+
88
+ ## Desktop Behavior
89
+
90
+ Prefer side panel, split view, peek, or preview pane when space allows.
91
+
92
+ ## Empty State
93
+
94
+ Show the source list empty state and avoid opening an empty preview by default.
95
+
96
+ ## Loading State
97
+
98
+ Keep the source context visible while preview content loads.
99
+
100
+ ## Error State
101
+
102
+ Show preview-level error and keep the source list usable.
103
+
104
+ ## Required Rules
105
+
106
+ - `UX-003` Preserve Context During Inspection
107
+ - `IA-002` Define The Object Model Before Screens
108
+ - `IA-001` One Stable Home Surface
109
+ - `A11Y-001` 44x44 Touch Targets
110
+ - `A11Y-004` Reduce Non-Essential Interaction Motion
111
+ - `UX-004` Use Motion To Explain State Continuity
112
+
113
+ ## Related Research
114
+
115
+ - `research/products/arc.md`
116
+ - `research/products/linear.md`
117
+ - `research/products/telegram.md`
118
+ - `research/ux/motion-as-state-continuity.md`
119
+
120
+ ## Related Patterns
121
+
122
+ - Parent: none
123
+ - Child: none
124
+ - Alternative: full detail page when editing is the main task
125
+ - Depends on: `object-status-list.md` when previewing structured objects
126
+
127
+ ## Examples
128
+
129
+ - A consumer task app opens task detail from Today without losing the Today list.
130
+ - An issue tracker opens issue detail beside the filtered issue list.
131
+
132
+ For a task preview, a brief local transition can connect the selected row to its details. With reduced motion, open those same details immediately. Animating every list row or waiting for a closing animation before accepting the next selection would add motion without preserving useful context.
133
+
134
+ ## Agent Checklist
135
+
136
+ - Does opening detail preserve source context?
137
+ - Can users inspect several items quickly?
138
+ - Is the return path obvious?
139
+ - Does preview stay smaller than a full workspace?
140
+ - When motion exists, can reduced motion reach the same preview and return state?
141
+ - Are the start state, end state, focus destination, interruption behavior, and fallback recorded?
142
+ - Can a user close or switch items during opening without stale content or focus taking over?
143
+ - Is loading and error feedback still clear with animation disabled?
144
+
145
+ The motion guidance remains `draft` / `seed`; this revision does not establish rendered or independent validation.
@@ -0,0 +1,134 @@
1
+ ---
2
+ id: PAT-00001
3
+ alias: PAT-001
4
+ slug: daily-home-surface
5
+ title: Daily Home Surface
6
+ object_type: pattern
7
+ status: draft
8
+ version: 0.2.0
9
+ category: product
10
+ tags:
11
+ - product
12
+ - home
13
+ maturity: seed
14
+ risk_level: medium
15
+ relationships:
16
+ - type: requires
17
+ target: RULE-00001
18
+ - type: requires
19
+ target: RULE-00003
20
+ - type: requires
21
+ target: RULE-00006
22
+ - type: requires
23
+ target: RULE-00009
24
+ - type: requires
25
+ target: RULE-00008
26
+ - type: requires
27
+ target: RULE-00014
28
+ - type: related_to
29
+ target: PAT-00002
30
+ - type: related_to
31
+ target: PAT-00003
32
+ ---
33
+
34
+ # Daily Home Surface
35
+
36
+ ## Purpose
37
+
38
+ Provide one stable starting surface for repeated daily work.
39
+
40
+ ## User Goal
41
+
42
+ Start the day or session and act on the most relevant current work.
43
+
44
+ ## Product Context
45
+
46
+ Consumer products with recurring workflows, such as family tasks, reminders, routines, daily planning, and recurring conversations.
47
+
48
+ ## Use When
49
+
50
+ - Users return frequently to the same product context.
51
+ - One repeated action or current-work view anchors the product.
52
+ - Secondary modes exist but should not replace the starting point.
53
+
54
+ ## Do Not Use When
55
+
56
+ - The product is primarily exploratory.
57
+ - The user goal changes completely between sessions.
58
+ - Parallel workflows are equally important and cannot share one home.
59
+
60
+ ## UX Rules
61
+
62
+ - `PRD-001` Daily Actions First
63
+ - `IA-001` One Stable Home Surface
64
+ - `UX-002` Progressively Disclose Power
65
+
66
+ ## Accessibility Rules
67
+
68
+ - `A11Y-001` 44x44 Touch Targets
69
+
70
+ ## Mobile Behavior
71
+
72
+ Show the current work and primary daily action in the first 390px-wide viewport. Keep navigation secondary and reachable.
73
+
74
+ Keep current-work labels readable beside the primary action. Use the same semantic content, action, and supporting-surface roles as desktop; reducing width must not give every row or navigation control the same emphasis as the main action (`VIS-001`, `VIS-002`).
75
+
76
+ ## Desktop Behavior
77
+
78
+ Use the extra width for supporting context, not competing entry points. Keep the same home concept as mobile.
79
+
80
+ Identify the content layer (current work), functional layer (navigation and controls), focal emphasis (the repeated daily action), and quiet supporting surfaces. Reuse existing typography, spacing, and color roles. Strong material, shape, or color treatments must clarify that hierarchy; removing decorative effects must leave content order and the primary action understandable (`VIS-001`, `VIS-002`).
81
+
82
+ ## Empty State
83
+
84
+ Explain what belongs here and provide the primary create or start action.
85
+
86
+ ## Loading State
87
+
88
+ Keep the home shell and primary action position stable while current work loads.
89
+
90
+ ## Error State
91
+
92
+ Preserve the home surface and show a recovery action without replacing the whole screen.
93
+
94
+ ## Required Rules
95
+
96
+ - `PRD-001` Daily Actions First
97
+ - `IA-001` One Stable Home Surface
98
+ - `UX-002` Progressively Disclose Power
99
+ - `A11Y-001` 44x44 Touch Targets
100
+ - `VIS-001` Semantic Tokens Only
101
+ - `VIS-002` Keep Expression Subordinate To Content
102
+
103
+ ## Related Research
104
+
105
+ - `research/products/things-3.md`
106
+ - `research/products/telegram.md`
107
+ - `research/products/apple-reminders.md`
108
+ - `research/visual/expressive-system-ui-2026.md`
109
+
110
+ ## Related Patterns
111
+
112
+ - Parent: none
113
+ - Child: `quick-capture.md`, `mobile-primary-action.md`
114
+ - Alternative: none
115
+ - Depends on: none
116
+
117
+ ## Examples
118
+
119
+ - A consumer task app opens to Today, showing current tasks and the main add action.
120
+ - A reminders app opens to the user's current list instead of settings or analytics.
121
+
122
+ For a household shopping list, the current items form the content layer, list switching belongs to the functional layer, and Add item is the focal action. Bought items remain readable but quieter. Giving every item, navigation control, and background the same strong accent would obscure this hierarchy. This is an application of `VIS-002`, not a required brand style or a new component system.
123
+
124
+ ## Agent Checklist
125
+
126
+ - Is there one recognizable home surface?
127
+ - Is the repeated daily action visible without scrolling?
128
+ - Can users return after exploring secondary modes?
129
+ - Are advanced controls quieter than current work?
130
+ - Can the content, functional layer, focal emphasis, and supporting surfaces be identified on both mobile and desktop?
131
+ - Does the hierarchy remain clear without transparency, shadows, or decorative motion?
132
+ - Do repeated visual decisions reuse the project's semantic roles?
133
+
134
+ The visual guidance remains `draft` / `seed`; this revision adds an application contract, not rendered benchmark validation.
@@ -0,0 +1,110 @@
1
+ ---
2
+ id: PAT-00003
3
+ alias: PAT-003
4
+ slug: mobile-primary-action
5
+ title: Mobile Primary Action
6
+ object_type: pattern
7
+ status: draft
8
+ version: 0.1.0
9
+ category: mobile
10
+ tags:
11
+ - mobile
12
+ - action
13
+ maturity: seed
14
+ risk_level: high
15
+ relationships:
16
+ - type: requires
17
+ target: RULE-00005
18
+ - type: requires
19
+ target: RULE-00001
20
+ - type: requires
21
+ target: RULE-00009
22
+ - type: related_to
23
+ target: PAT-00002
24
+ ---
25
+
26
+ # Mobile Primary Action
27
+
28
+ ## Purpose
29
+
30
+ Make one repeated mobile action physically reachable and safely tappable.
31
+
32
+ ## User Goal
33
+
34
+ Trigger the main action quickly with one hand.
35
+
36
+ ## Product Context
37
+
38
+ Touch-first screens with one dominant repeated action, such as add, send, complete, or start.
39
+
40
+ ## Use When
41
+
42
+ - One action is clearly more frequent than others.
43
+ - The screen is used on mobile.
44
+ - The action is safe enough to make prominent.
45
+
46
+ ## Do Not Use When
47
+
48
+ - Multiple actions are equally important.
49
+ - The action is destructive or high-risk.
50
+ - The screen is primarily for reading or comparison.
51
+
52
+ ## UX Rules
53
+
54
+ - `UX-001` Thumb-Zone Primary Actions
55
+ - `PRD-001` Daily Actions First
56
+
57
+ ## Accessibility Rules
58
+
59
+ - `A11Y-001` 44x44 Touch Targets
60
+
61
+ ## Mobile Behavior
62
+
63
+ Place the action in a thumb-friendly zone. Keep the clickable area at least 44x44 CSS pixels and separate it from destructive controls.
64
+
65
+ ## Desktop Behavior
66
+
67
+ Keep the same primary action visible, but position it according to desktop hierarchy and keyboard access instead of thumb reach.
68
+
69
+ ## Empty State
70
+
71
+ Keep the action available and pair it with concise start guidance.
72
+
73
+ ## Loading State
74
+
75
+ Keep the action position stable. Disable or show progress only while duplicate actions would be harmful.
76
+
77
+ ## Error State
78
+
79
+ Show recovery near the action and preserve the user's context.
80
+
81
+ ## Required Rules
82
+
83
+ - `UX-001` Thumb-Zone Primary Actions
84
+ - `PRD-001` Daily Actions First
85
+ - `A11Y-001` 44x44 Touch Targets
86
+
87
+ ## Related Research
88
+
89
+ - `research/products/things-3.md`
90
+ - `research/products/apple-reminders.md`
91
+
92
+ ## Related Patterns
93
+
94
+ - Parent: none
95
+ - Child: none
96
+ - Alternative: none
97
+ - Depends on: none
98
+ - Adjacent: `quick-capture.md` owns the creation flow after tap
99
+
100
+ ## Examples
101
+
102
+ - A mobile todo app places Add Task in the reachable bottom area.
103
+ - A messaging screen keeps Send reachable without placing Delete nearby.
104
+
105
+ ## Agent Checklist
106
+
107
+ - Is there one clear primary action?
108
+ - Is it reachable at 390px width?
109
+ - Is the target at least 44x44 CSS pixels?
110
+ - Is the destructive path spatially separate?
@@ -0,0 +1,114 @@
1
+ ---
2
+ id: PAT-00006
3
+ alias: PAT-006
4
+ slug: object-status-list
5
+ title: Object Status List
6
+ object_type: pattern
7
+ status: draft
8
+ version: 0.1.0
9
+ category: ia
10
+ tags:
11
+ - ia
12
+ - status
13
+ maturity: seed
14
+ risk_level: medium
15
+ relationships:
16
+ - type: requires
17
+ target: RULE-00004
18
+ - type: requires
19
+ target: RULE-00007
20
+ - type: requires
21
+ target: RULE-00008
22
+ - type: requires
23
+ target: RULE-00009
24
+ - type: related_to
25
+ target: PAT-00005
26
+ - type: related_to
27
+ target: PAT-00004
28
+ ---
29
+
30
+ # Object Status List
31
+
32
+ ## Purpose
33
+
34
+ Make structured objects scanable by state, owner, and next action.
35
+
36
+ ## User Goal
37
+
38
+ Understand what exists, what state it is in, and what needs attention.
39
+
40
+ ## Product Context
41
+
42
+ Products with stable objects and states, such as issues, projects, shared tasks, requests, or household workflows.
43
+
44
+ ## Use When
45
+
46
+ - Items have stable states.
47
+ - Users need to scan or filter many objects.
48
+ - Ownership, status, or next action affects decisions.
49
+
50
+ ## Do Not Use When
51
+
52
+ - Items are mostly unstructured notes or messages.
53
+ - The product does not have stable states.
54
+ - A dense list would make a consumer workflow feel administrative.
55
+
56
+ ## UX Rules
57
+
58
+ - `IA-002` Define The Object Model Before Screens
59
+ - `UX-003` Preserve Context During Inspection
60
+
61
+ ## Accessibility Rules
62
+
63
+ - `A11Y-001` 44x44 Touch Targets
64
+
65
+ ## Mobile Behavior
66
+
67
+ Show object name and most important status first. Move secondary metadata into detail or progressive disclosure.
68
+
69
+ ## Desktop Behavior
70
+
71
+ Use columns, grouping, filters, or side panels for scanability without duplicating objects.
72
+
73
+ ## Empty State
74
+
75
+ Explain what object will appear here and provide the relevant create or import action.
76
+
77
+ ## Loading State
78
+
79
+ Preserve row structure or grouping while loading to avoid scan disruption.
80
+
81
+ ## Error State
82
+
83
+ Show list-level recovery and preserve filters when possible.
84
+
85
+ ## Required Rules
86
+
87
+ - `IA-002` Define The Object Model Before Screens
88
+ - `UX-003` Preserve Context During Inspection
89
+ - `VIS-001` Semantic Tokens Only
90
+ - `A11Y-001` 44x44 Touch Targets
91
+
92
+ ## Related Research
93
+
94
+ - `research/products/linear.md`
95
+ - `research/products/arc.md`
96
+
97
+ ## Related Patterns
98
+
99
+ - Parent: none
100
+ - Child: `context-preserving-preview.md`
101
+ - Alternative: `progressive-detail.md` when metadata should stay hidden
102
+ - Depends on: none
103
+
104
+ ## Examples
105
+
106
+ - A household task archetype shows tasks with owner, status, and due cue.
107
+ - A project tool lists issues with status, owner, priority, and next action.
108
+
109
+ ## Agent Checklist
110
+
111
+ - What object does each row represent?
112
+ - Are statuses stable and consistently named?
113
+ - Is ownership visible when it affects action?
114
+ - Can users change view without duplicating data?