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,550 @@
1
+ {
2
+ "query": {
3
+ "mode": "review",
4
+ "value": "REF-00001",
5
+ "platform": null,
6
+ "intent": "qa"
7
+ },
8
+ "anchors": [
9
+ {
10
+ "id": "REF-00001",
11
+ "alias": "REF-TODO-BENCHMARK",
12
+ "title": "Todo App Benchmark Reference Project",
13
+ "type": "reference_project",
14
+ "status": "draft",
15
+ "maturity": "reviewed",
16
+ "path": "examples/todo-app-benchmark.md",
17
+ "reason": {
18
+ "kind": "match",
19
+ "field": "id",
20
+ "terms": [
21
+ "ref",
22
+ "00001"
23
+ ]
24
+ }
25
+ }
26
+ ],
27
+ "objects": [
28
+ {
29
+ "id": "RESEARCH-00001",
30
+ "alias": "TELEGRAM",
31
+ "title": "Telegram",
32
+ "type": "research",
33
+ "status": "draft",
34
+ "maturity": "seed",
35
+ "path": "research/products/telegram.md",
36
+ "reason": {
37
+ "kind": "dependency",
38
+ "source": "RULE-00001",
39
+ "relationship": "derived_from"
40
+ }
41
+ },
42
+ {
43
+ "id": "RESEARCH-00002",
44
+ "alias": "THINGS-3",
45
+ "title": "Things 3",
46
+ "type": "research",
47
+ "status": "draft",
48
+ "maturity": "seed",
49
+ "path": "research/products/things-3.md",
50
+ "reason": {
51
+ "kind": "dependency",
52
+ "source": "RULE-00001",
53
+ "relationship": "derived_from"
54
+ }
55
+ },
56
+ {
57
+ "id": "RESEARCH-00003",
58
+ "alias": "APPLE-REMINDERS",
59
+ "title": "Apple Reminders",
60
+ "type": "research",
61
+ "status": "draft",
62
+ "maturity": "seed",
63
+ "path": "research/products/apple-reminders.md",
64
+ "reason": {
65
+ "kind": "dependency",
66
+ "source": "RULE-00001",
67
+ "relationship": "derived_from"
68
+ }
69
+ },
70
+ {
71
+ "id": "RESEARCH-00004",
72
+ "alias": "LINEAR",
73
+ "title": "Linear",
74
+ "type": "research",
75
+ "status": "draft",
76
+ "maturity": "seed",
77
+ "path": "research/products/linear.md",
78
+ "reason": {
79
+ "kind": "dependency",
80
+ "source": "RULE-00008",
81
+ "relationship": "derived_from"
82
+ }
83
+ },
84
+ {
85
+ "id": "RESEARCH-00005",
86
+ "alias": "ARC",
87
+ "title": "Arc",
88
+ "type": "research",
89
+ "status": "draft",
90
+ "maturity": "seed",
91
+ "path": "research/products/arc.md",
92
+ "reason": {
93
+ "kind": "dependency",
94
+ "source": "RULE-00004",
95
+ "relationship": "derived_from"
96
+ }
97
+ },
98
+ {
99
+ "id": "RESEARCH-00006",
100
+ "alias": "TEXTUAL-ERROR-RECOVERY",
101
+ "title": "Textual Error Recovery",
102
+ "type": "research",
103
+ "status": "draft",
104
+ "maturity": "seed",
105
+ "path": "research/accessibility/textual-error-recovery.md",
106
+ "reason": {
107
+ "kind": "dependency",
108
+ "source": "RULE-00010",
109
+ "relationship": "derived_from"
110
+ }
111
+ },
112
+ {
113
+ "id": "RESEARCH-00007",
114
+ "alias": "RESERVED-LOADING-SPACE",
115
+ "title": "Reserved Loading Space",
116
+ "type": "research",
117
+ "status": "draft",
118
+ "maturity": "seed",
119
+ "path": "research/performance/reserved-loading-space.md",
120
+ "reason": {
121
+ "kind": "dependency",
122
+ "source": "RULE-00011",
123
+ "relationship": "derived_from"
124
+ }
125
+ },
126
+ {
127
+ "id": "RESEARCH-00008",
128
+ "alias": "KEYBOARD-FOCUS-AND-MOTION",
129
+ "title": "Keyboard Focus And Interaction Motion",
130
+ "type": "research",
131
+ "status": "draft",
132
+ "maturity": "seed",
133
+ "path": "research/accessibility/keyboard-focus-and-interaction-motion.md",
134
+ "reason": {
135
+ "kind": "dependency",
136
+ "source": "RULE-00012",
137
+ "relationship": "derived_from"
138
+ }
139
+ },
140
+ {
141
+ "id": "RESEARCH-00009",
142
+ "alias": "EXPRESSIVE-SYSTEM-UI-2026",
143
+ "title": "Expressive System UI In 2026",
144
+ "type": "research",
145
+ "status": "draft",
146
+ "maturity": "seed",
147
+ "path": "research/visual/expressive-system-ui-2026.md",
148
+ "reason": {
149
+ "kind": "dependency",
150
+ "source": "RULE-00014",
151
+ "relationship": "derived_from"
152
+ }
153
+ },
154
+ {
155
+ "id": "RESEARCH-00010",
156
+ "alias": "MOTION-AS-STATE-CONTINUITY",
157
+ "title": "Motion As State Continuity",
158
+ "type": "research",
159
+ "status": "draft",
160
+ "maturity": "seed",
161
+ "path": "research/ux/motion-as-state-continuity.md",
162
+ "reason": {
163
+ "kind": "dependency",
164
+ "source": "RULE-00015",
165
+ "relationship": "derived_from"
166
+ }
167
+ },
168
+ {
169
+ "id": "RULE-00001",
170
+ "alias": "PRD-001",
171
+ "title": "Daily Actions First",
172
+ "type": "rule",
173
+ "status": "draft",
174
+ "maturity": "seed",
175
+ "path": "rules/product/PRD-001.md",
176
+ "reason": {
177
+ "kind": "dependency",
178
+ "source": "PAT-00001",
179
+ "relationship": "requires"
180
+ }
181
+ },
182
+ {
183
+ "id": "RULE-00002",
184
+ "alias": "PRD-002",
185
+ "title": "Low-Friction Capture Before Organization",
186
+ "type": "rule",
187
+ "status": "draft",
188
+ "maturity": "seed",
189
+ "path": "rules/product/PRD-002.md",
190
+ "reason": {
191
+ "kind": "dependency",
192
+ "source": "PAT-00002",
193
+ "relationship": "requires"
194
+ }
195
+ },
196
+ {
197
+ "id": "RULE-00003",
198
+ "alias": "IA-001",
199
+ "title": "One Stable Home Surface",
200
+ "type": "rule",
201
+ "status": "draft",
202
+ "maturity": "seed",
203
+ "path": "rules/ia/IA-001.md",
204
+ "reason": {
205
+ "kind": "dependency",
206
+ "source": "PAT-00001",
207
+ "relationship": "requires"
208
+ }
209
+ },
210
+ {
211
+ "id": "RULE-00004",
212
+ "alias": "IA-002",
213
+ "title": "Define The Object Model Before Screens",
214
+ "type": "rule",
215
+ "status": "draft",
216
+ "maturity": "seed",
217
+ "path": "rules/ia/IA-002.md",
218
+ "reason": {
219
+ "kind": "dependency",
220
+ "source": "PAT-00005",
221
+ "relationship": "requires"
222
+ }
223
+ },
224
+ {
225
+ "id": "RULE-00005",
226
+ "alias": "UX-001",
227
+ "title": "Thumb-Zone Primary Actions",
228
+ "type": "rule",
229
+ "status": "draft",
230
+ "maturity": "seed",
231
+ "path": "rules/ux/UX-001.md",
232
+ "reason": {
233
+ "kind": "dependency",
234
+ "source": "PAT-00002",
235
+ "relationship": "requires"
236
+ }
237
+ },
238
+ {
239
+ "id": "RULE-00006",
240
+ "alias": "UX-002",
241
+ "title": "Progressively Disclose Power",
242
+ "type": "rule",
243
+ "status": "draft",
244
+ "maturity": "seed",
245
+ "path": "rules/ux/UX-002.md",
246
+ "reason": {
247
+ "kind": "dependency",
248
+ "source": "PAT-00001",
249
+ "relationship": "requires"
250
+ }
251
+ },
252
+ {
253
+ "id": "RULE-00007",
254
+ "alias": "UX-003",
255
+ "title": "Preserve Context During Inspection",
256
+ "type": "rule",
257
+ "status": "draft",
258
+ "maturity": "seed",
259
+ "path": "rules/ux/UX-003.md",
260
+ "reason": {
261
+ "kind": "dependency",
262
+ "source": "PAT-00005",
263
+ "relationship": "requires"
264
+ }
265
+ },
266
+ {
267
+ "id": "RULE-00008",
268
+ "alias": "VIS-001",
269
+ "title": "Semantic Tokens Only",
270
+ "type": "rule",
271
+ "status": "draft",
272
+ "maturity": "seed",
273
+ "path": "rules/visual/VIS-001.md",
274
+ "reason": {
275
+ "kind": "dependency",
276
+ "source": "PAT-00001",
277
+ "relationship": "requires"
278
+ }
279
+ },
280
+ {
281
+ "id": "RULE-00009",
282
+ "alias": "A11Y-001",
283
+ "title": "44x44 Touch Targets",
284
+ "type": "rule",
285
+ "status": "draft",
286
+ "maturity": "seed",
287
+ "path": "rules/accessibility/A11Y-001.md",
288
+ "reason": {
289
+ "kind": "dependency",
290
+ "source": "PAT-00001",
291
+ "relationship": "requires"
292
+ }
293
+ },
294
+ {
295
+ "id": "RULE-00010",
296
+ "alias": "A11Y-002",
297
+ "title": "Textual Input Error Recovery",
298
+ "type": "rule",
299
+ "status": "draft",
300
+ "maturity": "seed",
301
+ "path": "rules/accessibility/A11Y-002.md",
302
+ "reason": {
303
+ "kind": "dependency",
304
+ "source": "PAT-00002",
305
+ "relationship": "requires"
306
+ }
307
+ },
308
+ {
309
+ "id": "RULE-00011",
310
+ "alias": "PERF-001",
311
+ "title": "Reserve Layout Space For Asynchronous Content",
312
+ "type": "rule",
313
+ "status": "draft",
314
+ "maturity": "seed",
315
+ "path": "rules/performance/PERF-001.md",
316
+ "reason": {
317
+ "kind": "dependency",
318
+ "source": "PAT-00002",
319
+ "relationship": "requires"
320
+ }
321
+ },
322
+ {
323
+ "id": "RULE-00012",
324
+ "alias": "A11Y-003",
325
+ "title": "Visible Keyboard Focus",
326
+ "type": "rule",
327
+ "status": "draft",
328
+ "maturity": "seed",
329
+ "path": "rules/accessibility/A11Y-003.md",
330
+ "reason": {
331
+ "kind": "dependency",
332
+ "source": "PAT-00002",
333
+ "relationship": "requires"
334
+ }
335
+ },
336
+ {
337
+ "id": "RULE-00013",
338
+ "alias": "A11Y-004",
339
+ "title": "Reduce Non-Essential Interaction Motion",
340
+ "type": "rule",
341
+ "status": "draft",
342
+ "maturity": "seed",
343
+ "path": "rules/accessibility/A11Y-004.md",
344
+ "reason": {
345
+ "kind": "dependency",
346
+ "source": "PAT-00005",
347
+ "relationship": "requires"
348
+ }
349
+ },
350
+ {
351
+ "id": "RULE-00014",
352
+ "alias": "VIS-002",
353
+ "title": "Keep Expression Subordinate To Content",
354
+ "type": "rule",
355
+ "status": "draft",
356
+ "maturity": "seed",
357
+ "path": "rules/visual/VIS-002.md",
358
+ "reason": {
359
+ "kind": "dependency",
360
+ "source": "PAT-00001",
361
+ "relationship": "requires"
362
+ }
363
+ },
364
+ {
365
+ "id": "RULE-00015",
366
+ "alias": "UX-004",
367
+ "title": "Use Motion To Explain State Continuity",
368
+ "type": "rule",
369
+ "status": "draft",
370
+ "maturity": "seed",
371
+ "path": "rules/ux/UX-004.md",
372
+ "reason": {
373
+ "kind": "dependency",
374
+ "source": "PAT-00005",
375
+ "relationship": "requires"
376
+ }
377
+ },
378
+ {
379
+ "id": "PAT-00001",
380
+ "alias": "PAT-001",
381
+ "title": "Daily Home Surface",
382
+ "type": "pattern",
383
+ "status": "draft",
384
+ "maturity": "seed",
385
+ "path": "patterns/daily-home-surface.md",
386
+ "reason": {
387
+ "kind": "dependency",
388
+ "source": "REF-00001",
389
+ "relationship": "implements"
390
+ }
391
+ },
392
+ {
393
+ "id": "PAT-00002",
394
+ "alias": "PAT-002",
395
+ "title": "Quick Capture",
396
+ "type": "pattern",
397
+ "status": "draft",
398
+ "maturity": "seed",
399
+ "path": "patterns/quick-capture.md",
400
+ "reason": {
401
+ "kind": "dependency",
402
+ "source": "REF-00001",
403
+ "relationship": "implements"
404
+ }
405
+ },
406
+ {
407
+ "id": "PAT-00003",
408
+ "alias": "PAT-003",
409
+ "title": "Mobile Primary Action",
410
+ "type": "pattern",
411
+ "status": "draft",
412
+ "maturity": "seed",
413
+ "path": "patterns/mobile-primary-action.md",
414
+ "reason": {
415
+ "kind": "dependency",
416
+ "source": "REF-00001",
417
+ "relationship": "implements"
418
+ }
419
+ },
420
+ {
421
+ "id": "PAT-00004",
422
+ "alias": "PAT-004",
423
+ "title": "Progressive Detail",
424
+ "type": "pattern",
425
+ "status": "draft",
426
+ "maturity": "seed",
427
+ "path": "patterns/progressive-detail.md",
428
+ "reason": {
429
+ "kind": "dependency",
430
+ "source": "REF-00001",
431
+ "relationship": "implements"
432
+ }
433
+ },
434
+ {
435
+ "id": "PAT-00005",
436
+ "alias": "PAT-005",
437
+ "title": "Context-Preserving Preview",
438
+ "type": "pattern",
439
+ "status": "draft",
440
+ "maturity": "seed",
441
+ "path": "patterns/context-preserving-preview.md",
442
+ "reason": {
443
+ "kind": "dependency",
444
+ "source": "REF-00001",
445
+ "relationship": "implements"
446
+ }
447
+ },
448
+ {
449
+ "id": "PAT-00006",
450
+ "alias": "PAT-006",
451
+ "title": "Object Status List",
452
+ "type": "pattern",
453
+ "status": "draft",
454
+ "maturity": "seed",
455
+ "path": "patterns/object-status-list.md",
456
+ "reason": {
457
+ "kind": "dependency",
458
+ "source": "REF-00001",
459
+ "relationship": "implements"
460
+ }
461
+ },
462
+ {
463
+ "id": "PROMPT-00003",
464
+ "alias": "PROMPT-TODO-BENCHMARK",
465
+ "title": "Todo App Benchmark Prompt",
466
+ "type": "prompt",
467
+ "status": "draft",
468
+ "maturity": "seed",
469
+ "path": "prompts/TODO_APP_BENCHMARK.md",
470
+ "reason": {
471
+ "kind": "dependency",
472
+ "source": "REF-00001",
473
+ "relationship": "implements"
474
+ }
475
+ },
476
+ {
477
+ "id": "PROMPT-00005",
478
+ "alias": "PROMPT-DESIGN-EVIDENCE-REVIEW",
479
+ "title": "Design Evidence Review Prompt",
480
+ "type": "prompt",
481
+ "status": "draft",
482
+ "maturity": "seed",
483
+ "path": "prompts/DESIGN_EVIDENCE_REVIEW.md",
484
+ "reason": {
485
+ "kind": "dependency",
486
+ "source": "REVIEW-00001",
487
+ "relationship": "implements"
488
+ }
489
+ },
490
+ {
491
+ "id": "CHECK-00001",
492
+ "alias": "CHECK-DESIGN-QA",
493
+ "title": "Design QA Checklist",
494
+ "type": "checklist",
495
+ "status": "draft",
496
+ "maturity": "seed",
497
+ "path": "checklists/DESIGN_QA.md",
498
+ "reason": {
499
+ "kind": "dependency",
500
+ "source": "REVIEW-00001",
501
+ "relationship": "requires"
502
+ }
503
+ },
504
+ {
505
+ "id": "REF-00001",
506
+ "alias": "REF-TODO-BENCHMARK",
507
+ "title": "Todo App Benchmark Reference Project",
508
+ "type": "reference_project",
509
+ "status": "draft",
510
+ "maturity": "reviewed",
511
+ "path": "examples/todo-app-benchmark.md",
512
+ "reason": {
513
+ "kind": "match",
514
+ "field": "id",
515
+ "terms": [
516
+ "ref",
517
+ "00001"
518
+ ]
519
+ }
520
+ },
521
+ {
522
+ "id": "REVIEW-00001",
523
+ "alias": "REVIEW-TODO-BENCHMARK",
524
+ "title": "Todo App Benchmark Reference Review",
525
+ "type": "review",
526
+ "status": "draft",
527
+ "maturity": "seed",
528
+ "path": "reviews/todo-app-benchmark-reference-review.md",
529
+ "reason": {
530
+ "kind": "review",
531
+ "source": "REF-00001",
532
+ "relationship": "validates"
533
+ }
534
+ },
535
+ {
536
+ "id": "REVIEW-00002",
537
+ "alias": "REVIEW-TODO-RUNNABLE-FIXTURE",
538
+ "title": "Todo Runnable Fixture Review",
539
+ "type": "review",
540
+ "status": "draft",
541
+ "maturity": "seed",
542
+ "path": "reviews/todo-reference-fixture-review.md",
543
+ "reason": {
544
+ "kind": "review",
545
+ "source": "REF-00001",
546
+ "relationship": "validates"
547
+ }
548
+ }
549
+ ]
550
+ }
@@ -0,0 +1,86 @@
1
+ [
2
+ {
3
+ "id": "t01",
4
+ "title": "Book dentist appointment",
5
+ "notes": "Ask about a morning appointment.",
6
+ "dueDate": "2026-09-28",
7
+ "completed": false
8
+ },
9
+ {
10
+ "id": "t02",
11
+ "title": "Pick up parcel",
12
+ "notes": "",
13
+ "dueDate": "2026-09-28",
14
+ "completed": false
15
+ },
16
+ {
17
+ "id": "t03",
18
+ "title": "Reply to Maya",
19
+ "notes": "",
20
+ "dueDate": "2026-09-28",
21
+ "completed": false
22
+ },
23
+ {
24
+ "id": "t04",
25
+ "title": "Pay electricity bill",
26
+ "notes": "",
27
+ "dueDate": "2026-09-28",
28
+ "completed": false
29
+ },
30
+ {
31
+ "id": "t05",
32
+ "title": "Fix bicycle light",
33
+ "notes": "",
34
+ "dueDate": "2026-09-28",
35
+ "completed": false
36
+ },
37
+ {
38
+ "id": "t06",
39
+ "title": "Water the plants",
40
+ "notes": "",
41
+ "dueDate": "2026-09-28",
42
+ "completed": false
43
+ },
44
+ {
45
+ "id": "t07",
46
+ "title": "Read chapter twelve",
47
+ "notes": "",
48
+ "dueDate": "2026-09-28",
49
+ "completed": false
50
+ },
51
+ {
52
+ "id": "t08",
53
+ "title": "Plan weekend walk",
54
+ "notes": "",
55
+ "dueDate": "2026-09-28",
56
+ "completed": false
57
+ },
58
+ {
59
+ "id": "t09",
60
+ "title": "Return library book",
61
+ "notes": "",
62
+ "dueDate": "2026-09-28",
63
+ "completed": false
64
+ },
65
+ {
66
+ "id": "t10",
67
+ "title": "Take out recycling",
68
+ "notes": "",
69
+ "dueDate": "2026-09-28",
70
+ "completed": false
71
+ },
72
+ {
73
+ "id": "t11",
74
+ "title": "Order coffee beans",
75
+ "notes": "",
76
+ "dueDate": "2026-09-28",
77
+ "completed": false
78
+ },
79
+ {
80
+ "id": "t12",
81
+ "title": "Stretch for ten minutes",
82
+ "notes": "",
83
+ "dueDate": "2026-09-28",
84
+ "completed": true
85
+ }
86
+ ]
@@ -0,0 +1,47 @@
1
+ {
2
+ "status": "completed",
3
+ "scenario": "Todo App",
4
+ "scenario_sha256": "368b10d4e3db8850d282010560e96e520b87737bc014a0385c30c45fd5b68f3d",
5
+ "brief_sha256": "5b35c4e957e106467c870fa10e70132cad6ef03fb7a390ad6edfdcfea7526ff7",
6
+ "seed_sha256": "09426e774f630cf8d673ade4a30c049d5e2e98ad661160e1ba71db85416728b4",
7
+ "knowledge_commit": "3d9a6a70c47b7008a47dafd24a4aeef2855b07f2",
8
+ "knowledge_patch_sha256": "a26da973623d431c7258c64c7092352b03bce590154763be67b20cfabb90a03a",
9
+ "model": "Inherited Codex session model; exact backend model identifier not exposed",
10
+ "provider": "OpenAI",
11
+ "sampling": "Not exposed; inherited identically, no model or reasoning override",
12
+ "generation_surface": "Codex collaboration.spawn_agent; fork_turns=none; worker role",
13
+ "time_budget_minutes": 10,
14
+ "allowed_generation_tools": [
15
+ "filesystem read/write",
16
+ "shell syntax checks"
17
+ ],
18
+ "disallowed_generation_tools": [
19
+ "network",
20
+ "browser",
21
+ "other agents"
22
+ ],
23
+ "implementation_target": "Static HTML/CSS/JavaScript; no build dependencies or external assets",
24
+ "viewports": [
25
+ {
26
+ "name": "mobile",
27
+ "width": 390,
28
+ "height": 844
29
+ },
30
+ {
31
+ "name": "desktop",
32
+ "width": 1440,
33
+ "height": 900
34
+ }
35
+ ],
36
+ "device_scale_factor": 1,
37
+ "evaluator": "Codex parent agent; internal, unblinded evaluation",
38
+ "isolation": "Prompt-enforced separate directories and fresh conversation; shared host, tools, and inherited system instructions. No OS-level read isolation.",
39
+ "browser_version": "153.0.8010.53",
40
+ "browser_mode": "Headless Chrome, narrow/desktop viewports, no physical mobile keyboard emulation",
41
+ "color_scheme": "light",
42
+ "zoom": "100%",
43
+ "blinded": false,
44
+ "browser_locale": "en-GB",
45
+ "evaluation_type": "internal, unblinded, one pair",
46
+ "playwright_cli_version": "0.1.21"
47
+ }
@@ -0,0 +1,11 @@
1
+ Implement the brief below in your owned output directory: ${OUTPUT_DIR}
2
+
3
+ You are not alone in the workspace. Never modify, revert, or inspect the other run's files. Do not spawn agents. Use a fresh implementation. You own only this output directory. Work independently with a maximum of 10 minutes from starting this task; record elapsed time and stop with the current output if the budget expires.
4
+
5
+ Shared technical envelope:
6
+ - Static index.html, styles.css, app.js; no dependencies, frameworks, build step, external fonts/images/assets, network or browser tools. Filesystem and shell syntax checks only. Parent will render both frozen outputs afterward.
7
+ - Use the exact deterministic task data from ${RUN_ROOT}/common/seed.json; localStorage persistence is allowed. Treat 2026-09-28 as today for the initial seed. Do not edit the common inputs.
8
+ - Expose non-product testing hooks on window.__benchmark: reset('seed'|'empty') resets local data and renders; setSaveDelay(milliseconds) sets delay for later save operations; failNextSave() makes the next save fail exactly once; getState() returns a serializable snapshot including tasks. Default delay is 500 ms. Hooks are evaluator-only, not visible product controls.
9
+ - Document hook usage, exact state reproduction, local serving, checks, known limitations, and actual sources read in GENERATION_NOTES.md. Do not assign scores or claim rendered validation.
10
+ - Include empty, loading, failed-save and successful-save states. The evaluator will use the same viewports (390x844 and 1440x900), data and sequences. Decide the UI and interactions yourself from the brief.
11
+ - Save only your own application and notes. Do not inspect an existing implementation or another run's output. Do not modify repository tooling or knowledge files.