qfai 1.7.8 → 1.7.13

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 (150) hide show
  1. package/README.md +34 -70
  2. package/assets/init/.qfai/README.md +11 -16
  3. package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +51 -0
  4. package/assets/init/.qfai/assistant/agents/architecture-reviewer.md +57 -0
  5. package/assets/init/.qfai/assistant/agents/backend-engineer.md +40 -31
  6. package/assets/init/.qfai/assistant/agents/completion-reviewer.md +48 -0
  7. package/assets/init/.qfai/assistant/agents/delivery-planner.md +52 -0
  8. package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +31 -28
  9. package/assets/init/.qfai/assistant/agents/discovery-analyst.md +50 -0
  10. package/assets/init/.qfai/assistant/agents/doc-steward.md +30 -20
  11. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +40 -31
  12. package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +58 -0
  13. package/assets/init/.qfai/assistant/agents/orchestrator.md +19 -2
  14. package/assets/init/.qfai/assistant/agents/product-experience-architect.md +59 -0
  15. package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +60 -0
  16. package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +53 -48
  17. package/assets/init/.qfai/assistant/agents/qa-strategist.md +49 -0
  18. package/assets/init/.qfai/assistant/agents/requirements-analyst.md +32 -29
  19. package/assets/init/.qfai/assistant/agents/requirements-reviewer.md +48 -0
  20. package/assets/init/.qfai/assistant/agents/solution-architect.md +59 -0
  21. package/assets/init/.qfai/assistant/agents/test-design-analyst.md +64 -0
  22. package/assets/init/.qfai/assistant/instructions/agent-selection.md +64 -50
  23. package/assets/init/.qfai/assistant/instructions/communication.md +17 -0
  24. package/assets/init/.qfai/assistant/instructions/constitution.md +36 -1
  25. package/assets/init/.qfai/assistant/instructions/drift-protocol.md +1 -1
  26. package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +20 -13
  27. package/assets/init/.qfai/assistant/instructions/workflow.md +2 -1
  28. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +32 -31
  29. package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +80 -0
  30. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +21 -15
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +95 -61
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +17 -85
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
  35. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +17 -60
  36. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +69 -2
  37. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +1 -1
  38. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
  39. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +1 -1
  40. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
  41. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
  42. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
  43. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +1 -1
  44. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +25 -16
  45. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
  46. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +9 -0
  47. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +8 -4
  48. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +11 -7
  49. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +6 -44
  50. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +29 -14
  51. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +20 -0
  52. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +45 -0
  53. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +68 -0
  54. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +68 -0
  55. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +68 -0
  56. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +41 -0
  57. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +28 -0
  58. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +56 -0
  59. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +42 -0
  60. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +44 -0
  61. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +36 -0
  62. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +65 -67
  63. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +188 -267
  64. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +91 -57
  65. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +21 -80
  66. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/import-lite.md +1 -1
  67. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +50 -0
  68. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +23 -3
  69. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +25 -17
  70. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +194 -0
  71. package/assets/init/.qfai/assistant/steering/agent-routing.yml +176 -0
  72. package/assets/init/.qfai/assistant/steering/cli-ux-guidelines.md +49 -0
  73. package/assets/init/.qfai/assistant/steering/manifest.md +44 -19
  74. package/assets/init/.qfai/assistant/steering/product.md +53 -11
  75. package/assets/init/.qfai/assistant/steering/research-first-protocol.md +58 -0
  76. package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +17 -66
  77. package/assets/init/.qfai/assistant/steering/review-profiles.yml +30 -0
  78. package/assets/init/.qfai/assistant/steering/structure.md +30 -16
  79. package/assets/init/.qfai/assistant/steering/tech.md +37 -21
  80. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +54 -0
  81. package/assets/init/.qfai/contracts/README.md +10 -4
  82. package/assets/init/.qfai/contracts/design/README.md +32 -0
  83. package/assets/init/.qfai/contracts/ui/README.md +5 -3
  84. package/assets/init/.qfai/discussion/README.md +52 -5
  85. package/assets/init/.qfai/evidence/README.md +143 -116
  86. package/assets/init/.qfai/report/README.md +1 -1
  87. package/assets/init/.qfai/review/README.md +24 -9
  88. package/assets/init/.qfai/specs/README.md +5 -2
  89. package/assets/init/root/qfai.config.yaml +13 -0
  90. package/assets/uix-rev/comparison-review.md +24 -7
  91. package/assets/uix-rev/contracts-review.md +17 -10
  92. package/assets/uix-rev/scoring-review.md +42 -6
  93. package/assets/uix-rev/strategy-review.md +13 -9
  94. package/dist/cli/index.cjs +15646 -11383
  95. package/dist/cli/index.cjs.map +1 -1
  96. package/dist/cli/index.mjs +10846 -6582
  97. package/dist/cli/index.mjs.map +1 -1
  98. package/dist/index.cjs +10885 -6287
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.cts +766 -198
  101. package/dist/index.d.ts +766 -198
  102. package/dist/index.mjs +10858 -6263
  103. package/dist/index.mjs.map +1 -1
  104. package/package.json +11 -3
  105. package/assets/init/.qfai/assistant/agents/architect-reviewer.md +0 -65
  106. package/assets/init/.qfai/assistant/agents/architect.md +0 -49
  107. package/assets/init/.qfai/assistant/agents/atdd-api-implementer.md +0 -49
  108. package/assets/init/.qfai/assistant/agents/atdd-e2e-implementer.md +0 -48
  109. package/assets/init/.qfai/assistant/agents/atdd-integration-implementer.md +0 -48
  110. package/assets/init/.qfai/assistant/agents/backend-reviewer.md +0 -66
  111. package/assets/init/.qfai/assistant/agents/code-reviewer.md +0 -67
  112. package/assets/init/.qfai/assistant/agents/contract-designer.md +0 -49
  113. package/assets/init/.qfai/assistant/agents/coverage-planner.md +0 -49
  114. package/assets/init/.qfai/assistant/agents/design-owner.md +0 -48
  115. package/assets/init/.qfai/assistant/agents/design-review-lead.md +0 -68
  116. package/assets/init/.qfai/assistant/agents/facilitator.md +0 -48
  117. package/assets/init/.qfai/assistant/agents/frontend-reviewer.md +0 -66
  118. package/assets/init/.qfai/assistant/agents/interviewer.md +0 -45
  119. package/assets/init/.qfai/assistant/agents/option-explorer.md +0 -51
  120. package/assets/init/.qfai/assistant/agents/option-reviewer.md +0 -66
  121. package/assets/init/.qfai/assistant/agents/oq-harvester.md +0 -50
  122. package/assets/init/.qfai/assistant/agents/oq-reviewer.md +0 -70
  123. package/assets/init/.qfai/assistant/agents/planner.md +0 -48
  124. package/assets/init/.qfai/assistant/agents/project-lead.md +0 -47
  125. package/assets/init/.qfai/assistant/agents/prototyping-coverage-auditor.md +0 -46
  126. package/assets/init/.qfai/assistant/agents/qa-engineer.md +0 -47
  127. package/assets/init/.qfai/assistant/agents/qa-lead.md +0 -44
  128. package/assets/init/.qfai/assistant/agents/qa-reviewer.md +0 -66
  129. package/assets/init/.qfai/assistant/agents/researcher.md +0 -47
  130. package/assets/init/.qfai/assistant/agents/reviewer.md +0 -62
  131. package/assets/init/.qfai/assistant/agents/runtime-gatekeeper.md +0 -46
  132. package/assets/init/.qfai/assistant/agents/test-case-owner.md +0 -53
  133. package/assets/init/.qfai/assistant/agents/test-engineer.md +0 -50
  134. package/assets/init/.qfai/assistant/agents/test-volume-estimator.md +0 -48
  135. package/assets/init/.qfai/assistant/agents/ui-ux-reviewer.md +0 -71
  136. package/assets/init/.qfai/assistant/agents/unit-test-scope-enforcer.md +0 -46
  137. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +0 -28
  138. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +0 -31
  139. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +0 -31
  140. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +0 -31
  141. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +0 -56
  142. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +0 -45
  143. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +0 -27
  144. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +0 -51
  145. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +0 -31
  146. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +0 -23
  147. package/assets/init/.qfai/assistant/steering/review-roster.yml +0 -128
  148. package/assets/init/.qfai/evidence/.gitignore +0 -3
  149. package/assets/init/.qfai/report/.gitignore +0 -3
  150. package/assets/init/.qfai/review/.gitignore +0 -5
