qfai 1.8.1 → 1.8.2

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 (55) hide show
  1. package/README.md +1 -1
  2. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +2 -2
  3. package/assets/init/.qfai/assistant/agents/product-experience-architect.md +2 -2
  4. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +3 -0
  5. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +2 -1
  6. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +60 -330
  7. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +15 -16
  8. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +13 -21
  9. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_exploration_brief.md +29 -0
  10. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_reference_pool.md +13 -0
  11. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/32_design_anti_goals.md +10 -0
  12. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/33_exploration_rubric.md +27 -0
  13. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/34_evaluator_calibration.md +17 -0
  14. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +16 -22
  15. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +5 -2
  16. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +82 -67
  17. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +4 -2
  18. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/design-system.sample.yaml +4 -0
  19. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/evaluation-rubric.sample.yaml +16 -0
  20. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/evaluator-calibration.sample.yaml +9 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/exploration-brief.sample.yaml +10 -0
  22. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/selected-direction.sample.yaml +7 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +1 -0
  24. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +1 -1
  25. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +6 -6
  26. package/assets/init/.qfai/contracts/README.md +5 -3
  27. package/assets/init/.qfai/contracts/design/README.md +13 -9
  28. package/assets/init/.qfai/discussion/README.md +18 -18
  29. package/assets/uix-rev/comparison-review.md +8 -10
  30. package/assets/uix-rev/contracts-review.md +1 -1
  31. package/assets/uix-rev/scoring-review.md +20 -46
  32. package/assets/uix-rev/strategy-review.md +11 -16
  33. package/dist/cli/index.cjs +902 -1971
  34. package/dist/cli/index.cjs.map +1 -1
  35. package/dist/cli/index.mjs +886 -1955
  36. package/dist/cli/index.mjs.map +1 -1
  37. package/dist/index.cjs +897 -1977
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.cts +12 -0
  40. package/dist/index.d.ts +12 -0
  41. package/dist/index.mjs +875 -1955
  42. package/dist/index.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +0 -38
  45. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +0 -45
  46. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/12_design_system.md +0 -115
  47. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +0 -68
  48. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +0 -130
  49. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +0 -68
  50. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +0 -53
  51. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +0 -28
  52. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +0 -56
  53. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +0 -42
  54. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/anchor-selection.sample.yaml +0 -7
  55. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/evaluation-axes.sample.yaml +0 -24
