qfai 1.7.2 → 1.7.5

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 (38) hide show
  1. package/README.md +2 -2
  2. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +60 -1
  3. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +2 -0
  4. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +2 -0
  5. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +33 -6
  6. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/05_Scope.md +2 -0
  7. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +2 -0
  8. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +2 -0
  9. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/08_Glossary.md +2 -0
  10. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +2 -0
  11. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +2 -0
  12. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +2 -0
  13. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +2 -0
  14. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +2 -0
  15. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +11 -0
  16. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +2 -0
  17. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +25 -0
  18. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +28 -0
  19. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +26 -0
  20. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +26 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +26 -0
  22. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +34 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +30 -0
  24. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +27 -0
  25. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +30 -0
  26. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +31 -0
  27. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +23 -0
  28. package/dist/cli/index.cjs +96 -33
  29. package/dist/cli/index.cjs.map +1 -1
  30. package/dist/cli/index.mjs +96 -33
  31. package/dist/cli/index.mjs.map +1 -1
  32. package/dist/index.cjs +42 -5
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.cts +30 -1
  35. package/dist/index.d.ts +30 -1
  36. package/dist/index.mjs +38 -5
  37. package/dist/index.mjs.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -123,8 +123,8 @@ QFAI includes a small set of custom skills (stored under `.qfai/assistant/skills
123
123
  - **qfai-sdd**: Unified SDD entrypoint with discussion-pack preflight guard (missing/incomplete/blocking OQ causes stop + next action guidance).
124
124
  - **qfai-prototyping**: Build an all-spec contract-aligned skeleton and prove runtime coverage before deep coding.
125
125
  - **qfai-atdd**: Implement acceptance tests driven by specs/scenarios.
126
- - **qfai-implement**: Unified TDD micro-cycle (Red/Green/Refactor) one test at a time using `test-list.md` as the execution ledger.
127
- - **qfai-verify**: Run/interpret the local quality gates and produce a release-ready summary.
126
+ - **qfai-implement**: Unified TDD micro-cycle (Red/Green/Refactor) one test at a time using `test-list.md` as the execution ledger, including ledger status updates and exception closure.
127
+ - **qfai-verify**: Run full-scan local quality gates (`validate --fail-on error`, `report`, repo gates) and produce reviewer-approved evidence under `.qfai/evidence/`.
128
128
 
129
129
  ### Workflow sequence (example)
130
130
 
@@ -109,7 +109,11 @@ Every major artifact in this stage MUST include this table schema:
109
109
  - `03_Story-Workshop.md` MUST contain at least one Mermaid diagram in ` ```mermaid ` fences.
110
110
  - If UI requirements exist, include an HTML+CSS visual mock in `03_Story-Workshop.md`.
111
111
  - **UI-bearing Authoring Requirements**:
112
- - A pack is UI-bearing if `03_Story-Workshop.md` contains HTML tags (`<style>`, `<div>`, etc.) or Mermaid screen flow diagrams.
112
+ - UI-bearing detection is based on **surface type classification**
113
+ (see `## UI-bearing Detection` below).
114
+ - Content signals in `03_Story-Workshop.md`
115
+ (HTML tags, Mermaid screen flows) serve as supplementary detection hints,
116
+ not the primary SSOT.
113
117
  - UI-bearing packs MUST include a `## Design Direction Summary` section in `03_Story-Workshop.md` with all 6 subsections:
114
118
  1. `### Option Comparison` — 2+ distinct design options (QFAI-DDP-020)
115
119
  2. `### Anchor Screen Selection` — explicit selection referencing a compared option (QFAI-DDP-021)
@@ -135,6 +139,61 @@ Every major artifact in this stage MUST include this table schema:
135
139
  - OQ Register must include all mandatory columns: OQ-ID, Title, Gate, Disposition, Owner, Rationale, Options, Recommendation, Next-Decision-Point, Due, Evidence.
136
140
  - Deferred table must include all mandatory columns: OQ-ID, Title, Gate, Deferred-Reason, Deferred-Until, Owner, Due, Severity, Impact, Mitigation, Evidence.
137
141
 
142
+ ## UI-bearing Detection
143
+
144
+ ### Surface Classification
145
+
146
+ Classify the project's surface type to determine whether UI/UX sidecar artifacts are required.
147
+ Classification is based on **surface type only**, not interaction complexity (DR-0057).
148
+
149
+ | Surface Type | UI-bearing | Sidecar Generation | Example |
150
+ | ------------ | ---------- | ---------------------------------------- | ---------------------------------------- |
151
+ | web-ui | Yes | Full 11-file uiux/ sidecar | Web application with user-facing screens |
152
+ | mobile-ui | Yes | Full 11-file uiux/ sidecar | Mobile app with touch interactions |
153
+ | desktop-ui | Yes | Full 11-file uiux/ sidecar | Desktop application with GUI |
154
+ | mixed | Yes | Full 11-file uiux/ sidecar | Cross-platform with UI components |
155
+ | non-ui | No | No uiux/ directory, no sidecar generated | CLI tool, API service, library |
156
+
157
+ ### Detection Signals
158
+
159
+ - Check `01_Context.md` for explicit surface type declarations
160
+ - Check `03_Story-Workshop.md` for HTML tags, screen flows, or UI-related user stories
161
+ - When ambiguous (e.g., web endpoint without UI components), classify by surface type, not by interaction complexity
162
+
163
+ ### Sidecar Generation Flow
164
+
165
+ When UI-bearing is detected:
166
+
167
+ 1. Generate all 11 uiux/ sidecar files (partial generation is not permitted)
168
+ 2. Apply UX intent cross-references to core templates
169
+ 3. Add UI-bearing completion conditions
170
+
171
+ When non-ui is detected:
172
+
173
+ - Skip uiux/ sidecar generation entirely — no uiux/ directory, no errors
174
+ - Core 15-file pack is generated as before
175
+ - No additional UI/UX completion conditions apply
176
+
177
+ ### UI-bearing Completion Conditions
178
+
179
+ For UI-bearing projects, the following conditions must ALL be satisfied before discussion completion:
180
+
181
+ 1. **Strategy selected**: `uiux/10_strategy.md` is populated with a chosen implementation approach
182
+ 2. **Scoring axes defined**:
183
+ `uiux/20_eval_axis_usability.md`,
184
+ `uiux/21_eval_axis_consistency.md`,
185
+ `uiux/22_eval_axis_accessibility.md`,
186
+ `uiux/23_eval_axis_delight.md`
187
+ have evaluation criteria and measurement approaches
188
+ 3. **Anchor screen chosen**: `uiux/31_anchor.md` documents the selected anchor screen with rationale
189
+ 4. **Contracts drafted**: `uiux/40_contracts.md` contains interaction contracts for the anchor screen
190
+
191
+ Completion is blocked until all 4 conditions are met. Skipping any condition prevents the discussion from being marked as complete.
192
+
193
+ ### Non-UI Completion
194
+
195
+ For non-ui projects, completion conditions remain unchanged from prior versions. No additional UI/UX conditions apply; no sidecar artifacts are required.
196
+
138
197
  ## Goal
139
198
 
140
199
  Produce a unified 15-file discussion pack with explicit decisions, requirements, OQ states, and rationale so `/qfai-sdd` starts without unresolved blockers.
@@ -1,5 +1,7 @@
1
1
  # 01 Context
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/10_strategy.md for implementation strategy context -->
4
+
3
5
  ## Metadata
4
6
 
5
7
  | Key | Value |
@@ -43,6 +43,8 @@ flowchart LR
43
43
  App --> Data["Data Store"]
44
44
  ```
45
45
 
46
+ <!-- UX-INTENT: If UI-bearing, reference uiux/30_comparison.md for design option alignment -->
47
+
46
48
  ## 7. What Keeps Us Up at Night (Risks)
47
49
 
48
50
  | Risk | Probability | Impact | Mitigation |
@@ -43,10 +43,36 @@ flowchart TD
43
43
  - Steps:
44
44
  - Exit point:
45
45
 
46
- ## Screen Mock (HTML+CSS)
46
+ ## Behavior Obligations
47
47
 
48
- - Use this section when UI requirements exist.
48
+ <!-- Primary focus for UI-bearing packs. Define behavioral requirements before visual mockups. -->
49
+
50
+ ### State Coverage
51
+
52
+ | State | Trigger | Display | Transitions |
53
+ | --------- | --------- | --------- | ------------- |
54
+ | empty | [trigger] | [display] | [transitions] |
55
+ | loading | [trigger] | [display] | [transitions] |
56
+ | error | [trigger] | [display] | [transitions] |
57
+ | populated | [trigger] | [display] | [transitions] |
58
+
59
+ ### Interaction Contracts
60
+
61
+ | Element | Action | Expected Result | Error Handling |
62
+ | --------- | -------- | --------------- | -------------- |
63
+ | [element] | [action] | [result] | [error case] |
64
+
65
+ ### Error Handling
66
+
67
+ - Input validation: [approach]
68
+ - Network failure: [approach]
69
+ - Timeout: [approach]
70
+
71
+ ## Screen Mock — Fallback (HTML+CSS)
72
+
73
+ - Secondary: required when UI requirements exist, but subordinate to Behavior Obligations above.
49
74
  - Visual mock only; do not include JavaScript behavior.
75
+ - This HTML/CSS mock is a fallback visual aid that supplements (not replaces) the behavioral definitions.
50
76
 
51
77
  ```html
52
78
  <section class="screen-mock">
@@ -99,11 +125,12 @@ See 04_Sources.md for full competitive reference registry.
99
125
  ### State Coverage
100
126
 
101
127
  <!-- Define all 4 required states. (QFAI-DDP-024) -->
128
+ <!-- SSOT for state details: Behavior Obligations > State Coverage table above. Keep these bullets for validator compliance; fill display-level details or reference the table. -->
102
129
 
103
- - empty: [Empty state display]
104
- - loading: [Loading state display]
105
- - error: [Error state display]
106
- - populated: [Populated state display]
130
+ - empty: [Empty state display — see Behavior Obligations table for triggers/transitions]
131
+ - loading: [Loading state display — see Behavior Obligations table for triggers/transitions]
132
+ - error: [Error state display — see Behavior Obligations table for triggers/transitions]
133
+ - populated: [Populated state display — see Behavior Obligations table for triggers/transitions]
107
134
 
108
135
  ### Design Anti-goals
109
136
 
@@ -1,5 +1,7 @@
1
1
  # 05 Scope
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/00_index.md for sidecar scope inventory -->
4
+
3
5
  ## In Scope
4
6
 
5
7
  - Capability 1:
@@ -1,5 +1,7 @@
1
1
  # 06 REQ (Functional Requirements)
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/40_contracts.md for screen interaction requirements -->
4
+
3
5
  ## Requirements Table
4
6
 
5
7
  | REQ-ID | Title | Description | Source | Priority | Status |
@@ -1,5 +1,7 @@
1
1
  # 07 NFR (Non-Functional Requirements)
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/20_eval_axis_usability.md for usability measurement targets -->
4
+
3
5
  ## Requirements Table
4
6
 
5
7
  | NFR-ID | Category | Title | Target | Measurement | Source | Priority |
@@ -1,5 +1,7 @@
1
1
  # 08 Glossary
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, include terms from uiux/00_index.md sidecar vocabulary -->
4
+
3
5
  ## Term Definitions
4
6
 
5
7
  | Term | Definition | Context | Source |
@@ -1,5 +1,7 @@
1
1
  # 09 Constraints
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/22_eval_axis_accessibility.md for accessibility constraints -->
4
+
3
5
  ## Technical Constraints
4
6
 
5
7
  | ID | Constraint | Rationale | Impact |
@@ -1,5 +1,7 @@
1
1
  # 10 Policy
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/10_strategy.md for design policy alignment -->
4
+
3
5
  ## Security Policy
4
6
 
5
7
  - Authentication:
@@ -1,5 +1,7 @@
1
1
  # 11 OQ Register
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, track design direction OQs from uiux/60_critique_loop.md -->
4
+
3
5
  ## OQ Table
4
6
 
5
7
  | OQ-ID | Title | Gate | Disposition | Owner | Rationale | Options | Recommendation | Next-Decision-Point | Due | Evidence |
@@ -1,5 +1,7 @@
1
1
  # 12 OQ Resolution Log
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, log design critique resolutions from uiux/60_critique_loop.md -->
4
+
3
5
  ## Resolution Timeline
4
6
 
5
7
  | Date | OQ-ID | Action | Summary | Evidence |
@@ -1,5 +1,7 @@
1
1
  # 13 Deferred
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, track deferred design decisions from uiux/50_review_bundle.md -->
4
+
3
5
  ## Deferred Items
4
6
 
5
7
  | OQ-ID | Title | Gate | Deferred-Reason | Deferred-Until | Owner | Due | Severity | Impact | Mitigation | Evidence |
@@ -48,6 +48,17 @@
48
48
  - Rejection rationale: [Why other options were not selected]
49
49
  - Adopted competitive references: [Key references adopted from 04_Sources.md]
50
50
 
51
+ ## Sidecar Artifact Review Scope
52
+
53
+ <!-- Required for UI-bearing packs. Reviews uiux/ sidecar artifacts. -->
54
+
55
+ - Verify all 11 uiux/ sidecar files are present (when UI-bearing)
56
+ - Verify uiux/10_strategy.md YAML schema conforms to version `"0.1"`
57
+ - Verify scoring axes have evaluation criteria and measurement approaches
58
+ - Verify option comparison covers 2+ options against all scoring axes
59
+ - Verify anchor screen selection references a compared option
60
+ - Verify screen contracts define all 4 required states (empty/loading/error/populated)
61
+
51
62
  ## Required Reviewers
52
63
 
53
64
  - Load all reviewers from `.qfai/assistant/steering/review-roster.yml`.
@@ -1,5 +1,7 @@
1
1
  # 99 Delta
2
2
 
3
+ <!-- UX-INTENT: If UI-bearing, record design direction changes from uiux/31_anchor.md -->
4
+
3
5
  ## Change History
4
6
 
5
7
  | Date | Change Type | Section | Summary | Rationale |
@@ -0,0 +1,25 @@
1
+ # uiux/ Sidecar Index
2
+
3
+ ## Purpose
4
+
5
+ Manifest of all UI/UX sidecar artifacts produced during a UI-bearing discussion.
6
+
7
+ ## File Inventory
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 |
22
+
23
+ ## Completeness Rule
24
+
25
+ All 11 files MUST be present for a UI-bearing pack. Partial generation is not permitted (BR-0026-0002).
@@ -0,0 +1,28 @@
1
+ # Implementation Strategy
2
+
3
+ ## YAML Strategy Definition
4
+
5
+ ```yaml
6
+ version: "0.1"
7
+ surface_type: "<web-ui|mobile-ui|desktop-ui|mixed>"
8
+ strategy:
9
+ approach: "<description of the chosen implementation approach>"
10
+ rationale: "<why this approach was selected>"
11
+ constraints:
12
+ - "<constraint 1>"
13
+ risks:
14
+ - risk: "<risk description>"
15
+ mitigation: "<mitigation approach>"
16
+ ```
17
+
18
+ ## Strategy Selection Guidance
19
+
20
+ - Select one implementation approach based on project constraints and surface type.
21
+ - Reference scoring axes (20-23) for evaluation criteria.
22
+ - One complete strategy definition per project; avoid verbose alternatives here.
23
+
24
+ ## Cross-references
25
+
26
+ - Surface classification: see SKILL.md `## UI-bearing Detection`
27
+ - Scoring axes: see `20_eval_axis_usability.md`, `21_eval_axis_consistency.md`, `22_eval_axis_accessibility.md`, `23_eval_axis_delight.md`
28
+ - Option comparison: see `30_comparison.md`
@@ -0,0 +1,26 @@
1
+ # Evaluation Axis: Usability
2
+
3
+ ## Evaluation Criteria
4
+
5
+ | Criterion | Description | Weight |
6
+ | ---------------- | ------------------------------------------------ | ------ |
7
+ | Learnability | Time to complete core tasks for first-time users | High |
8
+ | Efficiency | Steps required for frequent operations | High |
9
+ | Error prevention | Safeguards against user mistakes | Medium |
10
+ | Recovery | Ease of recovering from errors | Medium |
11
+
12
+ ## Measurement Approach
13
+
14
+ | Metric | Method | Target |
15
+ | -------------------- | ------------------------ | ------------------ |
16
+ | Task completion rate | Usability test (5 users) | >= 90% |
17
+ | Error rate | Observation during tasks | <= 10% |
18
+ | Time on task | Stopwatch measurement | <= baseline \* 1.2 |
19
+
20
+ ## Scoring Guide
21
+
22
+ - 5: Exceeds all targets with measurable margin
23
+ - 4: Meets all targets
24
+ - 3: Meets most targets with minor gaps
25
+ - 2: Significant gaps in multiple criteria
26
+ - 1: Fails most criteria
@@ -0,0 +1,26 @@
1
+ # Evaluation Axis: Consistency
2
+
3
+ ## Evaluation Criteria
4
+
5
+ | Criterion | Description | Weight |
6
+ | ----------------------- | --------------------------------------------- | ------ |
7
+ | Visual consistency | Adherence to design tokens and spacing system | High |
8
+ | Interaction consistency | Similar actions produce similar results | High |
9
+ | Terminology consistency | Same concepts use same labels throughout | Medium |
10
+ | Platform conventions | Follows platform-specific patterns | Medium |
11
+
12
+ ## Measurement Approach
13
+
14
+ | Metric | Method | Target |
15
+ | ----------------- | ---------------------------------------- | ------------------------- |
16
+ | Token compliance | Automated audit (design token drift) | 0 raw values |
17
+ | Label audit | Manual review of all user-facing strings | 0 inconsistencies |
18
+ | Pattern deviation | Component usage review | <= 2 justified deviations |
19
+
20
+ ## Scoring Guide
21
+
22
+ - 5: Zero deviations from design system
23
+ - 4: Minor deviations with documented rationale
24
+ - 3: Some deviations, all justified
25
+ - 2: Multiple unjustified deviations
26
+ - 1: No consistent design system applied
@@ -0,0 +1,26 @@
1
+ # Evaluation Axis: Accessibility
2
+
3
+ ## Evaluation Criteria
4
+
5
+ | Criterion | Description | Weight |
6
+ | --------------------- | --------------------------------------- | ------ |
7
+ | WCAG compliance | Meets WCAG 2.1 AA requirements | High |
8
+ | Keyboard navigation | All interactions reachable via keyboard | High |
9
+ | Screen reader support | Semantic HTML and ARIA labels | High |
10
+ | Color contrast | Meets minimum contrast ratios | Medium |
11
+
12
+ ## Measurement Approach
13
+
14
+ | Metric | Method | Target |
15
+ | ----------------- | ----------------------- | ------------------------- |
16
+ | WCAG violations | Automated axe-core scan | 0 critical/serious |
17
+ | Keyboard coverage | Manual tab-through test | 100% interactive elements |
18
+ | Contrast ratio | Automated check | >= 4.5:1 (normal text) |
19
+
20
+ ## Scoring Guide
21
+
22
+ - 5: WCAG 2.1 AAA compliant
23
+ - 4: WCAG 2.1 AA compliant, zero automated violations
24
+ - 3: AA compliant with minor manual-only findings
25
+ - 2: Critical accessibility gaps
26
+ - 1: Not accessibility-tested
@@ -0,0 +1,34 @@
1
+ # Evaluation Axis: Delight
2
+
3
+ ## Evaluation Criteria
4
+
5
+ | Criterion | Description | Weight |
6
+ | ---------------------- | ---------------------------------------- | ------ |
7
+ | Perceived performance | UI feels responsive and snappy | High |
8
+ | Feedback quality | Clear, helpful feedback for user actions | Medium |
9
+ | Progressive disclosure | Information revealed at the right moment | Medium |
10
+ | Aesthetic quality | Visual polish and attention to detail | Low |
11
+
12
+ ## Measurement Approach
13
+
14
+ | Metric | Method | Target |
15
+ | ------------------- | -------------------------- | ---------------------------- |
16
+ | Perceived load time | User perception survey | "fast" or "very fast" >= 80% |
17
+ | Feedback coverage | Audit of state transitions | 100% have feedback |
18
+ | Satisfaction score | Post-task survey (1-5) | >= 4.0 |
19
+
20
+ ## Scoring Guide
21
+
22
+ - 5: Users report delight; exceeds expectations
23
+ - 4: Smooth experience; meets expectations
24
+ - 3: Functional but unremarkable
25
+ - 2: Friction points noticed by users
26
+ - 1: Frustrating experience reported
27
+
28
+ ## Product-specific Axes
29
+
30
+ <!-- Add project-specific delight criteria below. These are trend-derived or product-specific axes. -->
31
+
32
+ | Criterion | Description | Weight |
33
+ | ------------------ | ------------- | -------- |
34
+ | (project-specific) | (description) | (weight) |
@@ -0,0 +1,30 @@
1
+ # Option Comparison
2
+
3
+ ## Purpose
4
+
5
+ Compare 2+ design options against scoring axes to support anchor screen selection.
6
+
7
+ ## Comparison Matrix
8
+
9
+ | Axis | Option A: [Name] | Option B: [Name] | Notes |
10
+ | ------------------ | ---------------- | ---------------- | ----------- |
11
+ | Usability (20) | [score 1-5] | [score 1-5] | [rationale] |
12
+ | Consistency (21) | [score 1-5] | [score 1-5] | [rationale] |
13
+ | Accessibility (22) | [score 1-5] | [score 1-5] | [rationale] |
14
+ | Delight (23) | [score 1-5] | [score 1-5] | [rationale] |
15
+
16
+ ## Aggregate Scoring
17
+
18
+ | Option | Weighted Total | Rank |
19
+ | -------- | -------------- | ------ |
20
+ | Option A | [total] | [rank] |
21
+ | Option B | [total] | [rank] |
22
+
23
+ ## Recommendation
24
+
25
+ Selected: [Option X] — [rationale for selection based on scores and constraints]
26
+
27
+ ## Cross-references
28
+
29
+ - Scoring axes: `20_eval_axis_usability.md`, `21_eval_axis_consistency.md`, `22_eval_axis_accessibility.md`, `23_eval_axis_delight.md`
30
+ - Anchor selection: `31_anchor.md`
@@ -0,0 +1,27 @@
1
+ # Anchor Screen Selection
2
+
3
+ ## Purpose
4
+
5
+ Document the selected anchor screen and rationale for the design direction.
6
+
7
+ ## Selected Anchor
8
+
9
+ - Screen: [Screen name/identifier]
10
+ - Source option: [Option X from 30_comparison.md]
11
+ - Rationale: [Why this screen was selected as the anchor]
12
+
13
+ ## Anchor Screen Description
14
+
15
+ - Primary purpose: [What the user accomplishes on this screen]
16
+ - Key interactions: [List of primary interactions]
17
+ - Entry points: [How users reach this screen]
18
+ - Exit points: [Where users go from this screen]
19
+
20
+ ## Design Constraints
21
+
22
+ - [Constraint derived from comparison and scoring]
23
+
24
+ ## Cross-references
25
+
26
+ - Option comparison: `30_comparison.md`
27
+ - Screen contracts: `40_contracts.md`
@@ -0,0 +1,30 @@
1
+ # Screen Contracts
2
+
3
+ ## Purpose
4
+
5
+ Draft interaction contracts for the anchor screen and key screens.
6
+
7
+ ## Anchor Screen Contract
8
+
9
+ ### Screen: [Screen name]
10
+
11
+ #### States
12
+
13
+ | State | Trigger | Display | Transitions |
14
+ | --------- | ---------------------- | --------------------------- | ---------------------- |
15
+ | empty | Initial load, no data | [empty state description] | -> loading (on fetch) |
16
+ | loading | Data fetch in progress | [loading indicator] | -> populated, -> error |
17
+ | error | Fetch failure | [error message + retry CTA] | -> loading (on retry) |
18
+ | populated | Data available | [primary content layout] | -> empty (on clear) |
19
+
20
+ #### Interactions
21
+
22
+ | Element | Action | Result | Feedback |
23
+ | ----------- | --------- | --------- | ------------------------ |
24
+ | Primary CTA | Click/tap | [outcome] | [visual/haptic feedback] |
25
+ | [element] | [action] | [result] | [feedback] |
26
+
27
+ ## Cross-references
28
+
29
+ - Anchor selection: `31_anchor.md`
30
+ - State coverage: see `../03_Story-Workshop.md` Design Direction Summary
@@ -0,0 +1,31 @@
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_strategy.md` | [draft/reviewed/approved] |
12
+ | Usability axis | `uiux/20_eval_axis_usability.md` | [draft/reviewed/approved] |
13
+ | Consistency axis | `uiux/21_eval_axis_consistency.md` | [draft/reviewed/approved] |
14
+ | Accessibility axis | `uiux/22_eval_axis_accessibility.md` | [draft/reviewed/approved] |
15
+ | Delight axis | `uiux/23_eval_axis_delight.md` | [draft/reviewed/approved] |
16
+ | Comparison | `uiux/30_comparison.md` | [draft/reviewed/approved] |
17
+ | Anchor selection | `uiux/31_anchor.md` | [draft/reviewed/approved] |
18
+ | Screen contracts | `uiux/40_contracts.md` | [draft/reviewed/approved] |
19
+
20
+ ## Review Checklist
21
+
22
+ - [ ] Strategy aligns with surface type and project constraints
23
+ - [ ] All 4 invariant scoring axes defined with measurable criteria
24
+ - [ ] 2+ options compared against all axes
25
+ - [ ] Anchor screen selected with rationale
26
+ - [ ] Screen contracts cover all 4 required states (empty/loading/error/populated)
27
+ - [ ] Critique loop entries addressed or deferred with rationale
28
+
29
+ ## Reviewer Notes
30
+
31
+ <!-- Reviewer feedback is captured here during the review cycle. -->
@@ -0,0 +1,23 @@
1
+ # Critique Loop Tracking
2
+
3
+ ## Purpose
4
+
5
+ Track iterative design critique rounds and resolutions.
6
+
7
+ ## Critique Log
8
+
9
+ | Round | Source | Finding | Severity | Resolution | Status |
10
+ | ----- | ------------------------- | --------------------- | ----------------- | -------------------------------------- | ------------------------ |
11
+ | 1 | [reviewer/self/automated] | [finding description] | [high/medium/low] | [resolution or rationale for deferral] | [open/resolved/deferred] |
12
+
13
+ ## Resolution Summary
14
+
15
+ - Total findings: 0
16
+ - Resolved: 0
17
+ - Deferred: 0 (with rationale in Deferred column)
18
+ - Open: 0
19
+
20
+ ## Cross-references
21
+
22
+ - Review bundle: `50_review_bundle.md`
23
+ - Design decisions: see `../03_Story-Workshop.md` Design Direction Summary