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.
- package/AGENTS.md +156 -0
- package/CHANGELOG.md +71 -0
- package/CODE_OF_CONDUCT.md +29 -0
- package/CONTRIBUTING.md +128 -0
- package/LICENSE +21 -0
- package/README.md +283 -0
- package/RELEASE_NOTES_v0.1.0.md +45 -0
- package/RELEASE_NOTES_v0.3.0.md +47 -0
- package/RELEASE_NOTES_v0.4.0.md +29 -0
- package/RELEASE_READINESS.md +107 -0
- package/ROADMAP.md +60 -0
- package/SECURITY.md +40 -0
- package/assets/logo.svg +9 -0
- package/benchmarks/README.md +19 -0
- package/benchmarks/chat.md +37 -0
- package/benchmarks/mobile-home-screen.md +38 -0
- package/benchmarks/notes-app.md +37 -0
- package/benchmarks/settings.md +37 -0
- package/benchmarks/shopping-list.md +37 -0
- package/benchmarks/todo-app.md +144 -0
- package/checklists/DESIGN_QA.md +102 -0
- package/checklists/GENERATED_INDEX.md +7 -0
- package/docs/AGENT_CONTEXT.md +111 -0
- package/docs/BENCHMARK.md +170 -0
- package/docs/DESIGNLINT_READINESS.md +110 -0
- package/docs/DESIGN_SYSTEM.md +23 -0
- package/docs/EVALUATION_RUBRIC.md +154 -0
- package/docs/GITHUB_SETUP.md +28 -0
- package/docs/GLOSSARY.md +45 -0
- package/docs/INDEX.md +109 -0
- package/docs/KNOWLEDGE_ENGINE.md +594 -0
- package/docs/MOBILE_FIRST.md +18 -0
- package/docs/NPM_RELEASE.md +43 -0
- package/docs/PATTERN_SPEC.md +113 -0
- package/docs/PHILOSOPHY.md +25 -0
- package/docs/PRODUCT_THINKING.md +26 -0
- package/docs/STYLE_GUIDE.md +49 -0
- package/docs/TRACEABILITY.md +45 -0
- package/evidence/README.md +64 -0
- package/evidence/TEMPLATE.md +46 -0
- package/evidence/chat/.gitkeep +1 -0
- package/evidence/mobile-home/.gitkeep +1 -0
- package/evidence/notes/.gitkeep +1 -0
- package/evidence/settings/.gitkeep +1 -0
- package/evidence/shopping/.gitkeep +1 -0
- package/evidence/todo/.gitkeep +1 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/EVALUATION.md +66 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/README.md +40 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/generated-output.md +163 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/metadata.json +38 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/notes.md +20 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/prompt.md +16 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/ai-design-rules/scores.md +18 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/baseline/generated-output.md +98 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/baseline/metadata.json +19 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/baseline/notes.md +19 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/baseline/prompt.md +9 -0
- package/evidence/todo/2026-06-25-codex-gpt-5/baseline/scores.md +18 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/EVALUATION.md +70 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/README.md +52 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/GENERATION_NOTES.md +133 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/app.js +289 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/context-preserving-preview.json +443 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/daily-home-surface.json +373 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/quick-capture.json +301 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/context/sources-read.txt +36 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/generated-output.md +11 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/index.html +64 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/launch-prompt.md +1 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/metadata.json +55 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/notes.md +15 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/parent-status-message.md +1 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/prompt.md +49 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/runtime-checks.json +776 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/scores.md +20 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-completed.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-default.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail-reduced-motion.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-detail.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-empty.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-keyboard-focus.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-save-error.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saved.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-saving.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/desktop-validation.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-completed.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-default.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail-reduced-motion.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-detail.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-empty.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-keyboard-focus.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-save-error.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saved.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-saving.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/screenshots/mobile-validation.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/source-hashes.json +5 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/ai-design-rules/styles.css +122 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/GENERATION_NOTES.md +86 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/app.js +303 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/generated-output.md +11 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/index.html +71 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/launch-prompt.md +1 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/metadata.json +55 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/notes.md +15 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/parent-status-message.md +1 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/prompt.md +49 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/runtime-checks.json +772 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/scores.md +20 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-completed.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-default.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail-reduced-motion.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-detail.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-empty.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-keyboard-focus.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-save-error.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saved.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-saving.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/desktop-validation.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-completed.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-default.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail-reduced-motion.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-detail.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-empty.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-keyboard-focus.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-save-error.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saved.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-saving.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/screenshots/mobile-validation.png +0 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/source-hashes.json +5 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/baseline/styles.css +9 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/capture-ai-design-rules.js +60 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/capture-baseline.js +60 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/brief.md +35 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge-files.json +127 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/knowledge.patch +890 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/review-context.json +550 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/seed.json +86 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/setup.json +47 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/common/technical-envelope.md +11 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/layout-metrics.json +133 -0
- package/evidence/todo/2026-09-28-codex-paired-todo/layout-probe.js +15 -0
- package/examples/GENERATED_INDEX.md +8 -0
- package/examples/INDEX.md +16 -0
- package/examples/README.md +15 -0
- package/examples/consequential-action-confirmation-reference.md +83 -0
- package/examples/todo-app-benchmark.md +117 -0
- package/examples/todo-reference/README.md +29 -0
- package/examples/todo-reference/app.js +154 -0
- package/examples/todo-reference/favicon.svg +4 -0
- package/examples/todo-reference/index.html +67 -0
- package/examples/todo-reference/review-evidence/2026-07-15/desktop-default.png +0 -0
- package/examples/todo-reference/review-evidence/2026-07-15/desktop-detail.png +0 -0
- package/examples/todo-reference/review-evidence/2026-07-15/mobile-detail.png +0 -0
- package/examples/todo-reference/review-evidence/2026-07-15/mobile-error.png +0 -0
- package/examples/todo-reference/styles.css +241 -0
- package/graph/GENERATED_GRAPH.md +71 -0
- package/observations/README.md +23 -0
- package/observations/accessibility/reduced-interaction-motion.md +49 -0
- package/observations/accessibility/textual-error-recovery.md +50 -0
- package/observations/accessibility/visible-keyboard-focus.md +49 -0
- package/observations/ai/agent-consequential-action-controls.md +56 -0
- package/observations/ai/agent-work-visibility-and-intervention.md +51 -0
- package/observations/ai/figma-agent-context-and-skills.md +52 -0
- package/observations/finance/high-risk-wallet-recovery-flows.md +55 -0
- package/observations/finance/market-interface-adaptive-trading-surfaces.md +55 -0
- package/observations/interaction/chrome-scoped-view-transitions.md +52 -0
- package/observations/interaction/figma-motion-as-system-capability.md +53 -0
- package/observations/mobile/mobile-bottom-sheet-choice-contracts.md +55 -0
- package/observations/performance/reserved-loading-space.md +51 -0
- package/observations/product-repos/pinned-ai-design-rules-integration.md +49 -0
- package/observations/visual/apple-liquid-glass-functional-layer.md +52 -0
- package/observations/visual/chrome-content-first-adaptive-ui.md +51 -0
- package/observations/visual/material-3-expressive-system.md +52 -0
- package/package.json +65 -0
- package/patterns/GENERATED_INDEX.md +13 -0
- package/patterns/INDEX.md +41 -0
- package/patterns/README.md +5 -0
- package/patterns/consequential-action-confirmation.md +127 -0
- package/patterns/context-preserving-preview.md +145 -0
- package/patterns/daily-home-surface.md +134 -0
- package/patterns/mobile-primary-action.md +110 -0
- package/patterns/object-status-list.md +114 -0
- package/patterns/progressive-detail.md +113 -0
- package/patterns/quick-capture.md +132 -0
- package/prompts/CONSEQUENTIAL_ACTION_REVIEW.md +100 -0
- package/prompts/DESIGN_EVIDENCE_REVIEW.md +49 -0
- package/prompts/GENERATED_INDEX.md +11 -0
- package/prompts/INDEX.md +24 -0
- package/prompts/PROTOTYPE_REVIEW.md +189 -0
- package/prompts/QUICK_CAPTURE_STATE_REVIEW.md +74 -0
- package/prompts/TODO_APP_BENCHMARK.md +88 -0
- package/registry/objects.json +568 -0
- package/registry/relationships.json +972 -0
- package/research/GENERATED_INDEX.md +18 -0
- package/research/INDEX.md +40 -0
- package/research/accessibility/keyboard-focus-and-interaction-motion.md +62 -0
- package/research/accessibility/textual-error-recovery.md +57 -0
- package/research/performance/reserved-loading-space.md +56 -0
- package/research/products/apple-reminders.md +59 -0
- package/research/products/arc.md +61 -0
- package/research/products/linear.md +62 -0
- package/research/products/telegram.md +61 -0
- package/research/products/things-3.md +60 -0
- package/research/ux/contextual-agentic-interface.md +68 -0
- package/research/ux/high-risk-operational-flows.md +89 -0
- package/research/ux/motion-as-state-continuity.md +71 -0
- package/research/visual/expressive-system-ui-2026.md +75 -0
- package/reviews/GENERATED_INDEX.md +9 -0
- package/reviews/README.md +25 -0
- package/reviews/consequential-action-confirmation-review.md +92 -0
- package/reviews/todo-app-benchmark-reference-review.md +86 -0
- package/reviews/todo-reference-fixture-review.md +77 -0
- package/rules/GENERATED_INDEX.md +23 -0
- package/rules/INDEX.md +37 -0
- package/rules/accessibility/A11Y-001.md +58 -0
- package/rules/accessibility/A11Y-002.md +55 -0
- package/rules/accessibility/A11Y-003.md +54 -0
- package/rules/accessibility/A11Y-004.md +54 -0
- package/rules/ia/IA-001.md +60 -0
- package/rules/ia/IA-002.md +61 -0
- package/rules/performance/PERF-001.md +55 -0
- package/rules/product/PRD-001.md +61 -0
- package/rules/product/PRD-002.md +61 -0
- package/rules/ux/UX-001.md +58 -0
- package/rules/ux/UX-002.md +61 -0
- package/rules/ux/UX-003.md +60 -0
- package/rules/ux/UX-004.md +61 -0
- package/rules/ux/UX-005.md +62 -0
- package/rules/ux/UX-006.md +69 -0
- package/rules/visual/VIS-001.md +59 -0
- package/rules/visual/VIS-002.md +59 -0
- package/schema/checklist.schema.json +21 -0
- package/schema/common.schema.json +178 -0
- package/schema/observation.schema.json +21 -0
- package/schema/pattern.schema.json +21 -0
- package/schema/prompt.schema.json +21 -0
- package/schema/reference-project.schema.json +21 -0
- package/schema/research.schema.json +21 -0
- package/schema/review.schema.json +21 -0
- package/schema/rule.schema.json +21 -0
- package/skills/README.md +48 -0
- package/skills/accessibility-reviewer/SKILL.md +101 -0
- package/skills/agent-context/SKILL.md +34 -0
- package/skills/agent-context/agents/openai.yaml +4 -0
- package/skills/design-evidence-researcher/SKILL.md +47 -0
- package/skills/design-evidence-researcher/agents/openai.yaml +4 -0
- package/skills/design-reviewer/SKILL.md +113 -0
- package/skills/design-system-architect/SKILL.md +101 -0
- package/skills/information-architect/SKILL.md +97 -0
- package/skills/interaction-designer/SKILL.md +104 -0
- package/skills/knowledge-graph-architect/SKILL.md +96 -0
- package/skills/mobile-ux-expert/SKILL.md +105 -0
- package/skills/motion-designer/SKILL.md +100 -0
- package/skills/performance-reviewer/SKILL.md +97 -0
- package/skills/product-designer/SKILL.md +104 -0
- package/skills/prompt-architect/SKILL.md +105 -0
- package/skills/reference-driven-design/SKILL.md +119 -0
- package/skills/ux-reviewer/SKILL.md +99 -0
- package/skills/visual-designer/SKILL.md +107 -0
- package/starter-kit/AGENTS.md +37 -0
- package/starter-kit/BOOTSTRAP.md +13 -0
- package/starter-kit/INSTALL_WITH_AGENT.md +133 -0
- package/starter-kit/PROJECT_INTEGRATION.md +60 -0
- package/starter-kit/README.md +41 -0
- package/starter-kit/benchmarks/BENCHMARK_CHECKLIST.md +10 -0
- package/starter-kit/docs/DESIGN_DECISIONS.md +22 -0
- package/starter-kit/docs/INFORMATION_ARCHITECTURE.md +25 -0
- package/starter-kit/docs/PERSONAS.md +14 -0
- package/starter-kit/docs/PRD.md +32 -0
- package/starter-kit/docs/USER_FLOWS.md +19 -0
- package/starter-kit/reviews/DESIGN_REVIEW.md +49 -0
- package/starter-kit/templates/FEATURE_TEMPLATE.md +36 -0
- package/starter-kit/templates/TASK_TEMPLATE.md +22 -0
- package/templates/CHECKLIST_TEMPLATE.md +43 -0
- package/templates/OBSERVATION_TEMPLATE.md +41 -0
- package/templates/PATTERN_TEMPLATE.md +100 -0
- package/templates/PROMPT_TEMPLATE.md +46 -0
- package/templates/PROTOTYPE_REVIEW.md +50 -0
- package/templates/REFERENCE_PROJECT_TEMPLATE.md +49 -0
- package/templates/REVIEW_TEMPLATE.md +55 -0
- package/templates/RULE_TEMPLATE.md +57 -0
- package/tools/cli.mjs +46 -0
- package/tools/context.mjs +342 -0
- package/tools/designlint.mjs +77 -0
- package/tools/generate-indexes.mjs +621 -0
- package/tools/init.mjs +99 -0
- package/tools/validate-benchmark-evidence.mjs +248 -0
- package/tools/validate-knowledge.mjs +481 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-00015
|
|
3
|
+
alias: UX-004
|
|
4
|
+
slug: use-motion-to-explain-state-continuity
|
|
5
|
+
title: Use Motion To Explain State Continuity
|
|
6
|
+
object_type: rule
|
|
7
|
+
status: draft
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
category: ux
|
|
10
|
+
tags:
|
|
11
|
+
- ux
|
|
12
|
+
- motion
|
|
13
|
+
- continuity
|
|
14
|
+
maturity: seed
|
|
15
|
+
risk_level: high
|
|
16
|
+
relationships:
|
|
17
|
+
- type: derived_from
|
|
18
|
+
target: RESEARCH-00010
|
|
19
|
+
- type: related_to
|
|
20
|
+
target: RULE-00007
|
|
21
|
+
- type: related_to
|
|
22
|
+
target: RULE-00013
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# UX-004 Use Motion To Explain State Continuity
|
|
26
|
+
|
|
27
|
+
Status: Draft
|
|
28
|
+
Domain: UX
|
|
29
|
+
|
|
30
|
+
## Source Research
|
|
31
|
+
|
|
32
|
+
- `research/ux/motion-as-state-continuity.md`
|
|
33
|
+
|
|
34
|
+
## Why
|
|
35
|
+
|
|
36
|
+
Users can lose orientation when objects change state, location, or level of detail. Purposeful motion can connect the before and after states, but generic animation adds delay and accessibility risk.
|
|
37
|
+
|
|
38
|
+
## Rule
|
|
39
|
+
|
|
40
|
+
Use motion only when it explains the continuity of an object, state, or navigation context. Define its start state, end state, reusable motion role, reduced-motion behavior, and unsupported-platform fallback.
|
|
41
|
+
|
|
42
|
+
## Good
|
|
43
|
+
|
|
44
|
+
- A selected item visibly becomes its detail surface while the source context remains understandable.
|
|
45
|
+
- Insert, remove, reorder, expand, and collapse transitions clarify what changed.
|
|
46
|
+
- Repeated transitions use named timing and easing roles.
|
|
47
|
+
- Reduced motion reaches the same end state with the same focus and information.
|
|
48
|
+
|
|
49
|
+
## Bad
|
|
50
|
+
|
|
51
|
+
- Elements animate because the screen should feel more modern.
|
|
52
|
+
- Motion delays a primary action or prevents unrelated interaction.
|
|
53
|
+
- Every component uses unrelated durations or easing.
|
|
54
|
+
- The transition is required to understand success, error, or navigation.
|
|
55
|
+
|
|
56
|
+
## Review
|
|
57
|
+
|
|
58
|
+
- State the orientation problem the motion solves.
|
|
59
|
+
- Verify start, end, focus, interruption, and reduced-motion behavior.
|
|
60
|
+
- Confirm loading and error feedback remain available without animation.
|
|
61
|
+
- Check support and progressive fallback for any platform-specific API.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-00016
|
|
3
|
+
alias: UX-005
|
|
4
|
+
slug: expose-agent-work-and-intervention
|
|
5
|
+
title: Expose Agent Work And Intervention
|
|
6
|
+
object_type: rule
|
|
7
|
+
status: draft
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
category: ux
|
|
10
|
+
tags:
|
|
11
|
+
- ux
|
|
12
|
+
- ai
|
|
13
|
+
- agentic-ui
|
|
14
|
+
- trust
|
|
15
|
+
maturity: seed
|
|
16
|
+
risk_level: high
|
|
17
|
+
relationships:
|
|
18
|
+
- type: derived_from
|
|
19
|
+
target: RESEARCH-00011
|
|
20
|
+
- type: related_to
|
|
21
|
+
target: RULE-00004
|
|
22
|
+
- type: related_to
|
|
23
|
+
target: RULE-00007
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# UX-005 Expose Agent Work And Intervention
|
|
27
|
+
|
|
28
|
+
Status: Draft
|
|
29
|
+
Domain: UX
|
|
30
|
+
|
|
31
|
+
## Source Research
|
|
32
|
+
|
|
33
|
+
- `research/ux/contextual-agentic-interface.md`
|
|
34
|
+
|
|
35
|
+
## Why
|
|
36
|
+
|
|
37
|
+
For delegated or long-running work, a prompt thread alone does not reliably communicate progress, scope, required input, or recovery. Users need enough observable state to supervise outcomes without managing every internal step.
|
|
38
|
+
|
|
39
|
+
## Rule
|
|
40
|
+
|
|
41
|
+
When an agent performs delegated, long-running, or interruptible work, expose its user-relevant status, scope, result, and intervention points outside transient conversational output.
|
|
42
|
+
|
|
43
|
+
## Good
|
|
44
|
+
|
|
45
|
+
- Work distinguishes queued, active, blocked, review-ready, complete, failed, and cancelled states when applicable.
|
|
46
|
+
- The user can inspect sources, scope, output, and the next required decision.
|
|
47
|
+
- Risk-appropriate cancel, retry, edit, or review actions are available.
|
|
48
|
+
- The primary product goal stays more prominent than agent mechanics.
|
|
49
|
+
|
|
50
|
+
## Bad
|
|
51
|
+
|
|
52
|
+
- A loading message is the only record of a long-running task.
|
|
53
|
+
- Users cannot tell whether work is active, blocked, complete, or failed.
|
|
54
|
+
- The interface exposes internal reasoning instead of actionable state.
|
|
55
|
+
- Agent controls dominate an otherwise simple instant action.
|
|
56
|
+
|
|
57
|
+
## Review
|
|
58
|
+
|
|
59
|
+
- List the actual lifecycle states for the delegated work.
|
|
60
|
+
- Verify that status and next action remain visible after leaving the chat.
|
|
61
|
+
- Test failure, cancellation, retry, and human-input paths.
|
|
62
|
+
- Confirm the interface reveals useful evidence without exposing sensitive or irrelevant internals.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-00017
|
|
3
|
+
alias: UX-006
|
|
4
|
+
slug: confirm-consequential-actions-with-preserved-context
|
|
5
|
+
title: Confirm Consequential Actions With Preserved Context
|
|
6
|
+
object_type: rule
|
|
7
|
+
status: active
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
category: ux
|
|
10
|
+
tags:
|
|
11
|
+
- ux
|
|
12
|
+
- finance
|
|
13
|
+
- ai
|
|
14
|
+
- confirmation
|
|
15
|
+
- recovery
|
|
16
|
+
maturity: validated
|
|
17
|
+
risk_level: high
|
|
18
|
+
last_reviewed_at: 2026-08-12
|
|
19
|
+
relationships:
|
|
20
|
+
- type: derived_from
|
|
21
|
+
target: RESEARCH-00012
|
|
22
|
+
- type: related_to
|
|
23
|
+
target: RULE-00007
|
|
24
|
+
- type: related_to
|
|
25
|
+
target: RULE-00010
|
|
26
|
+
- type: related_to
|
|
27
|
+
target: RULE-00016
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# UX-006 Confirm Consequential Actions With Preserved Context
|
|
31
|
+
|
|
32
|
+
Status: Draft
|
|
33
|
+
Domain: UX
|
|
34
|
+
|
|
35
|
+
## Source Research
|
|
36
|
+
|
|
37
|
+
- `research/ux/high-risk-operational-flows.md`
|
|
38
|
+
|
|
39
|
+
## Why
|
|
40
|
+
|
|
41
|
+
When an action can move money, change account access, publish externally, delete durable data, or let an agent act on the user's behalf, users need to verify the exact consequence without losing the context that made the action meaningful.
|
|
42
|
+
|
|
43
|
+
## Rule
|
|
44
|
+
|
|
45
|
+
Before executing a consequential action, show a risk-proportional confirmation or challenge state that preserves the acted-on object, critical inputs, side effects, reversibility, and recovery path.
|
|
46
|
+
|
|
47
|
+
## Good
|
|
48
|
+
|
|
49
|
+
- The confirmation keeps the object, amount, recipient, destination, scope, or selected records visible.
|
|
50
|
+
- A server-requested challenge adds only the missing confirmation field while preserving entered data.
|
|
51
|
+
- The user can still cancel, edit critical inputs, or understand what happens next.
|
|
52
|
+
- User-facing copy explains the consequence and recovery path without raw backend codes.
|
|
53
|
+
- Agentic actions with real-world side effects require explicit approval and remain interruptible.
|
|
54
|
+
|
|
55
|
+
## Bad
|
|
56
|
+
|
|
57
|
+
- A generic modal asks "Are you sure?" while hiding the object and side effects.
|
|
58
|
+
- A failed 2FA, KYC, passkey, or agent approval restarts the entire flow unnecessarily.
|
|
59
|
+
- The UI shows technical backend codes instead of actionable product language.
|
|
60
|
+
- A low-risk reversible action gets the same heavy ceremony as a money movement.
|
|
61
|
+
- The agent proceeds with an external side effect because the user gave a broad initial instruction.
|
|
62
|
+
|
|
63
|
+
## Review
|
|
64
|
+
|
|
65
|
+
- Identify the actual consequence, reversibility, and affected object.
|
|
66
|
+
- Verify that critical context remains visible in confirmation, challenge, error, and retry states.
|
|
67
|
+
- Check cancel, edit, retry, and success paths.
|
|
68
|
+
- Confirm the recovery state asks only for the missing information.
|
|
69
|
+
- For agentic work, verify approval, interruption, and audit evidence before execution.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-00008
|
|
3
|
+
alias: VIS-001
|
|
4
|
+
slug: semantic-tokens-only
|
|
5
|
+
title: Semantic Tokens Only
|
|
6
|
+
object_type: rule
|
|
7
|
+
status: draft
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
category: visual
|
|
10
|
+
tags:
|
|
11
|
+
- visual
|
|
12
|
+
- tokens
|
|
13
|
+
maturity: seed
|
|
14
|
+
risk_level: medium
|
|
15
|
+
relationships:
|
|
16
|
+
- type: derived_from
|
|
17
|
+
target: RESEARCH-00004
|
|
18
|
+
- type: derived_from
|
|
19
|
+
target: RESEARCH-00002
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# VIS-001 Semantic Tokens Only
|
|
23
|
+
|
|
24
|
+
Status: Draft
|
|
25
|
+
Domain: Visual
|
|
26
|
+
|
|
27
|
+
## Source Research
|
|
28
|
+
|
|
29
|
+
- `research/products/linear.md`
|
|
30
|
+
- `research/products/things-3.md`
|
|
31
|
+
|
|
32
|
+
## Why
|
|
33
|
+
|
|
34
|
+
Visual consistency becomes fragile when agents choose one-off colors and spacing values. Semantic tokens preserve meaning across states, themes, and repeated surfaces.
|
|
35
|
+
|
|
36
|
+
## Rule
|
|
37
|
+
|
|
38
|
+
Use semantic tokens for color, spacing, typography, and state styling instead of raw one-off values.
|
|
39
|
+
|
|
40
|
+
## Good
|
|
41
|
+
|
|
42
|
+
- Color names describe purpose, such as text, surface, border, accent, success, warning, danger.
|
|
43
|
+
- Spacing follows existing scale values.
|
|
44
|
+
- Status colors carry the same meaning across screens.
|
|
45
|
+
- New styles reuse existing tokens before adding new ones.
|
|
46
|
+
|
|
47
|
+
## Bad
|
|
48
|
+
|
|
49
|
+
- Similar states use unrelated colors.
|
|
50
|
+
- Hex values are added directly to many components.
|
|
51
|
+
- A visual change requires editing unrelated screens one by one.
|
|
52
|
+
- Status colors change meaning by page.
|
|
53
|
+
|
|
54
|
+
## Review
|
|
55
|
+
|
|
56
|
+
- Search for raw colors and one-off spacing.
|
|
57
|
+
- Confirm each visual value maps to a semantic purpose.
|
|
58
|
+
- Check light and dark themes if they exist.
|
|
59
|
+
- Check whether status color meaning stays stable across the product.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RULE-00014
|
|
3
|
+
alias: VIS-002
|
|
4
|
+
slug: keep-expression-subordinate-to-content
|
|
5
|
+
title: Keep Expression Subordinate To Content
|
|
6
|
+
object_type: rule
|
|
7
|
+
status: draft
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
category: visual
|
|
10
|
+
tags:
|
|
11
|
+
- visual
|
|
12
|
+
- hierarchy
|
|
13
|
+
- expressive-design
|
|
14
|
+
maturity: seed
|
|
15
|
+
risk_level: medium
|
|
16
|
+
relationships:
|
|
17
|
+
- type: derived_from
|
|
18
|
+
target: RESEARCH-00009
|
|
19
|
+
- type: related_to
|
|
20
|
+
target: RULE-00008
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# VIS-002 Keep Expression Subordinate To Content
|
|
24
|
+
|
|
25
|
+
Status: Draft
|
|
26
|
+
Domain: Visual
|
|
27
|
+
|
|
28
|
+
## Source Research
|
|
29
|
+
|
|
30
|
+
- `research/visual/expressive-system-ui-2026.md`
|
|
31
|
+
|
|
32
|
+
## Why
|
|
33
|
+
|
|
34
|
+
Materials, strong shapes, color, typography, and depth can create product identity, but equal or excessive emphasis obscures content and primary actions. Modern platform systems use expression selectively and preserve semantic hierarchy.
|
|
35
|
+
|
|
36
|
+
## Rule
|
|
37
|
+
|
|
38
|
+
Use the strongest expressive treatment only where it clarifies functional hierarchy, primary emphasis, or product identity. Keep core content readable and dominant, and encode repeated expression through semantic system roles.
|
|
39
|
+
|
|
40
|
+
## Good
|
|
41
|
+
|
|
42
|
+
- Navigation and controls are visually distinct from the content they operate on.
|
|
43
|
+
- One focal treatment identifies the primary action or important state.
|
|
44
|
+
- Typography, shape, material, color, and depth use reusable semantic roles.
|
|
45
|
+
- The interface remains understandable when transparency, motion, or decorative effects are reduced.
|
|
46
|
+
|
|
47
|
+
## Bad
|
|
48
|
+
|
|
49
|
+
- Every card, control, and background uses the same strong material or effect.
|
|
50
|
+
- Glass, gradients, shadows, or unusual shapes compete with reading and task completion.
|
|
51
|
+
- A platform-specific effect is copied to unrelated platforms without fallback.
|
|
52
|
+
- Removing decorative effects collapses hierarchy or hides the primary action.
|
|
53
|
+
|
|
54
|
+
## Review
|
|
55
|
+
|
|
56
|
+
- Identify the content layer, functional layer, focal accent, and quiet supporting surfaces.
|
|
57
|
+
- Temporarily remove decorative effects and confirm content order and primary action remain clear.
|
|
58
|
+
- Check high contrast, reduced transparency, and reduced motion where relevant.
|
|
59
|
+
- Confirm repeated visual decisions map to semantic tokens or component roles.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/checklist.schema.json",
|
|
4
|
+
"title": "Checklist",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^CHECK-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "checklist"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/common.schema.json",
|
|
4
|
+
"title": "AI Design Context Common Metadata",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": true,
|
|
7
|
+
"properties": {
|
|
8
|
+
"id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"pattern": "^(OBS|RESEARCH|RULE|PAT|PROMPT|SKILL|REVIEW|CHECK|REF)-[0-9]{5}$"
|
|
11
|
+
},
|
|
12
|
+
"alias": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"slug": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
18
|
+
},
|
|
19
|
+
"title": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1
|
|
22
|
+
},
|
|
23
|
+
"object_type": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"observation",
|
|
27
|
+
"research",
|
|
28
|
+
"rule",
|
|
29
|
+
"pattern",
|
|
30
|
+
"prompt",
|
|
31
|
+
"skill",
|
|
32
|
+
"review",
|
|
33
|
+
"checklist",
|
|
34
|
+
"reference_project"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"status": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"draft",
|
|
41
|
+
"active",
|
|
42
|
+
"deprecated",
|
|
43
|
+
"superseded"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"version": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
|
|
49
|
+
},
|
|
50
|
+
"category": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"tags": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
"uniqueItems": true
|
|
59
|
+
},
|
|
60
|
+
"created_at": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"format": "date"
|
|
63
|
+
},
|
|
64
|
+
"updated_at": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"format": "date"
|
|
67
|
+
},
|
|
68
|
+
"last_reviewed_at": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"format": "date"
|
|
71
|
+
},
|
|
72
|
+
"owner": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"maturity": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"enum": [
|
|
78
|
+
"seed",
|
|
79
|
+
"reviewed",
|
|
80
|
+
"validated",
|
|
81
|
+
"canonical"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"risk_level": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"enum": [
|
|
87
|
+
"low",
|
|
88
|
+
"medium",
|
|
89
|
+
"high",
|
|
90
|
+
"critical"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"platform": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
},
|
|
98
|
+
"uniqueItems": true
|
|
99
|
+
},
|
|
100
|
+
"product_type": {
|
|
101
|
+
"type": "array",
|
|
102
|
+
"items": {
|
|
103
|
+
"type": "string"
|
|
104
|
+
},
|
|
105
|
+
"uniqueItems": true
|
|
106
|
+
},
|
|
107
|
+
"surface": {
|
|
108
|
+
"type": "array",
|
|
109
|
+
"items": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"uniqueItems": true
|
|
113
|
+
},
|
|
114
|
+
"applies_to": {
|
|
115
|
+
"type": "array",
|
|
116
|
+
"items": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
},
|
|
119
|
+
"uniqueItems": true
|
|
120
|
+
},
|
|
121
|
+
"does_not_apply_to": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"items": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"uniqueItems": true
|
|
127
|
+
},
|
|
128
|
+
"relationships": {
|
|
129
|
+
"type": "array",
|
|
130
|
+
"items": {
|
|
131
|
+
"$ref": "#/$defs/relationship"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"required": [
|
|
136
|
+
"id",
|
|
137
|
+
"slug",
|
|
138
|
+
"title",
|
|
139
|
+
"object_type",
|
|
140
|
+
"status",
|
|
141
|
+
"version",
|
|
142
|
+
"category",
|
|
143
|
+
"relationships"
|
|
144
|
+
],
|
|
145
|
+
"$defs": {
|
|
146
|
+
"relationship": {
|
|
147
|
+
"type": "object",
|
|
148
|
+
"additionalProperties": false,
|
|
149
|
+
"properties": {
|
|
150
|
+
"type": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"enum": [
|
|
153
|
+
"derived_from",
|
|
154
|
+
"cites",
|
|
155
|
+
"inspired_by",
|
|
156
|
+
"requires",
|
|
157
|
+
"validates",
|
|
158
|
+
"implements",
|
|
159
|
+
"related_to",
|
|
160
|
+
"supersedes",
|
|
161
|
+
"deprecated_by",
|
|
162
|
+
"replaced_by"
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
"target": {
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
"note": {
|
|
169
|
+
"type": "string"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"required": [
|
|
173
|
+
"type",
|
|
174
|
+
"target"
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/observation.schema.json",
|
|
4
|
+
"title": "Observation",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^OBS-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "observation"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/pattern.schema.json",
|
|
4
|
+
"title": "Pattern",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^PAT-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "pattern"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/prompt.schema.json",
|
|
4
|
+
"title": "Prompt",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^PROMPT-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "prompt"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/reference-project.schema.json",
|
|
4
|
+
"title": "Reference Project",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^REF-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "reference_project"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/research.schema.json",
|
|
4
|
+
"title": "Research",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^RESEARCH-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "research"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/review.schema.json",
|
|
4
|
+
"title": "Review",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^REVIEW-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "review"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://ai-design-rules.dev/schema/rule.schema.json",
|
|
4
|
+
"title": "Rule",
|
|
5
|
+
"allOf": [
|
|
6
|
+
{
|
|
7
|
+
"$ref": "./common.schema.json"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"pattern": "^RULE-[0-9]{5}$"
|
|
14
|
+
},
|
|
15
|
+
"object_type": {
|
|
16
|
+
"const": "rule"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|