@@ -6,20 +6,35 @@ Manifest of all UI/UX sidecar artifacts produced during a UI-bearing discussion.
6
6
 
7
7
  ## File Inventory
8
8
 
9
- | File | Purpose | Required |
10
- | ----------------------------- | -------------------------------------- | -------- |
11
- | 00_index.md | This manifest | Yes |
12
- | 10_strategy.md | Implementation strategy (YAML) | Yes |
13
- | 20_eval_axis_usability.md | Usability evaluation axis | Yes |
14
- | 21_eval_axis_consistency.md | Consistency evaluation axis | Yes |
15
- | 22_eval_axis_accessibility.md | Accessibility evaluation axis | Yes |
16
- | 23_eval_axis_delight.md | Delight evaluation axis | Yes |
17
- | 30_comparison.md | Option comparison against scoring axes | Yes |
18
- | 31_anchor.md | Anchor screen selection rationale | Yes |
19
- | 40_contracts.md | Screen interaction contracts | Yes |
20
- | 50_review_bundle.md | Review input bundle | Yes |
21
- | 60_critique_loop.md | Critique loop tracking | Yes |
9
+ | File | Purpose | Required |
10
+ | ----------------------------------- | ------------------------------------------- | -------- |
11
+ | 00_index.md | This manifest | Yes |
12
+ | 10_implementation_strategy.md | Implementation strategy (canonical) | Required |
13
+ | 11_design_taste_interview.md | Design taste interview (10 sections) | Yes |
14
+ | 20_design_eval_invariant.md | Invariant evaluation layer (3-layer) | Yes |
15
+ | 21_design_eval_trend_derived.md | Trend-derived evaluation layer (3-layer) | Yes |
16
+ | 22_design_eval_product_specific.md | Product-specific evaluation layer (3-layer) | Yes |
17
+ | 23_design_eval_aggregate.md | Aggregate scoring layer (3-layer) | Yes |
18
+ | 24_design_eval_dynamic_overrides.md | Dynamic evaluation overrides | Optional |
19
+ | 30_option_comparison.md | Option comparison against scoring axes | Yes |
20
+ | 31_selected_anchor_screen.md | Selected anchor screen & direction decision | Yes |
21
+ | 40_screen_contracts.md | Screen interaction contracts (11 fields) | Yes |
22
+ | 50_review_input_bundle.md | Review input bundle | Yes |
22
23
 