package/README.md CHANGED
@@ -110,7 +110,7 @@ QFAI includes a small set of custom skills (stored under `.qfai/assistant/skills
110
110
  Run this once right after `npx qfai init`, and re-run it when the repository structure changes.
111
111
  - **qfai-discussion**: Run a unified structured discussion that produces and maintains the latest discussion pack
112
112
  as 15 required markdown files under `.qfai/discussion/discussion-<ts>/`.
113
- UI-bearing discussion packs require `prototyping.yaml`; non-ui discussion packs do not.
113
+ UI-bearing discussion packs may include `prototyping.yaml` as an optional recommendation artifact; non-ui discussion packs typically omit it.
114
114
  - **qfai-sdd**: Unified SDD entrypoint with discussion-pack preflight guard (missing/incomplete/blocking OQ causes stop + next action guidance).
115
115
  - **qfai-prototyping**: Build a contract-aligned UI prototype under the `full-harness` only / UI-only contract, with calibration-pack SSOT and screen-level Browser QA evidence.
116
116
  - **qfai-atdd**: Implement acceptance tests driven by specs/scenarios.
@@ -2,12 +2,12 @@
2
2
 
3
3
  ## Mission
4
4
 
5
- - Implement frontend behavior aligned with selected anchor, strategy, screen contracts, and product experience decisions.
5
+ - Implement frontend behavior aligned with the selected direction, finalized design system, screen contracts, and product experience decisions.
6
6
 
7
7
  ## Domain Responsibilities
8
8
 
9
9
  - Build UI components, states, interactions, and user-facing flows.
10
- - Respect selected anchor, strategy, screen contracts, optional design tokens, optional fallback HTML/CSS mock, and screen flow constraints.
10
+ - Respect the selected direction, finalized design system, screen contracts, optional design tokens, optional fallback HTML/CSS mock, and screen flow constraints.
11
11
  - Coordinate with backend changes without breaking surface contracts.
12
12
  - Implement with KISS and YAGNI: prefer the simplest component/state structure that satisfies the current contract, and do not add speculative hooks, props, flags, or abstraction layers.
13
13
  - Keep UI code cohesive and readable: isolate concerns, minimize hidden coupling, avoid duplication, and use existing patterns/utilities before inventing new ones.
@@ -9,7 +9,7 @@
9
9
  - Define UX direction, user journeys, interaction patterns, and accessibility expectations.
10
10
  - Define visual design direction, tokens, typography, color, and layout hierarchy.
11
11
  - Design navigation structures, IA, and screen transition logic.
12
- - Integrate selected anchor, strategy, screen contracts, evaluation sidecars, and Mermaid flow consistency.
12
+ - Integrate exploration artifacts, selected direction, finalized design system, screen contracts, and Mermaid flow consistency.
13
13
  - Resolve conflicts between specialist design perspectives as a unified product experience decision.
14
14
  - Apply KISS and YAGNI to product-surface design: only add screens, controls, states, and branching flows that are justified by the current user goal.
15
15
  - Keep product experience decisions cohesive and unsurprising across copy, IA, navigation, transitions, and visual hierarchy.
@@ -24,7 +24,7 @@
24
24
  - .github/instructions/principles.instructions.md
25
25
  - .instruction/00_universal/development-principles-checklist.md
26
26
  - .instruction/01_specialties/design.md
27
- - Selected anchor, strategy, screen contracts, evaluation sidecars, optional tokens, optional fallback HTML/CSS mock, and Mermaid flows
27
+ - Exploration brief, reference pool, evaluation rubric, evaluator calibration, selected direction, finalized design system, screen contracts, optional tokens, optional fallback HTML/CSS mock, and Mermaid flows
28
28
  - Runtime screenshots or rendered evidence when available
29
29
 
30
30
  ## Deliverables
@@ -112,6 +112,9 @@ Use the shared schema.
112
112
  - coverage obligations met: E2E covers `US`, Integration covers `TC`, API covers `CON-API`;
113
113
  - Coverage Depth Matrix is reviewed and no unjustified `X` cells remain;
114
114
  - validation evidence exists and `qfai validate --fail-on error` passes;
115
+ - Drift Protocol is enforced;
116
+ - test-layer policy is checked against `.qfai/assistant/steering/test-layers.md`;
117
+ - coverage floors and ratios are signals, not gates;
115
118
  - `scenario.feature` and coverage ledgers remain optional legacy inputs, not completion gates.
116
119
  - Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
117
120
  - Default ATDD review set:
@@ -90,7 +90,8 @@ Use the shared schema.
90
90
  - required roles were delegated;
91
91
  - validate evidence exists: `qfai validate --fail-on error` completed with `error=0`;
92
92
  - Drift Protocol enforced;
93
- - test-layer policy enforced where applicable.
93
+ - test-layer policy enforced against `.qfai/assistant/steering/test-layers.md`;
94
+ - tool-count heuristics are signals, not gates.
94
95
  - Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
95
96
  - Default configure review set:
96
97
  - `completion-reviewer`
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: qfai-discussion
3
- title: QFAI Discussion (Unified Discuss + Require)
4
- description: "Run structured discussion that merges discuss and require into a single 15-file discussion pack with classification-aware prototyping.yaml requiredness and OQ-driven exit."
3
+ title: QFAI Discussion (Exploration Planner)
4
+ description: "Run structured discussion that defines exploration conditions, evaluation rubric, and anti-goals for downstream prototyping."
5
5
  argument-hint: "<idea-or-problem> [--auto]"
6
6
  allowed-tools: [Read, Glob, Write, TodoWrite, Task, Bash]
7
7
  roles:
@@ -21,366 +21,105 @@ routing-profile: requirements-heavy
21
21
  mode: interactive-by-default
22
22
  ---
23
23
 
24
- <!--
25
- QFAI Skill Body (SSOT)
26
- - This file is intended to be referenced by tool-specific wrappers (e.g., GitHub/Claude/Codex skills).
27
- - Keep wrappers thin and route users to this skill body.
28
- -->
29
-
30
- ## /qfai-discussion - Unified Discuss + Require
24
+ ## /qfai-discussion - Exploration Planner
31
25
 
32
26
  [DRIFT-PROTOCOL:MANDATORY]
33
27
 
34
- ## User Questions (AskUserQuestion Protocol)
35
-
36
- Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#user-questions-askuserquestion-protocol`.
37
-
38
- Skill-specific examples:
39
-
40
- - scope confirmation
41
-
42
- ## FORMAT SSOT (Mandatory)
43
-
44
- - Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#format-ssot-mandatory`.
45
- - Before writing artifacts, read:
46
- - `.qfai/discussion/README.md`
47
- - `.qfai/specs/README.md`
48
- - `.qfai/evidence/README.md`
49
- - `.qfai/assistant/steering/agent-catalog.yml`
50
- - `.qfai/assistant/steering/agent-routing.yml`
51
- - `.qfai/assistant/steering/review-profiles.yml`
52
- - `.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md`
53
- - Keep templates as source of truth and preserve file naming/order.
54
-
55
- ## Sub-agent Delegation (MANDATORY)
56
-
57
- Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md`.
58
-
59
- ### Orchestrator Protocol (MUST)
60
-
61
- - No additional overrides.
62
-
63
- ### Capability Probe (MUST)
64
-
65
- 1. Attempt the first required delegation at stage start.
66
- 2. Treat that real delegation attempt as the capability check.
67
- 3. If the delegation fails, stop the stage immediately and report remediation.
68
-
69
- ### Delegation Failure (Hard Stop)
70
-
71
- - No additional overrides.
72
- - Do not simulate roles. If the first required delegation fails, stop the stage and report remediation.
73
-
74
- ## Work Orders Summary
75
-
76
- Use the shared schema (per-row `Status (PASS/REVISE)` column, reviewer response `Result: PASS | REVISE`).
77
-
78
- ### Reviewer Gate (MUST)
28
+ ## Goal
79
29
 
80
- - Delegate final completion gate to an independent `completion-reviewer`.
81
- - Reviewer response must include `Result: PASS | REVISE` (matching shared-skill-delegation-baseline.md#reviewer-response-template).
82
- - Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml` and `.qfai/assistant/steering/review-profiles.yml`.
83
- - Default discussion review set:
84
- - `completion-reviewer`
85
- - `requirements-reviewer`
86
- - Conditional discussion reviewers:
87
- - `architecture-reviewer` when architecture-affecting decisions exist
88
- - `product-surface-reviewer` when the pack is UI-bearing
89
- - Reviewers must check Drift Protocol compliance and alignment with `.qfai/assistant/steering/test-layers.md`.
90
- - Test volume floors or ratios are not gates; they are risk signals.
91
- - Do not declare DONE until all routed blocking reviewers return `PASS`; otherwise apply `REVISE`.
30
+ Produce a unified 15-file discussion pack plus exploration-first UI sidecars so `/qfai-sdd` and `/qfai-prototyping` can operate without forcing an early visual direction decision.
92
31
 
93
32
  ## CRITICAL CONSTRAINTS (Read First)
94
33
 
95
34
  - Output path is fixed: `.qfai/discussion/discussion-YYYYMMDDhhmmssSSS/`.
96
- - Timestamp format is fixed to `YYYYMMDDhhmmssSSS`.
97
- - Required fixed files (all 15 are mandatory):
98
- - `01_Context.md`
99
- - `02_Inception-Deck.md`
100
- - `03_Story-Workshop.md`
101
- - `04_Sources.md`
102
- - `05_Scope.md`
103
- - `06_REQ.md`
104
- - `07_NFR.md`
105
- - `08_Glossary.md`
106
- - `09_Constraints.md`
107
- - `10_Policy.md`
108
- - `11_OQ-Register.md`
109
- - `12_OQ-Resolution-Log.md`
110
- - `13_Deferred.md`
111
- - `14_Review-Request.md`
112
- - `99_delta.md`
35
+ - Required fixed files (all 15 are mandatory) remain unchanged.
36
+ - UI-bearing discussion packs may include `prototyping.yaml` as an optional recommendation artifact; non-ui discussion packs typically omit it.
113
37
  - Discussion completion requires `Disposition: open` count to be zero in `11_OQ-Register.md`.
114
- - `deferred` is allowed only when required metadata is complete in `13_Deferred.md`.
115
- - `02_Inception-Deck.md` and `03_Story-Workshop.md` MUST contain Mermaid diagrams in ` ```mermaid ` fences.
116
38
  - If UI requirements exist, behavior obligations are primary and HTML+CSS mock is optional fallback only.
117
- - UI-bearing discussion packs require `prototyping.yaml`; non-ui discussion packs do not.
118
- - `ui_bearing: true` requires `prototyping.yaml`.
119
- - `ui_bearing: false` means `prototyping.yaml` is not required.
120
- - `prototyping.yaml` must use the canonical namespaced schema under `prototyping:`.
121
- - The canonical namespaced block must include `recommended_mode`, `rationale`, `allowed_modes`, and `surface`.
122
- - Top-level recommendation keys are not supported, and coexistence with namespaced keys is invalid.
123
- - Reviewer routing is derived from `.qfai/assistant/steering/agent-routing.yml` and `.qfai/assistant/steering/review-profiles.yml`.
124
- - RCP wording must be sourced from `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md`.
125
- - Discussion artifacts are logs and rationale; avoid duplicating finalized spec SSOT.
126
- - Example Mapping is mandatory and must be captured as `Example Seeds` sections in `03_Story-Workshop.md`.
127
- - OQ Register and Deferred tables must contain the canonical fields defined in the references.
128
-
129
- ## UI-bearing Detection
130
-
131
- Use `.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md` for the full playbook.
132
-
133
- ### Surface Classification
134
-
135
- Classification is based on surface type, not interaction complexity.
136
-
137
- | Surface Type | UI-bearing | Sidecar Generation | Notes |
138
- | ------------ | ---------- | ------------------ | ---------------------------- |
139
- | web | Yes | Full uiux/ sidecar | UI-bearing |
140
- | mobile | Yes | Full uiux/ sidecar | UI-bearing |
141
- | desktop | Yes | Full uiux/ sidecar | UI-bearing |
142
- | cli | Yes | Full uiux/ sidecar | UI-bearing |
143
- | mixed | Yes | Full uiux/ sidecar | UI-bearing |
144
- | non-ui | No | No uiux/ directory | non-ui sidecar not generated |
145
-
146
- ### Detection Signals
147
-
148
- - Prefer explicit surface declarations in `01_Context.md`.
149
- - HTML tags, Mermaid screen flows, and UI-related stories are supporting signals.
150
- - Classify by surface type, not by interaction complexity.
151
-
152
- ### Sidecar Generation Flow
153
-
154
- Sidecar steps must execute in the order below. **(no parallel)** across Step 1c and Step 1d — Step 1c MUST complete before Step 1d starts.
155
-
156
- - Step 1a — Detect surface type from `01_Context.md`.
157
- - Step 1b — If non-UI, skip steps 1c–1d; no uiux/ directory is created.
158
- - Step 1c — Populate `04_Sources.md` Trend Scan entries for all visual categories (color, typography, visual motif, spacing, shape, imagery), each with an `evaluation_connection` field. **This step MUST finish before Step 1d.**
159
- - Step 1d — Derive trend-based evaluation axes in `uiux/21_design_eval_trend_derived.md`, drawing `source_refs` from the entries completed in Step 1c. Parallel execution with Step 1c is forbidden.
160
- - UI-bearing: generate the full sidecar family and apply UX intent cross-references.
161
- - non-ui: skip sidecar generation entirely; no uiux/ directory, no additional completion conditions.
162
-
163
- ### UI-bearing Completion Conditions
164
-
165
- Use `.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md` for the full matrix.
39
+ - Discussion is planner-first: do not select a single visual winner and do not finalize the design system here.
40
+ - Use artifact files, not conversational summaries, as the downstream handoff.
166
41
 
167
- UI-bearing completion is blocked until all of the following are true:
42
+ ## UI-bearing Canonical Sidecar Family
168
43
 
169
- 1. Strategy is selected in `uiux/10_implementation_strategy.md`.
170
- 2. Scoring axes are defined through the 3-layer evaluation family (`uiux/20_design_eval_invariant.md`, `uiux/21_design_eval_trend_derived.md`, `uiux/22_design_eval_product_specific.md`, `uiux/23_design_eval_aggregate.md`, `uiux/24_design_eval_dynamic_overrides.md`).
171
- 3. Comparison completed and selected anchor documented in `uiux/30_option_comparison.md` and `uiux/31_selected_anchor_screen.md`.
172
- 4. Contracts drafted in `uiux/40_screen_contracts.md`.
44
+ UI-bearing packs must produce the following sidecars as primary truth:
173
45
 
174
- ### Non-UI Completion
175
-
176
- For non-UI projects, no additional UI/UX conditions apply, no sidecar artifacts are required, and `prototyping.yaml` is not required. uiux sidecar generation is skipped.
177
-
178
- ## UI-bearing Authoring Requirements
179
-
180
- - Detection uses **surface type classification** as primary SSOT; HTML tags / Mermaid flows are **supplementary detection hints, not the primary SSOT**. **Non-UI packs are exempt** from sidecar validators (UIX-VAL series) — **zero new issues** when properly classified.
181
- - UI-bearing packs rely on the **canonical sidecar family** as primary truth: `uiux/10_implementation_strategy.md`, `uiux/11_design_taste_interview.md`, `uiux/12_design_system.md`, `uiux/20..24_design_eval_*.md`, `uiux/30_option_comparison.md` (**option comparison**), `uiux/31_selected_anchor_screen.md`, `uiux/40_screen_contracts.md`, `uiux/50_review_input_bundle.md`.
182
- - **Competitive Reference Registry** (`04_Sources.md`) entries must populate `adopted_points`, `rejected_points`, `local_translation`. **Placeholder-like values (TBD/N/A/TODO/empty) are treated as missing**. `99_delta.md` must include `## Rejected Visual Directions` with rationale and recurrence prevention. **Sidecar-family validators** (UIX-VAL series) are the primary quality gates for UI-bearing packs; non-ui packs stay exempt. Playbook detail: `references/ui-bearing-playbook.md` / `references/discussion-completion-matrix.md`.
183
-
184
- ## Goal
185
-
186
- Produce a unified 15-file discussion pack with explicit decisions, requirements, OQ states, and rationale so `/qfai-sdd` starts without unresolved blockers.
187
-
188
- ## Non-goals
189
-
190
- - Editing `.qfai/specs/**` directly
191
- - Writing implementation-level details
192
- - Leaving open blockers hidden in free text
193
-
194
- ## Mandatory Outputs
195
-
196
- - `.qfai/discussion/discussion-*/01_Context.md`
197
- - `.qfai/discussion/discussion-*/02_Inception-Deck.md`
198
- - `.qfai/discussion/discussion-*/03_Story-Workshop.md`
199
- - `.qfai/discussion/discussion-*/04_Sources.md`
200
- - `.qfai/discussion/discussion-*/05_Scope.md`
201
- - `.qfai/discussion/discussion-*/06_REQ.md`
202
- - `.qfai/discussion/discussion-*/07_NFR.md`
203
- - `.qfai/discussion/discussion-*/08_Glossary.md`
204
- - `.qfai/discussion/discussion-*/09_Constraints.md`
205
- - `.qfai/discussion/discussion-*/10_Policy.md`
206
- - `.qfai/discussion/discussion-*/11_OQ-Register.md`
207
- - `.qfai/discussion/discussion-*/12_OQ-Resolution-Log.md`
208
- - `.qfai/discussion/discussion-*/13_Deferred.md`
209
- - `.qfai/discussion/discussion-*/14_Review-Request.md`
210
- - `.qfai/discussion/discussion-*/99_delta.md`
211
- - review artifacts under `.qfai/review/review-YYYYMMDDhhmmssSSS/`
212
- - `.qfai/discussion/discussion-*/prototyping.yaml` when the latest discussion pack is `ui_bearing: true`
213
- - Evidence file: `.qfai/evidence/discussion-YYYYMMDDhhmmssSSS.md`
214
- - Reviewer notes (`PASS` or `REVISE`)
46
+ - `uiux/30_exploration_brief.md`
47
+ - `uiux/31_reference_pool.md`
48
+ - `uiux/32_design_anti_goals.md`
49
+ - `uiux/33_exploration_rubric.md`
50
+ - `uiux/34_evaluator_calibration.md`
51
+ - `uiux/40_screen_contracts.md`
52
+ - `uiux/50_review_input_bundle.md`
215
53
 
216
54
  ## Required Process
217
55
 
218
56
  1. Run the core interview for concept, scope, stakeholders, and constraints.
219
57
  2. Run Inception Deck and include at least one Mermaid diagram.
220
58
  3. Run Story Workshop, capture user stories and user flows, and keep HTML+CSS mock as optional fallback only.
221
- 4. Register source traceability in `04_Sources.md`.
59
+ 4. Register source traceability and reference research in `04_Sources.md`.
222
60
  5. Capture scope, REQ, NFR, glossary, constraints, and policies.
223
61
  6. Run Example Mapping and capture `Example Seeds`.
224
62
  7. Update `11_OQ-Register.md`, resolve OQs until open count is zero, and move deferred items to `13_Deferred.md`.
225
- 8. Update `12_OQ-Resolution-Log.md`, `14_Review-Request.md`, and `99_delta.md`.
226
- 9. Generate `prototyping.yaml` only when the latest discussion pack is UI-bearing.
63
+ 8. Generate the exploration-first sidecar family for UI-bearing targets.
64
+ 9. Generate `prototyping.yaml` only when the latest discussion pack is UI-bearing and an explicit prototyping recommendation is useful.
227
65
  10. Request review and record the Reviewer result.
228
- 11. **UI-bearing only — Design system initialization.**
229
- - **Step 11.3 — Brand archetype selection and design system scaffold (autonomous; skip when `surface: non-ui`).**
230
- - Phase A (brand autonomous selection): The agent MUST select one of the 8 canonical brand archetypes from `references/design-md-brand-catalog.md` by scoring each archetype against the taste-interview data in `uiux/11_design_taste_interview.md`. No human-confirmation prompt is issued; the agent selects autonomously using the highest aggregate score. When two archetypes tie, apply the tie-breaker: highest visual-theme weight, then alphabetical archetype name. The selected archetype name and rationale MUST be written into `uiux/12_design_system.md` under `## Visual Theme`.
231
- - Phase B (customization): Apply the selected archetype's `aesthetic_properties` as defaults for Color Palette, Typography, Spacing & Layout, Component Style, and Animation & Motion. Override any default that conflicts with explicit constraints captured in `06_REQ.md`, `09_Constraints.md`, or taste-interview directives. Record each override and its rationale.
232
- - Step 11.3 is idempotent: running it twice against the same `11_design_taste_interview.md` MUST produce byte-identical `12_design_system.md`.
233
- - **Step 11.5 — Visual-axis derivation mandate (UI-bearing packs with visual-category Trend Scan entries).**
234
- Before trend-derived axis finalization for any UI-bearing run, the agent MUST perform design guideline research against the applicable platform or library guidance and record the findings in `04_Sources.md` under `design_guideline_research`. The resulting TRD-XX visual axes MUST then be written in `uiux/21_design_eval_trend_derived.md`.
235
- For every visual-category Trend Scan entry in `04_Sources.md` (color, typography, visual motif, spacing, shape, imagery), the agent MUST derive at least one corresponding TRD-XX axis in `uiux/21_design_eval_trend_derived.md` with `source_refs` pointing to that entry. If no visual axis is derived despite visual Trend Scan entries existing, UIX-VAL-T04 (WARNING per NFR-0007) will fire at validation time.
236
-
237
- Detailed execution guidance lives in:
238
-
239
- - `.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md`
240
- - `.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md`
241
- - `.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md`
242
- - `.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md`
243
-
244
- ## Example Mapping Perspectives (Mandatory)
245
66
 
246
- Use `.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md`.
247
-
248
- Minimum perspectives that must remain visible:
249
-
250
- 1. Happy path
251
- 2. Negative path
252
- 3. Edge or boundary
253
- 4. Permission or role
254
- 5. State transition when stateful
255
- 6. Idempotency or retry when external I/O exists
256
-
257
- ## OQ Data Model (Mandatory)
258
-
259
- `11_OQ-Register.md` must use the canonical fields from `.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md`, including:
260
-
261
- - `OQ-ID`
262
- - `Gate` (`discussion|sdd|atdd|tdd|ops`)
263
- - `Disposition`
264
- - `Owner`
265
- - `Recommendation`
266
- - `Next-Decision-Point`
267
- - `Evidence`
268
-
269
- ## Deferred Metadata Rules (Mandatory)
67
+ ## UI-bearing Authoring Requirements
270
68
 
271
- `13_Deferred.md` must use the canonical deferred fields from `.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md`.
69
+ - `30_exploration_brief.md` must define product intent, must-preserve interactions, brand signals, and differentiation targets.
70
+ - `31_reference_pool.md` must define exploration references, adopted points, rejected points, and local translation.
71
+ - `32_design_anti_goals.md` must contain explicit anti-goals and recurrence prevention notes.
72
+ - `33_exploration_rubric.md` must define design quality, originality, craft, and functionality grading criteria.
73
+ - `34_evaluator_calibration.md` must include good critique examples, too-lenient examples, blandness-fail examples, and originality-fail examples.
74
+ - `50_review_input_bundle.md` must document best-of-history handling so later iterations are not automatically preferred.
272
75
 
273
- ## Drift Protocol (Mandatory)
76
+ ## Completion Contract (Shared)
274
77
 
275
- At any point during discussion:
78
+ Before declaring completion, you MUST:
276
79
 
277
- 1. Record the drift event in `99_delta.md`.
278
- 2. Assess impact on all 15 files plus `prototyping.yaml`.
279
- 3. Update affected files and re-validate OQ exit conditions.
280
- 4. If drift contradicts a rejected option, record recurrence prevention.
80
+ - verify all 15 mandatory output files exist and are populated;
81
+ - ensure `Disposition: open` count is zero in `11_OQ-Register.md`;
82
+ - ensure every deferred item has full metadata in `13_Deferred.md`;
83
+ - ensure `02_Inception-Deck.md` and `03_Story-Workshop.md` include Mermaid diagrams;
84
+ - ensure the UI-bearing sidecar family is complete;
85
+ - avoid selecting a single visual winner in discussion artifacts.
281
86
 
282
- ## Review Gate Artifacts (RCP)
87
+ ### Reviewer Gate (MUST)
283
88
 
284
- For each review cycle, create:
89
+ Reviewer checks must confirm:
285
90
 
286
- - `.qfai/review/review-<timestamp>/review_request.md`
287
- - `.qfai/review/review-<timestamp>/R01_<reviewer>.md`, `R02_<reviewer>.md`, ...
288
- - `.qfai/review/review-<timestamp>/summary.json`
91
+ - the 15-file discussion pack is complete
92
+ - `Disposition: open` count is zero in `11_OQ-Register.md`
93
+ - the UI-bearing sidecar family is complete when the pack is UI-bearing
94
+ - discussion stayed planner-first and did not choose a single visual winner
95
+ - Drift Protocol is enforced
96
+ - review policy is checked against `.qfai/assistant/steering/test-layers.md`
97
+ - planning and coverage heuristics are signals, not gates
98
+ - review findings end with `Status (PASS/REVISE)`
99
+ - Reviewer result is explicit as `PASS` or `REVISE`
289
100
 
290
- Use `.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md` for append-only review pack rules, rerun rules, and `summary.json` requirements.
101
+ ## Sub-agent Delegation (MANDATORY)
291
102
 
292
- ## RCP Footer Include (MUST)
103
+ Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md`.
293
104
 
294
- - Include and follow `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md`.
295
- - Routing and rerun rules must stay synchronized with `agent-routing.yml` and the footer SSOT.
105
+ ### Orchestrator Protocol (MUST)
296
106
 
297
- ## Required Coverage Topics
107
+ - do not self-approve
108
+ - use artifact files as the handoff surface
109
+ - integrate delegated outputs only after checking pack completeness
298
110
 
299
- Use `.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md`.
111
+ ### Capability Probe (MUST)
300
112
 
301
- Minimum topics that must remain covered:
113
+ - No additional overrides.
302
114
 
303
- 1. product concept and target users
304
- 2. scope boundary and anti-goals
305
- 3. user stories and user flows
306
- 4. functional requirements with source traceability
307
- 5. non-functional requirements with measurable targets
308
- 6. security, performance, and operational constraints
309
- 7. domain glossary consistency
310
- 8. project policies
115
+ ### Delegation Failure (Hard Stop)
311
116
 
312
- ## Completion Contract (Shared)
117
+ - No additional overrides.
118
+ - Do not simulate roles. If the first required delegation fails, stop the stage and report remediation.
313
119
 
314
- Before declaring completion, you MUST:
120
+ ## Work Orders Summary
315
121
 
316
- - verify all 15 mandatory output files exist and are populated;
317
- - ensure `Disposition: open` count is zero in `11_OQ-Register.md`;
318
- - ensure every deferred item has full metadata in `13_Deferred.md`;
319
- - ensure `02_Inception-Deck.md` and `03_Story-Workshop.md` include Mermaid diagrams;
320
- - ensure `Example Seeds` coverage is explicit in `03_Story-Workshop.md`;
321
- - ensure UI-related stories include behavior obligations in `03_Story-Workshop.md`;
322
- - ensure UI-bearing sidecars satisfy the completion matrix;
323
- - avoid duplicating finalized spec content in discussion outputs.
324
-
325
- ## Evidence (MANDATORY)
326
-
327
- Create/update: `.qfai/evidence/discussion-YYYYMMDDhhmmssSSS.md`
328
-
329
- Required sections:
330
-
331
- - Objective
332
- - Inputs reviewed (files/paths)
333
- - Interview summary
334
- - Inception Deck summary
335
- - Story Workshop summary
336
- - Requirements summary (REQ count, NFR count)
337
- - OQ register summary
338
- - Deferred summary
339
- - Work Orders Summary
340
- - Reviewer result (`PASS`/`REVISE`)
341
-
342
- ## DONE Declaration (Mandatory Output)
343
-
344
- When done, report:
345
-
346
- - generated discussion path (`.qfai/discussion/discussion-*/`)
347
- - open OQ count
348
- - deferred OQ count
349
- - REQ count
350
- - NFR count
351
- - reviewer result
352
- - ready-for-next command (`/qfai-sdd`)
353
-
354
- ## FINAL CHECKLIST (Check Last)
355
-
356
- - [ ] CRITICAL CONSTRAINTS were followed.
357
- - [ ] All 15 required discussion files `01..14, 99` were produced.
358
- - [ ] OQ register fields follow the canonical data model.
359
- - [ ] Deferred table fields follow the canonical deferred data model.
360
- - [ ] `Disposition: open` count is zero at completion.
361
- - [ ] Deferred items include required metadata.
362
- - [ ] `02_Inception-Deck.md` includes at least one Mermaid diagram.
363
- - [ ] `03_Story-Workshop.md` includes at least one Mermaid diagram.
364
- - [ ] UI-related stories include behavior obligations in `03_Story-Workshop.md`.
365
- - [ ] Mermaid fence rules were satisfied when diagrams were used.
366
- - [ ] Evidence file exists and includes Work Orders Summary + Reviewer result.
367
- - [ ] Reviewer returned `PASS`.
368
-
369
- ## Completion Checklist (MUST)
370
-
371
- - [ ] This skill's Definition of Done is satisfied.
372
- - [ ] Required artifacts were produced or updated.
373
- - [ ] Diagram artifacts follow Mermaid fence rules.
374
- - [ ] Open questions were logged to the proper OQ file.
375
- - [ ] The completion message was presented to the user.
376
- - [ ] Next actions were enumerated for all available options.
377
-
378
- ## Review Cycle Checklist (MUST)
379
-
380
- - [ ] Review artifacts were generated for each required discussion review cycle.
381
- - [ ] All required reviewers completed their reviews for each review pack.
382
- - [ ] Any feedback triggered return/fix and a new review pack was appended.
383
- - [ ] `summary.json` satisfies the required schema with `target.kind: "discussion"`.
122
+ Use the shared schema (per-row `Status (PASS/REVISE)` column, reviewer response `Result: PASS | REVISE`).
384
123
 
385
124
  ## Completion Message & Next Actions (MUST)
386
125
 
@@ -388,12 +127,3 @@ You MUST end the user-facing output with a handoff sentence to `/qfai-sdd` in th
388
127
 
389
128
  - Japanese output (use this exact sentence):
390
129
  ディスカッションが完了しました。他に要望などがあればご提示ください。問題なければ『/qfai-sdd』と入力してください。
391
- - Non-Japanese output:
392
- Use the same meaning in the active user language, and keep `/qfai-sdd` as a literal command token.
393
-
394
- - Proceed (recommended): `/qfai-sdd`.
395
- Action: run preflight on the latest discussion pack and generate shared/spec artifacts.
396
- - Upstream idea is still unclear: rerun `/qfai-discussion`.
397
- Action: continue discussion loops until OQ states are explicit and complete.
398
- - Need additional risk analysis before SDD:
399
- Action: update `03_Story-Workshop.md` and `11_OQ-Register.md` with additional findings.
@@ -35,35 +35,34 @@
35
35
  - Acceptance criteria are consistent with flows/state transitions
36
36
  - Security/operations risks are reflected in diagrams where relevant
37
37
  - Mermaid diagrams use ` ```mermaid ` fences only
38
- - Strategy alignment and chosen_option consistency (when UI-bearing)
39
- - Taste reflection completeness and clarity (when UI-bearing)
40
- - Trend scan freshness and evidence traceability (when UI-bearing)
41
- - 3-layer axes evaluation quality and traceability (when UI-bearing)
42
- - Option comparison integrity (when UI-bearing)
43
- - Selected anchor screen clarity and anchor justification (when UI-bearing)
38
+ - Exploration brief completeness and differentiation clarity (when UI-bearing)
39
+ - Reference pool freshness and translation quality (when UI-bearing)
40
+ - Exploration rubric quality and evaluation traceability (when UI-bearing)
41
+ - Evaluator calibration skepticism and blandness rejection quality (when UI-bearing)
42
+ - Best-of-history handling and winner selection consistency (when UI-bearing)
44
43
  - Screen contract sufficiency and strong schema completeness (when UI-bearing)
45
44
  - Generic fallback risk — ensure no unreviewed generic/placeholder UI remains (when UI-bearing)
46
45
  - OQ register exit condition (open count = 0)
47
46
  - Deferred items have full metadata
48
47
 
49
- ## Selected Anchor Consistency
48
+ ## Exploration Direction Consistency
50
49
 
51
50
  <!-- Required for UI-bearing packs. Verifies sidecar-family alignment. -->
52
51
 
53
- - Selected anchor: verify `uiux/31_selected_anchor_screen.md` selected anchor is populated and references a compared option from `uiux/30_option_comparison.md`
54
- - Strategy alignment: verify `uiux/10_implementation_strategy.md` aligns with the selected anchor in `uiux/31_selected_anchor_screen.md`
55
- - Evaluation traceability: verify selected anchor rationale aligns with 3-layer evaluation family (20/21/22/23 + optional 24)
52
+ - Exploration brief: verify `uiux/30_exploration_brief.md` defines product intent, must-preserve interactions, brand signals, and differentiation targets
53
+ - Evaluation alignment: verify `uiux/33_exploration_rubric.md` and `uiux/34_evaluator_calibration.md` support skeptical evaluation and originality pressure
54
+ - History handling: verify `uiux/50_review_input_bundle.md` documents best-of-history comparison instead of latest-only preference
56
55
 
57
56
  ## Sidecar Artifact Review Scope
58
57
 
59
58
  <!-- Required for UI-bearing packs. Reviews uiux/ sidecar artifacts. -->
60
59
 
61
- - Verify all 11 uiux/ sidecar files are present (when UI-bearing)
62
- - Verify uiux/10_implementation_strategy.md strict canonical schema is complete
63
- - Verify scoring axes have evaluation criteria and measurement approaches
64
- - Verify option comparison covers 2+ options against all scoring axes in `uiux/30_option_comparison.md`
65
- - Verify `uiux/31_selected_anchor_screen.md` selected anchor references a compared option
66
- - Verify `uiux/24_design_eval_dynamic_overrides.md` has documented override rules
60
+ - Verify exploration sidecars are present and complete (`30` to `34`, `40`, `50`)
61
+ - Verify `uiux/30_exploration_brief.md` is specific enough to support divergent exploration
62
+ - Verify `uiux/31_reference_pool.md` documents adopted, rejected, and locally translated references
63
+ - Verify `uiux/33_exploration_rubric.md` weights design quality and originality explicitly
64
+ - Verify `uiux/34_evaluator_calibration.md` contains good-critique / too-lenient / blandness-fail / originality-fail examples
65
+ - Verify `uiux/50_review_input_bundle.md` preserves best-of-history handling
67
66
  - Verify screen contracts use nested strong schema with all 4 required states (default/loading/empty/error) and treat `uiux/40_screen_contracts.md` as the state SSOT
68
67
 
69
68
  ## Required Reviewers
@@ -6,35 +6,27 @@ 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_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 |
9
+ | File | Purpose | Required |
10
+ | --------------------------- | -------------------------------------------- | -------- |
11
+ | 00_index.md | This manifest | Yes |
12
+ | 30_exploration_brief.md | Exploration brief and design intent | Yes |
13
+ | 31_reference_pool.md | Exploration references and local translation | Yes |
14
+ | 32_design_anti_goals.md | Anti-goals and recurrence prevention | Yes |
15
+ | 33_exploration_rubric.md | Evaluator rubric | Yes |
16
+ | 34_evaluator_calibration.md | Evaluator calibration examples | Yes |
17
+ | 40_screen_contracts.md | Screen interaction contracts (11 fields) | Yes |
18
+ | 50_review_input_bundle.md | Review input bundle | Yes |
23
19
 
24
20
  ## Completeness Rule
25
21
 
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).
22
+ All required files (8 files) MUST be present for a UI-bearing pack. Partial generation is not permitted (BR-0026-0002).
27
23
 
28
24
  ## Forbidden Legacy Files
29
25
 
30
26
  The following files are NOT part of the canonical family and must NOT be created in new packs:
31
27
 
32
- - `30_comparison.md` — replaced by `30_option_comparison.md`
33
- - `31_anchor.md` — replaced by `31_selected_anchor_screen.md`
28
+ - `30_option_comparison.md` — replaced by `30_exploration_brief.md`
29
+ - `31_selected_anchor_screen.md` — replaced by `31_reference_pool.md` + `selected-direction.yaml`
34
30
  - `40_contracts.md` — replaced by `40_screen_contracts.md`
35
31
  - `50_review_bundle.md` — replaced by `50_review_input_bundle.md`
36
32
  - `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