qfai 1.7.2 → 1.7.4
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/README.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +60 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +33 -6
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/05_Scope.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/08_Glossary.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +11 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +25 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +28 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +26 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +26 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +26 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +34 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +30 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +27 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +30 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +31 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +23 -0
- package/dist/cli/index.cjs +87 -33
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +87 -33
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- 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
|
|
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
|
-
-
|
|
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.
|
|
@@ -43,10 +43,36 @@ flowchart TD
|
|
|
43
43
|
- Steps:
|
|
44
44
|
- Exit point:
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Behavior Obligations
|
|
47
47
|
|
|
48
|
-
|
|
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
|
|
|
@@ -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`.
|
|
@@ -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`
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md
ADDED
|
@@ -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
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md
ADDED
|
@@ -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
|