23
24
  ## Completeness Rule
24
25
 
25
- All 11 files MUST be present for a UI-bearing pack. Partial generation is not permitted (BR-0026-0002).
26
+ All required files (11 files) MUST be present for a UI-bearing pack. `24_design_eval_dynamic_overrides.md` is optional. Partial generation is not permitted (BR-0026-0002).
27
+
28
+ ## Forbidden Legacy Files
29
+
30
+ The following files are NOT part of the canonical family and must NOT be created in new packs:
31
+
32
+ - `30_comparison.md` — replaced by `30_option_comparison.md`
33
+ - `31_anchor.md` — replaced by `31_selected_anchor_screen.md`
34
+ - `40_contracts.md` — replaced by `40_screen_contracts.md`
35
+ - `50_review_bundle.md` — replaced by `50_review_input_bundle.md`
36
+ - `60_critique_loop.md` — removed (critique integrated into review bundle)
37
+ - `20_eval_axis_usability.md` — replaced by 3-layer model
38
+ - `21_eval_axis_consistency.md` — replaced by 3-layer model
39
+ - `22_eval_axis_accessibility.md` — replaced by 3-layer model
40
+ - `23_eval_axis_delight.md` — replaced by 3-layer model
@@ -0,0 +1,20 @@
1
+ # Implementation Strategy
2
+
3
+ ## Strategy Definition
4
+
5
+ <!-- Use exactly one canonical strategy block. -->
6
+
7
+ ### Strategy
8
+
9
+ - surface: [web|mobile|desktop|cli|mixed|non-ui]
10
+ - decision: [template|component-library|design-system|native-pattern|bespoke|none]
11
+ - why_this_strategy: [Why this strategy is the right fit for the current product and surface]
12
+ - expected_strengths: [Concrete strengths expected from this strategy]
13
+ - known_risks: [Concrete risks, failure modes, or tradeoffs]
14
+ - fit_for_this_product: [Why this strategy matches the actual product context]
15
+
16
+ ## Constraints
17
+
18
+ - Use only the canonical enum values shown above.
19
+ - Do not add legacy keys or freeform alternative enums.
20
+ - Keep the strategy aligned with `01_Context.md` classification and `31_selected_anchor_screen.md`.
@@ -0,0 +1,45 @@
1
+ # Design Taste Interview
2
+
3
+ ## Purpose
4
+
5
+ Structured interview to surface the design owner's taste preferences, aesthetic sensibilities, and quality expectations for this project.
6
+
7
+ ## visual_character
8
+
9
+ <!-- Describe the visual identity: clean/bold/minimal/ornamental, color palette leanings, typography preferences -->
10
+
11
+ ## emotional_tone
12
+
13
+ <!-- Describe the intended emotional response: professional/playful/serious/warm/neutral -->
14
+
15
+ ## anti_preferences
16
+
17
+ <!-- List design patterns, styles, or approaches that should be explicitly avoided -->
18
+
19
+ ## admired_rejected_references
20
+
21
+ <!-- Admired: products/designs that inspire. Rejected: anti-references to avoid -->
22
+
23
+ ## novelty_vs_safety
24
+
25
+ <!-- Balance between innovative/novel and safe/conventional approaches -->
26
+
27
+ ## density_hierarchy
28
+
29
+ <!-- Information density preferences: sparse/moderate/dense. Visual hierarchy approach -->
30
+
31
+ ## motion_material
32
+
33
+ <!-- Motion design: minimal/functional/expressive. Material/depth: flat/layered/3D -->
34
+
35
+ ## brand_tone
36
+
37
+ <!-- How brand voice manifests in UI: formal/casual, technical/accessible -->
38
+
39
+ ## unresolved_taste_questions
40
+
41
+ <!-- Open questions about taste that need resolution during implementation -->
42
+
43
+ ## taste_reflection_depth
44
+
45
+ <!-- Self-assessment: How well-defined is the taste direction? What needs more exploration? -->
@@ -0,0 +1,68 @@
1
+ # Evaluation Layer: Invariant
2
+
3
+ ## Layer Classification
4
+
5
+ - Layer: invariant
6
+ - Source: Universal UX heuristic (Nielsen)
7
+
8
+ ## Axes
9
+
10
+ ### Axis: [INV-01]
11
+
12
+ - axis_id: INV-01
13
+ - axis_name: [e.g., Learnability]
14
+ - layer: invariant
15
+ - origin: [e.g., Nielsen heuristic #2]
16
+ - intent: [what this axis measures and why]
17
+ - why_it_matters: [business/user impact of this axis]
18
+ - score_scale: 1-5
19
+ - score_anchors:
20
+ - low: [1 — description of poor performance]
21
+ - mid: [3 — description of acceptable performance]
22
+ - high: [5 — description of excellent performance]
23
+ - positive_signals:
24
+ - [signal that indicates good performance on this axis]
25
+ - negative_signals:
26
+ - [signal that indicates poor performance on this axis]
27
+ - anti_patterns:
28
+ - [known anti-pattern to avoid]
29
+ - evidence_required: [what evidence must be gathered to score this axis]
30
+ - weight: [e.g., 0.20]
31
+ - minimum_floor: [minimum acceptable score, e.g., 2]
32
+ - source_refs:
33
+ - [reference to source material]
34
+ - goal_refs:
35
+ - [reference to project goals this axis supports]
36
+ - review_questions:
37
+ - [question a reviewer should ask when evaluating this axis]
38
+
39
+ ### Axis: [INV-02]
40
+
41
+ <!-- Repeat the schema above for each invariant axis -->
42
+
43
+ - axis_id: INV-02
44
+ - axis_name: [e.g., Error Prevention]
45
+ - layer: invariant
46
+ - origin: [source]
47
+ - intent: [what this measures]
48
+ - why_it_matters: [impact]
49
+ - score_scale: 1-5
50
+ - score_anchors:
51
+ - low: [1 — poor]
52
+ - mid: [3 — acceptable]
53
+ - high: [5 — excellent]
54
+ - positive_signals:
55
+ - [signal]
56
+ - negative_signals:
57
+ - [signal]
58
+ - anti_patterns:
59
+ - [pattern]
60
+ - evidence_required: [evidence]
61
+ - weight: [weight]
62
+ - minimum_floor: [floor]
63
+ - source_refs:
64
+ - [ref]
65
+ - goal_refs:
66
+ - [ref]
67
+ - review_questions:
68
+ - [question]
@@ -0,0 +1,68 @@
1
+ # Evaluation Layer: Trend-derived
2
+
3
+ ## Layer Classification
4
+
5
+ - Layer: trend-derived
6
+ - Source: Industry trend analysis and research synthesis
7
+
8
+ ## Axes
9
+
10
+ ### Axis: [TRD-01]
11
+
12
+ - axis_id: TRD-01
13
+ - axis_name: [e.g., Progressive Disclosure]
14
+ - layer: trend-derived
15
+ - origin: [research source / industry trend]
16
+ - intent: [what this axis measures]
17
+ - why_it_matters: [business/user impact]
18
+ - score_scale: 1-5
19
+ - score_anchors:
20
+ - low: [1 — description of poor performance]
21
+ - mid: [3 — description of acceptable performance]
22
+ - high: [5 — description of excellent performance]
23
+ - positive_signals:
24
+ - [signal that indicates good performance]
25
+ - negative_signals:
26
+ - [signal that indicates poor performance]
27
+ - anti_patterns:
28
+ - [anti-pattern to avoid]
29
+ - evidence_required: [what evidence must be gathered]
30
+ - weight: [e.g., 0.15]
31
+ - minimum_floor: [minimum acceptable score]
32
+ - source_refs:
33
+ - [research source with freshness_date and confidence]
34
+ - goal_refs:
35
+ - [project goal this axis supports]
36
+ - review_questions:
37
+ - [question for reviewer]
38
+
39
+ ### Axis: [TRD-02]
40
+
41
+ <!-- Repeat the schema above for each trend-derived axis -->
42
+
43
+ - axis_id: TRD-02
44
+ - axis_name: [axis name]
45
+ - layer: trend-derived
46
+ - origin: [source]
47
+ - intent: [measurement intent]
48
+ - why_it_matters: [impact]
49
+ - score_scale: 1-5
50
+ - score_anchors:
51
+ - low: [1 — poor]
52
+ - mid: [3 — acceptable]
53
+ - high: [5 — excellent]
54
+ - positive_signals:
55
+ - [signal]
56
+ - negative_signals:
57
+ - [signal]
58
+ - anti_patterns:
59
+ - [pattern]
60
+ - evidence_required: [evidence]
61
+ - weight: [weight]
62
+ - minimum_floor: [floor]
63
+ - source_refs:
64
+ - [ref]
65
+ - goal_refs:
66
+ - [ref]
67
+ - review_questions:
68
+ - [question]
@@ -0,0 +1,68 @@
1
+ # Evaluation Layer: Product-specific
2
+
3
+ ## Layer Classification
4
+
5
+ - Layer: product-specific
6
+ - Source: Project domain requirements and constraints
7
+
8
+ ## Axes
9
+
10
+ ### Axis: [PRD-01]
11
+
12
+ - axis_id: PRD-01
13
+ - axis_name: [e.g., Domain Workflow Fit]
14
+ - layer: product-specific
15
+ - origin: [domain requirement / stakeholder input]
16
+ - intent: [what this axis measures]
17
+ - why_it_matters: [business/user impact]
18
+ - score_scale: 1-5
19
+ - score_anchors:
20
+ - low: [1 — description of poor performance]
21
+ - mid: [3 — description of acceptable performance]
22
+ - high: [5 — description of excellent performance]
23
+ - positive_signals:
24
+ - [signal that indicates good performance]
25
+ - negative_signals:
26
+ - [signal that indicates poor performance]
27
+ - anti_patterns:
28
+ - [anti-pattern to avoid]
29
+ - evidence_required: [what evidence must be gathered]
30
+ - weight: [e.g., 0.10]
31
+ - minimum_floor: [minimum acceptable score]
32
+ - source_refs:
33
+ - [domain requirement reference]
34
+ - goal_refs:
35
+ - [project goal this axis supports]
36
+ - review_questions:
37
+ - [question for reviewer]
38
+
39
+ ### Axis: [PRD-02]
40
+
41
+ <!-- Repeat the schema above for each product-specific axis -->
42
+
43
+ - axis_id: PRD-02
44
+ - axis_name: [axis name]
45
+ - layer: product-specific
46
+ - origin: [source]
47
+ - intent: [measurement intent]
48
+ - why_it_matters: [impact]
49
+ - score_scale: 1-5
50
+ - score_anchors:
51
+ - low: [1 — poor]
52
+ - mid: [3 — acceptable]
53
+ - high: [5 — excellent]
54
+ - positive_signals:
55
+ - [signal]
56
+ - negative_signals:
57
+ - [signal]
58
+ - anti_patterns:
59
+ - [pattern]
60
+ - evidence_required: [evidence]
61
+ - weight: [weight]
62
+ - minimum_floor: [floor]
63
+ - source_refs:
64
+ - [ref]
65
+ - goal_refs:
66
+ - [ref]
67
+ - review_questions:
68
+ - [question]
@@ -0,0 +1,41 @@
1
+ # Evaluation Layer: Aggregate
2
+
3
+ ## Layer Classification
4
+
5
+ - Layer: aggregate
6
+ - Source: Weighted composite of all layer scores
7
+
8
+ ## Purpose
9
+
10
+ This file defines how scores from invariant, trend-derived, and product-specific layers are combined into a single aggregate score for option comparison and decision-making.
11
+
12
+ ## Aggregate Scoring Rules
13
+
14
+ - total_score_formula: weighted_sum(invariant \* layer_weights.invariant, trend \* layer_weights.trend_derived, product \* layer_weights.product_specific)
15
+ - layer_weights:
16
+ - invariant: 0.60
17
+ - trend_derived: 0.25
18
+ - product_specific: 0.15
19
+ - accept_threshold: 3.5
20
+ - refine_band: 2.5-3.4
21
+ - pivot_band: < 2.5
22
+ - max_iterations: [maximum number of refine iterations before escalation]
23
+ - plateau_rule: [rule for detecting score plateau across iterations, e.g., "3 consecutive iterations with delta < 0.1"]
24
+ - missing_score_policy: [how to handle axes with no score, e.g., "exclude from weighted sum and note in review"]
25
+ - disagreement_rule: [how to resolve disagreement between reviewers, e.g., "average scores, escalate if delta > 1.0"]
26
+
27
+ ## Scoring Guide
28
+
29
+ - 5: Aggregate score >= 4.5 (accept with confidence)
30
+ - 4: Aggregate score 3.5-4.4 (accept)
31
+ - 3: Aggregate score 2.5-3.4 (refine)
32
+ - 2: Aggregate score 1.5-2.4 (pivot recommended)
33
+ - 1: Aggregate score < 1.5 (reject)
34
+
35
+ ## Cross-references
36
+
37
+ - Invariant axes: `20_design_eval_invariant.md`
38
+ - Trend-derived axes: `21_design_eval_trend_derived.md`
39
+ - Product-specific axes: `22_design_eval_product_specific.md`
40
+ - Dynamic overrides (optional): `24_design_eval_dynamic_overrides.md`
41
+ - Option comparison: `30_option_comparison.md`
@@ -0,0 +1,28 @@
1
+ # Dynamic Evaluation Overrides
2
+
3
+ ## Purpose
4
+
5
+ Project-specific overrides and extensions to the standard 3-layer evaluation model.
6
+ Used when default invariant/trend-derived/product-specific axes need adjustment for this project's unique context.
7
+
8
+ ## Override Rules
9
+
10
+ | Override Type | Description | Approval Required |
11
+ | ----------------- | -------------------------------------------- | ----------------- |
12
+ | Weight adjustment | Change default layer weights | Yes |
13
+ | Axis suppression | Suppress a default axis (with justification) | Yes |
14
+ | Custom axis | Add a project-specific evaluation axis | No |
15
+ | Threshold change | Modify accept/refine/pivot thresholds | Yes |
16
+
17
+ ## Active Overrides
18
+
19
+ <!-- List active overrides below. Each must include justification and approval reference. -->
20
+
21
+ | Axis / Rule | Override | Justification | Approved By |
22
+ | ----------- | -------- | ------------- | ----------- |
23
+ | (none) | — | — | — |
24
+
25
+ ## Constraint
26
+
27
+ - Overrides must not remove invariant-layer axes without a Decision Record (DR).
28
+ - All overrides must be traceable to a specific project requirement or stakeholder decision.
@@ -0,0 +1,56 @@
1
+ # Option Comparison
2
+
3
+ ## Purpose
4
+
5
+ Compare 2–3 design options against 3-layer scoring axes to support direction selection.
6
+ Selected anchor details are in `31_selected_anchor_screen.md`.
7
+
8
+ ## Comparison Matrix
9
+
10
+ ### Invariant Axes
11
+
12
+ | axis_id | axis_name | layer | Option A: [Name] | Option B: [Name] | rationale |
13
+ | ------- | --------- | --------- | ---------------- | ---------------- | ----------- |
14
+ | INV-01 | [name] | invariant | [score 1-5] | [score 1-5] | [rationale] |
15
+ | INV-02 | [name] | invariant | [score 1-5] | [score 1-5] | [rationale] |
16
+
17
+ ### Trend-derived Axes
18
+
19
+ | axis_id | axis_name | layer | Option A: [Name] | Option B: [Name] | rationale |
20
+ | ------- | --------- | ------------- | ---------------- | ---------------- | ----------------- |
21
+ | TRD-01 | [name] | trend-derived | [score 1-5] | [score 1-5] | [source + reason] |
22
+
23
+ ### Product-specific Axes
24
+
25
+ | axis_id | axis_name | layer | Option A: [Name] | Option B: [Name] | rationale |
26
+ | ------- | --------- | ---------------- | ---------------- | ---------------- | ----------- |
27
+ | PRD-01 | [name] | product-specific | [score 1-5] | [score 1-5] | [rationale] |
28
+
29
+ ## Aggregate Scoring
30
+
31
+ | Option | Weights | Normalized Total | Threshold | Rank |
32
+ | -------- | ------------------------------------- | ---------------- | --------------------- | ------ |
33
+ | Option A | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
34
+ | Option B | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
35
+
36
+ ## Per-Option Summary
37
+
38
+ ### Option A: [Name]
39
+
40
+ - Strengths: [key strengths from scoring]
41
+ - Weaknesses: [key weaknesses from scoring]
42
+ - Risk: [key risks if selected]
43
+ - Defer reason: [why this option might be deferred, or N/A]
44
+
45
+ ### Option B: [Name]
46
+
47
+ - Strengths: [key strengths from scoring]
48
+ - Weaknesses: [key weaknesses from scoring]
49
+ - Risk: [key risks if selected]
50
+ - Defer reason: [why this option might be deferred, or N/A]
51
+
52
+ ## Cross-references
53
+
54
+ - 3-layer evaluation files: `20_design_eval_invariant.md`, `21_design_eval_trend_derived.md`, `22_design_eval_product_specific.md`, `23_design_eval_aggregate.md`
55
+ - 3-layer model & aggregate rules: `23_design_eval_aggregate.md` (Aggregate Scoring Rules section)
56
+ - Selected anchor & adoption rationale: `31_selected_anchor_screen.md`
@@ -0,0 +1,42 @@
1
+ # Selected Anchor Screen
2
+
3
+ ## Purpose
4
+
5
+ Document the selected design option, anchor screen, adoption rationale, and rejected/deferred options.
6
+ This file is the canonical record of the design direction decision.
7
+
8
+ ## Selection
9
+
10
+ - selected_option: [Option X from 30_option_comparison.md]
11
+ - selected_anchor_screen: [Primary screen that anchors the design direction, e.g., Dashboard, Listing, Detail]
12
+ - why_selected: [Rationale for selection based on scores, constraints, and project context]
13
+
14
+ ## Rejected or Deferred Options
15
+
16
+ ### [Option Y]
17
+
18
+ - disposition: [rejected|deferred]
19
+ - reason: [Why this option was not selected]
20
+ - conditions_for_reconsideration: [Under what circumstances this option could be revisited, or N/A]
21
+
22
+ ### [Option Z]
23
+
24
+ - disposition: [rejected|deferred]
25
+ - reason: [Why this option was not selected]
26
+ - conditions_for_reconsideration: [Under what circumstances this option could be revisited, or N/A]
27
+
28
+ ## Implementation Guardrails
29
+
30
+ - [Guardrail 1: constraint or principle that must be maintained during implementation]
31
+ - [Guardrail 2: boundary condition or quality bar]
32
+
33
+ ## Reviewer Focus
34
+
35
+ - [Key area 1 the reviewer should pay attention to]
36
+ - [Key area 2 the reviewer should verify against the scoring rationale]
37
+
38
+ ## Cross-references
39
+
40
+ - Option comparison: `30_option_comparison.md`
41
+ - Strategy: `10_implementation_strategy.md`
42
+ - Screen contracts: `40_screen_contracts.md`
@@ -0,0 +1,44 @@
1
+ # Screen Contracts
2
+
3
+ ## Purpose
4
+
5
+ Draft interaction contracts for key screens using the strong screen contract schema (11 required fields).
6
+
7
+ ### Screen: [Screen Name]
8
+
9
+ - screen_id: SCR-001
10
+ - route: /path-to-screen
11
+ - purpose: [what the user accomplishes on this screen]
12
+ - actor: [primary user role]
13
+ - primary_tasks:
14
+ - [task 1: trigger → success criteria]
15
+ - [task 2: trigger → success criteria]
16
+ - secondary_tasks:
17
+ - [secondary task 1: trigger → success criteria]
18
+ - [secondary task 2: trigger → success criteria]
19
+ - required_states:
20
+ - default: [default/empty state description]
21
+ - loading: [loading indicator description]
22
+ - empty: [empty state description]
23
+ - error: [error message + retry CTA description]
24
+ - transitions:
25
+ - empty → loading: [data fetch initiated]
26
+ - loading → default: [data received and primary content is ready]
27
+ - loading → error: [fetch failure]
28
+ - error → loading: [retry action]
29
+ - observable_outcomes:
30
+ - [expected user outcome → verification method]
31
+ - [expected system behavior → verification method]
32
+ - notes_for_verify: [notes for verification/testing]
33
+ - notes_for_reviewer: [any additional context for the reviewer]
34
+
35
+ <!-- Nested list format is canonical for primary_tasks, secondary_tasks, required_states, transitions, observable_outcomes. Inline CSV is accepted for backward compatibility. -->
36
+
37
+ > **Note:** `required_states` primary truth lives in this file. Each screen's state set is authoritative here.
38
+ > **Note:** `secondary_tasks` documents non-primary user workflows available on the screen.
39
+ > Layout specification is optional and should be added as notes only.
40
+
41
+ ## Cross-references
42
+
43
+ - Selected anchor: `31_selected_anchor_screen.md`
44
+ - Option comparison: `30_option_comparison.md`
@@ -0,0 +1,36 @@
1
+ # Review Input Bundle
2
+
3
+ ## Purpose
4
+
5
+ Consolidate all sidecar artifacts into a review-ready bundle for design reviewers.
6
+
7
+ ## Bundle Contents
8
+
9
+ | Artifact | Path | Status |
10
+ | -------------------------- | ------------------------------------------ | ------------------------- |
11
+ | Strategy | `uiux/10_implementation_strategy.md` | [draft/reviewed/approved] |
12
+ | Taste interview | `uiux/11_design_taste_interview.md` | [draft/reviewed/approved] |
13
+ | Trend scan | `04_Sources.md#Trend Scan` | [draft/reviewed/approved] |
14
+ | Invariant layer | `uiux/20_design_eval_invariant.md` | [draft/reviewed/approved] |
15
+ | Trend-derived layer | `uiux/21_design_eval_trend_derived.md` | [draft/reviewed/approved] |
16
+ | Product-specific layer | `uiux/22_design_eval_product_specific.md` | [draft/reviewed/approved] |
17
+ | Aggregate layer | `uiux/23_design_eval_aggregate.md` | [draft/reviewed/approved] |
18
+ | Dynamic overrides | `uiux/24_design_eval_dynamic_overrides.md` | [optional] |
19
+ | Option comparison | `uiux/30_option_comparison.md` | [draft/reviewed/approved] |
20
+ | Selected anchor | `uiux/31_selected_anchor_screen.md` | [draft/reviewed/approved] |
21
+ | Screen contracts | `uiux/40_screen_contracts.md` | [draft/reviewed/approved] |
22
+ | Prototyping recommendation | `../prototyping.yaml` | [draft/reviewed/approved] |
23
+
24
+ ## Trend-derived review focus
25
+
26
+ - Required trend categories are all present and complete.
27
+ - Stale / overused AI slop patterns are explicitly avoided.
28
+ - Trend research is translated into scoring, comparison, and selected anchor decisions.
29
+
30
+ ## Review Checklist
31
+
32
+ - [ ] Strategy aligns with surface type and project constraints
33
+ - [ ] Trend categories are complete and translated into local design decisions
34
+ - [ ] Competitive references include adopted_points, rejected_points, and local_translation
35
+ - [ ] Selected anchor clearly documents rationale and downstream implications
36
+ - [ ] Screen contracts cover all required states