qfai 1.7.9 → 1.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +34 -70
  2. package/assets/init/.qfai/README.md +11 -16
  3. package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +51 -0
  4. package/assets/init/.qfai/assistant/agents/architecture-reviewer.md +57 -0
  5. package/assets/init/.qfai/assistant/agents/backend-engineer.md +40 -31
  6. package/assets/init/.qfai/assistant/agents/completion-reviewer.md +48 -0
  7. package/assets/init/.qfai/assistant/agents/delivery-planner.md +52 -0
  8. package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +31 -28
  9. package/assets/init/.qfai/assistant/agents/discovery-analyst.md +50 -0
  10. package/assets/init/.qfai/assistant/agents/doc-steward.md +30 -20
  11. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +40 -31
  12. package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +58 -0
  13. package/assets/init/.qfai/assistant/agents/orchestrator.md +19 -2
  14. package/assets/init/.qfai/assistant/agents/product-experience-architect.md +59 -0
  15. package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +60 -0
  16. package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +53 -48
  17. package/assets/init/.qfai/assistant/agents/qa-strategist.md +49 -0
  18. package/assets/init/.qfai/assistant/agents/requirements-analyst.md +32 -29
  19. package/assets/init/.qfai/assistant/agents/requirements-reviewer.md +48 -0
  20. package/assets/init/.qfai/assistant/agents/solution-architect.md +59 -0
  21. package/assets/init/.qfai/assistant/agents/test-design-analyst.md +64 -0
  22. package/assets/init/.qfai/assistant/instructions/agent-selection.md +64 -50
  23. package/assets/init/.qfai/assistant/instructions/communication.md +17 -0
  24. package/assets/init/.qfai/assistant/instructions/constitution.md +36 -1
  25. package/assets/init/.qfai/assistant/instructions/drift-protocol.md +1 -1
  26. package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +20 -13
  27. package/assets/init/.qfai/assistant/instructions/workflow.md +2 -1
  28. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +32 -31
  29. package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +80 -0
  30. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +21 -15
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +95 -61
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +17 -85
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
  35. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +17 -60
  36. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +69 -2
  37. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +1 -1
  38. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
  39. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +1 -1
  40. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
  41. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
  42. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
  43. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +1 -1
  44. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +25 -16
  45. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
  46. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +9 -0
  47. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +8 -4
  48. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +11 -7
  49. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +6 -44
  50. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +29 -14
  51. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +20 -0
  52. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +45 -0
  53. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +68 -0
  54. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +68 -0
  55. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +68 -0
  56. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +41 -0
  57. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +28 -0
  58. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +56 -0
  59. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +42 -0
  60. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +44 -0
  61. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +36 -0
  62. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +65 -67
  63. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +171 -279
  64. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +91 -57
  65. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +21 -80
  66. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/import-lite.md +1 -1
  67. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +50 -0
  68. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +23 -3
  69. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +25 -17
  70. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +194 -0
  71. package/assets/init/.qfai/assistant/steering/agent-routing.yml +176 -0
  72. package/assets/init/.qfai/assistant/steering/cli-ux-guidelines.md +49 -0
  73. package/assets/init/.qfai/assistant/steering/manifest.md +44 -19
  74. package/assets/init/.qfai/assistant/steering/product.md +53 -11
  75. package/assets/init/.qfai/assistant/steering/research-first-protocol.md +58 -0
  76. package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +17 -66
  77. package/assets/init/.qfai/assistant/steering/review-profiles.yml +30 -0
  78. package/assets/init/.qfai/assistant/steering/structure.md +30 -16
  79. package/assets/init/.qfai/assistant/steering/tech.md +37 -21
  80. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +54 -0
  81. package/assets/init/.qfai/contracts/README.md +10 -4
  82. package/assets/init/.qfai/contracts/design/README.md +32 -0
  83. package/assets/init/.qfai/contracts/ui/README.md +5 -3
  84. package/assets/init/.qfai/discussion/README.md +52 -5
  85. package/assets/init/.qfai/evidence/README.md +143 -116
  86. package/assets/init/.qfai/report/README.md +1 -1
  87. package/assets/init/.qfai/review/README.md +24 -9
  88. package/assets/init/.qfai/specs/README.md +5 -2
  89. package/assets/init/root/qfai.config.yaml +13 -0
  90. package/assets/uix-rev/comparison-review.md +24 -7
  91. package/assets/uix-rev/contracts-review.md +17 -10
  92. package/assets/uix-rev/scoring-review.md +42 -6
  93. package/assets/uix-rev/strategy-review.md +13 -9
  94. package/dist/cli/index.cjs +15618 -11547
  95. package/dist/cli/index.cjs.map +1 -1
  96. package/dist/cli/index.mjs +15487 -11415
  97. package/dist/cli/index.mjs.map +1 -1
  98. package/dist/index.cjs +10486 -6080
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.cts +766 -198
  101. package/dist/index.d.ts +766 -198
  102. package/dist/index.mjs +10823 -6420
  103. package/dist/index.mjs.map +1 -1
  104. package/package.json +11 -3
  105. package/assets/init/.qfai/assistant/agents/architect-reviewer.md +0 -65
  106. package/assets/init/.qfai/assistant/agents/architect.md +0 -49
  107. package/assets/init/.qfai/assistant/agents/atdd-api-implementer.md +0 -49
  108. package/assets/init/.qfai/assistant/agents/atdd-e2e-implementer.md +0 -48
  109. package/assets/init/.qfai/assistant/agents/atdd-integration-implementer.md +0 -48
  110. package/assets/init/.qfai/assistant/agents/backend-reviewer.md +0 -66
  111. package/assets/init/.qfai/assistant/agents/code-reviewer.md +0 -67
  112. package/assets/init/.qfai/assistant/agents/contract-designer.md +0 -49
  113. package/assets/init/.qfai/assistant/agents/coverage-planner.md +0 -49
  114. package/assets/init/.qfai/assistant/agents/design-owner.md +0 -48
  115. package/assets/init/.qfai/assistant/agents/design-review-lead.md +0 -68
  116. package/assets/init/.qfai/assistant/agents/facilitator.md +0 -48
  117. package/assets/init/.qfai/assistant/agents/frontend-reviewer.md +0 -66
  118. package/assets/init/.qfai/assistant/agents/interviewer.md +0 -45
  119. package/assets/init/.qfai/assistant/agents/option-explorer.md +0 -51
  120. package/assets/init/.qfai/assistant/agents/option-reviewer.md +0 -66
  121. package/assets/init/.qfai/assistant/agents/oq-harvester.md +0 -50
  122. package/assets/init/.qfai/assistant/agents/oq-reviewer.md +0 -70
  123. package/assets/init/.qfai/assistant/agents/planner.md +0 -48
  124. package/assets/init/.qfai/assistant/agents/project-lead.md +0 -47
  125. package/assets/init/.qfai/assistant/agents/prototyping-coverage-auditor.md +0 -46
  126. package/assets/init/.qfai/assistant/agents/qa-engineer.md +0 -47
  127. package/assets/init/.qfai/assistant/agents/qa-lead.md +0 -44
  128. package/assets/init/.qfai/assistant/agents/qa-reviewer.md +0 -66
  129. package/assets/init/.qfai/assistant/agents/researcher.md +0 -47
  130. package/assets/init/.qfai/assistant/agents/reviewer.md +0 -62
  131. package/assets/init/.qfai/assistant/agents/runtime-gatekeeper.md +0 -46
  132. package/assets/init/.qfai/assistant/agents/test-case-owner.md +0 -53
  133. package/assets/init/.qfai/assistant/agents/test-engineer.md +0 -50
  134. package/assets/init/.qfai/assistant/agents/test-volume-estimator.md +0 -48
  135. package/assets/init/.qfai/assistant/agents/ui-ux-reviewer.md +0 -71
  136. package/assets/init/.qfai/assistant/agents/unit-test-scope-enforcer.md +0 -46
  137. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +0 -28
  138. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +0 -31
  139. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +0 -31
  140. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +0 -31
  141. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +0 -56
  142. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +0 -45
  143. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +0 -27
  144. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +0 -51
  145. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +0 -31
  146. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +0 -23
  147. package/assets/init/.qfai/assistant/skills/qfai-prototyping-full-harness/SKILL.md +0 -185
  148. package/assets/init/.qfai/assistant/steering/review-roster.yml +0 -128
  149. package/assets/init/.qfai/evidence/.gitignore +0 -3
  150. package/assets/init/.qfai/report/.gitignore +0 -3
  151. package/assets/init/.qfai/review/.gitignore +0 -5
@@ -0,0 +1,194 @@
1
+ schema_version: "1.0"
2
+
3
+ agents:
4
+ - id: orchestrator
5
+ kind: worker
6
+ domain: orchestration
7
+ mission: Plan, delegate, integrate, and enforce stage gates without self-authoring.
8
+ owned_artifacts: [work-orders, integration-summary, stage-gate-summary]
9
+ tool_profile: orchestration
10
+ permission_profile: no_primary_authoring
11
+ specialization_tags: [supervisor, gate-control, evidence]
12
+ replaces: [orchestrator]
13
+
14
+ - id: delivery-planner
15
+ kind: worker
16
+ domain: planning
17
+ mission: Create phased delivery plans, ownership splits, risk controls, and rerun policies.
18
+ owned_artifacts: [phase-plan, work-orders, parallelization-plan]
19
+ tool_profile: planning
20
+ permission_profile: read-heavy
21
+ specialization_tags: [planning, prioritization, parallelization]
22
+ replaces: [planner, project-lead]
23
+
24
+ - id: discovery-analyst
25
+ kind: worker
26
+ domain: discovery
27
+ mission: Gather pre-knowledge, ask focused questions, and facilitate decision-making.
28
+ owned_artifacts: [discovery-summary, question-set, facilitation-notes]
29
+ tool_profile: discussion
30
+ permission_profile: read-heavy
31
+ specialization_tags: [research, interviewing, facilitation]
32
+ replaces: [researcher, interviewer, facilitator]
33
+
34
+ - id: requirements-analyst
35
+ kind: worker
36
+ domain: requirements
37
+ mission: Produce testable requirements, option sets, and explicit open-question ledgers.
38
+ owned_artifacts: [requirements, options, oq-ledger]
39
+ tool_profile: structured-authoring
40
+ permission_profile: authoring
41
+ specialization_tags: [requirements, options, oq]
42
+ replaces: [requirements-analyst, oq-harvester, option-explorer]
43
+
44
+ - id: solution-architect
45
+ kind: worker
46
+ domain: architecture
47
+ mission: Define architecture and contract decisions aligned with specs, constraints, and rejected-option history.
48
+ owned_artifacts: [architecture-decisions, contracts, boundaries]
49
+ tool_profile: architecture
50
+ permission_profile: authoring
51
+ specialization_tags: [architecture, contracts, boundaries]
52
+ replaces: [architect, contract-designer]
53
+
54
+ - id: product-experience-architect
55
+ kind: worker
56
+ domain: product-surface-design
57
+ mission: Own UX, visual design, navigation, screen transitions, and integrated experience direction.
58
+ owned_artifacts: [ux-direction, visual-direction, navigation-model, transition-model]
59
+ tool_profile: design
60
+ permission_profile: authoring
61
+ specialization_tags: [ux, design, navigation, transitions]
62
+ replaces:
63
+ [design-owner, design-expert, uiux-expert, navigation-expert, screen-transition-expert]
64
+
65
+ - id: frontend-engineer
66
+ kind: worker
67
+ domain: frontend
68
+ mission: Implement frontend behavior aligned with selected direction, strategy, screen contracts, and product-surface decisions.
69
+ owned_artifacts: [ui-implementation, surface-evidence]
70
+ tool_profile: frontend
71
+ permission_profile: authoring
72
+ specialization_tags: [frontend, ui]
73
+ replaces: [frontend-engineer]
74
+
75
+ - id: backend-engineer
76
+ kind: worker
77
+ domain: backend
78
+ mission: Implement backend behavior aligned with specs, API/DB contracts, and operational constraints.
79
+ owned_artifacts: [backend-implementation, api-db-evidence]
80
+ tool_profile: backend
81
+ permission_profile: authoring
82
+ specialization_tags: [backend, api, db]
83
+ replaces: [backend-engineer]
84
+
85
+ - id: acceptance-test-engineer
86
+ kind: worker
87
+ domain: acceptance-testing
88
+ mission: Implement E2E, API, and integration acceptance coverage with explicit traceability.
89
+ owned_artifacts: [tests, coverage-map, execution-evidence]
90
+ tool_profile: testing
91
+ permission_profile: authoring
92
+ specialization_tags: [e2e, api-test, integration-test]
93
+ replaces:
94
+ [atdd-api-implementer, atdd-e2e-implementer, atdd-integration-implementer, test-engineer]
95
+
96
+ - id: test-design-analyst
97
+ kind: worker
98
+ domain: test-design
99
+ mission: Define test structure, coverage obligations, traceability, and test-scope boundaries.
100
+ owned_artifacts: [coverage-plan, tc-design, layer-boundaries]
101
+ tool_profile: testing
102
+ permission_profile: authoring
103
+ specialization_tags: [coverage, traceability, tc-design]
104
+ replaces: [test-case-owner, coverage-planner, test-volume-estimator, unit-test-scope-enforcer]
105
+
106
+ - id: qa-strategist
107
+ kind: worker
108
+ domain: quality-strategy
109
+ mission: Own QA strategy, quality posture, traceability expectations, and failure-handling design.
110
+ owned_artifacts: [qa-strategy, risk-summary, quality-plan]
111
+ tool_profile: qa
112
+ permission_profile: authoring
113
+ specialization_tags: [qa, traceability, risk]
114
+ replaces: [qa-lead, qa-engineer]
115
+
116
+ - id: devops-ci-engineer
117
+ kind: worker
118
+ domain: ci-runtime
119
+ mission: Run quality gates and capture reproducible CI/runtime evidence.
120
+ owned_artifacts: [gate-logs, ci-evidence, runtime-evidence]
121
+ tool_profile: ci
122
+ permission_profile: execution
123
+ specialization_tags: [ci, runtime, evidence]
124
+ replaces: [devops-ci-engineer]
125
+
126
+ - id: doc-steward
127
+ kind: worker
128
+ domain: documentation
129
+ mission: Keep docs, prompts, changelog, and migration notes synchronized with implementation and workflow changes.
130
+ owned_artifacts: [docs, changelog, migration-notes]
131
+ tool_profile: docs
132
+ permission_profile: authoring
133
+ specialization_tags: [documentation, changelog]
134
+ replaces: [doc-steward]
135
+
136
+ - id: completion-reviewer
137
+ kind: reviewer
138
+ domain: completion
139
+ mission: Independently audit Completion Contract, prompt DoD, and drift-protocol compliance.
140
+ owned_artifacts: [review-decision, rework-list]
141
+ tool_profile: review-readonly
142
+ permission_profile: reviewer
143
+ specialization_tags: [completion, drift, dod]
144
+ replaces: [reviewer]
145
+
146
+ - id: requirements-reviewer
147
+ kind: reviewer
148
+ domain: requirements-review
149
+ mission: Review requirements, options, and OQ handling for completeness, neutrality, and safe deferral.
150
+ owned_artifacts: [requirements-review]
151
+ tool_profile: review-readonly
152
+ permission_profile: reviewer
153
+ specialization_tags: [requirements, options, oq]
154
+ replaces: [option-reviewer, oq-reviewer]
155
+
156
+ - id: architecture-reviewer
157
+ kind: reviewer
158
+ domain: architecture-review
159
+ mission: Review architecture and contract decisions for consistency, safety, and rejected-option protection.
160
+ owned_artifacts: [architecture-review]
161
+ tool_profile: review-readonly
162
+ permission_profile: reviewer
163
+ specialization_tags: [architecture, contracts]
164
+ replaces: [architect-reviewer]
165
+
166
+ - id: implementation-reviewer
167
+ kind: reviewer
168
+ domain: implementation-review
169
+ mission: Review code changes for correctness, maintainability, backend safety, and implementation risk.
170
+ owned_artifacts: [implementation-review]
171
+ tool_profile: review-readonly
172
+ permission_profile: reviewer
173
+ specialization_tags: [code-review, backend-review]
174
+ replaces: [code-reviewer, backend-reviewer]
175
+
176
+ - id: product-surface-reviewer
177
+ kind: reviewer
178
+ domain: product-surface-review
179
+ mission: Review UI implementation, usability, design coherence, and service-level product-surface quality.
180
+ owned_artifacts: [product-surface-review]
181
+ tool_profile: review-readonly
182
+ permission_profile: reviewer
183
+ specialization_tags: [frontend-review, ux-review, design-review]
184
+ replaces: [frontend-reviewer, ui-ux-reviewer, integrated-uiux-reviewer, design-review-lead]
185
+
186
+ - id: qa-gatekeeper
187
+ kind: reviewer
188
+ domain: quality-gate
189
+ mission: Enforce validate, coverage, runtime-proof, and prototyping evidence gates before completion.
190
+ owned_artifacts: [gate-decision, gate-findings]
191
+ tool_profile: review-readonly
192
+ permission_profile: reviewer
193
+ specialization_tags: [validate, coverage, runtime, prototyping]
194
+ replaces: [qa-gatekeeper, qa-reviewer, runtime-gatekeeper, prototyping-coverage-auditor]
@@ -0,0 +1,176 @@
1
+ schema_version: "1.0"
2
+
3
+ routing:
4
+ - skill: qfai-discussion
5
+ phases:
6
+ - id: preflight
7
+ mandatory_agents: [delivery-planner]
8
+ conditional_agents: [discovery-analyst]
9
+ parallel_groups: []
10
+ blocking_agents: [delivery-planner]
11
+ rerun_policy: failed-agents-only
12
+ - id: framing
13
+ mandatory_agents: [discovery-analyst, requirements-analyst]
14
+ conditional_agents: [solution-architect, product-experience-architect]
15
+ parallel_groups: []
16
+ blocking_agents: [requirements-analyst]
17
+ rerun_policy: changed-scope-dependents
18
+ - id: review
19
+ mandatory_agents: [completion-reviewer, requirements-reviewer]
20
+ conditional_agents: [architecture-reviewer, product-surface-reviewer]
21
+ parallel_groups: []
22
+ blocking_agents: [completion-reviewer]
23
+ rerun_policy: changed-scope-dependents
24
+ review_profile: requirements-heavy
25
+
26
+ - skill: qfai-sdd
27
+ phases:
28
+ - id: slice-and-scope
29
+ mandatory_agents: [delivery-planner, requirements-analyst]
30
+ conditional_agents: []
31
+ parallel_groups: []
32
+ blocking_agents: [delivery-planner]
33
+ rerun_policy: failed-agents-only
34
+ - id: design
35
+ mandatory_agents: [solution-architect, test-design-analyst]
36
+ conditional_agents: [qa-strategist, product-experience-architect]
37
+ parallel_groups: []
38
+ blocking_agents: [solution-architect]
39
+ rerun_policy: changed-scope-dependents
40
+ - id: review
41
+ mandatory_agents: [completion-reviewer]
42
+ conditional_agents: [architecture-reviewer, product-surface-reviewer, qa-gatekeeper]
43
+ parallel_groups: []
44
+ blocking_agents: [completion-reviewer]
45
+ rerun_policy: changed-scope-dependents
46
+ review_profile: default
47
+
48
+ - skill: qfai-implement
49
+ phases:
50
+ - id: plan
51
+ mandatory_agents: [delivery-planner, test-design-analyst]
52
+ conditional_agents: []
53
+ parallel_groups: []
54
+ blocking_agents: [delivery-planner]
55
+ rerun_policy: failed-agents-only
56
+ - id: build
57
+ mandatory_agents: []
58
+ conditional_agents: [frontend-engineer, backend-engineer]
59
+ parallel_groups:
60
+ - [frontend-engineer, backend-engineer]
61
+ blocking_agents: []
62
+ rerun_policy: changed-scope-dependents
63
+ - id: test
64
+ mandatory_agents: []
65
+ conditional_agents: [acceptance-test-engineer, qa-strategist]
66
+ parallel_groups: []
67
+ blocking_agents: []
68
+ rerun_policy: changed-scope-dependents
69
+ - id: review
70
+ mandatory_agents: [implementation-reviewer, qa-gatekeeper, completion-reviewer]
71
+ conditional_agents: [product-surface-reviewer]
72
+ parallel_groups: []
73
+ blocking_agents: [qa-gatekeeper, completion-reviewer]
74
+ rerun_policy: changed-scope-dependents
75
+ review_profile: runtime-heavy
76
+
77
+ - skill: qfai-atdd
78
+ phases:
79
+ - id: coverage
80
+ mandatory_agents: [test-design-analyst, qa-strategist]
81
+ conditional_agents: []
82
+ parallel_groups: []
83
+ blocking_agents: [test-design-analyst]
84
+ rerun_policy: failed-agents-only
85
+ - id: implementation
86
+ mandatory_agents: [acceptance-test-engineer]
87
+ conditional_agents: []
88
+ parallel_groups: []
89
+ blocking_agents: []
90
+ rerun_policy: changed-scope-dependents
91
+ - id: evidence
92
+ mandatory_agents: []
93
+ conditional_agents: [devops-ci-engineer, qa-gatekeeper]
94
+ parallel_groups: []
95
+ blocking_agents: [qa-gatekeeper]
96
+ rerun_policy: changed-scope-dependents
97
+ - id: review
98
+ mandatory_agents: [completion-reviewer, qa-gatekeeper]
99
+ conditional_agents: [implementation-reviewer]
100
+ parallel_groups: []
101
+ blocking_agents: [qa-gatekeeper, completion-reviewer]
102
+ rerun_policy: changed-scope-dependents
103
+ review_profile: runtime-heavy
104
+
105
+ - skill: qfai-prototyping
106
+ phases:
107
+ - id: plan
108
+ mandatory_agents: [delivery-planner]
109
+ conditional_agents: [product-experience-architect]
110
+ parallel_groups: []
111
+ blocking_agents: [delivery-planner]
112
+ rerun_policy: failed-agents-only
113
+ - id: build
114
+ mandatory_agents: []
115
+ conditional_agents: [frontend-engineer, backend-engineer]
116
+ parallel_groups:
117
+ - [frontend-engineer, backend-engineer]
118
+ blocking_agents: []
119
+ rerun_policy: changed-scope-dependents
120
+ - id: evidence
121
+ mandatory_agents: []
122
+ conditional_agents: [devops-ci-engineer, qa-gatekeeper]
123
+ parallel_groups: []
124
+ blocking_agents: [qa-gatekeeper]
125
+ rerun_policy: changed-scope-dependents
126
+ - id: review
127
+ mandatory_agents: [completion-reviewer]
128
+ conditional_agents: [product-surface-reviewer]
129
+ parallel_groups: []
130
+ blocking_agents: [completion-reviewer]
131
+ rerun_policy: changed-scope-dependents
132
+ review_profile: ui-bearing
133
+
134
+ - skill: qfai-configure
135
+ phases:
136
+ - id: analysis
137
+ mandatory_agents: [delivery-planner, qa-strategist]
138
+ conditional_agents: []
139
+ parallel_groups: []
140
+ blocking_agents: [delivery-planner]
141
+ rerun_policy: failed-agents-only
142
+ - id: config
143
+ mandatory_agents: [devops-ci-engineer]
144
+ conditional_agents: []
145
+ parallel_groups: []
146
+ blocking_agents: []
147
+ rerun_policy: changed-scope-dependents
148
+ - id: review
149
+ mandatory_agents: [completion-reviewer, qa-gatekeeper]
150
+ conditional_agents: []
151
+ parallel_groups: []
152
+ blocking_agents: [qa-gatekeeper, completion-reviewer]
153
+ rerun_policy: changed-scope-dependents
154
+ review_profile: runtime-heavy
155
+
156
+ - skill: qfai-verify
157
+ phases:
158
+ - id: plan
159
+ mandatory_agents: [delivery-planner, qa-strategist]
160
+ conditional_agents: []
161
+ parallel_groups: []
162
+ blocking_agents: [delivery-planner]
163
+ rerun_policy: failed-agents-only
164
+ - id: execution
165
+ mandatory_agents: [devops-ci-engineer]
166
+ conditional_agents: []
167
+ parallel_groups: []
168
+ blocking_agents: []
169
+ rerun_policy: changed-scope-dependents
170
+ - id: review
171
+ mandatory_agents: [qa-gatekeeper, completion-reviewer]
172
+ conditional_agents: [implementation-reviewer]
173
+ parallel_groups: []
174
+ blocking_agents: [qa-gatekeeper, completion-reviewer]
175
+ rerun_policy: changed-scope-dependents
176
+ review_profile: runtime-heavy
@@ -0,0 +1,49 @@
1
+ # CLI UX Guidelines
2
+
3
+ spec-0013 (CAP-0013) で定義された、`qfai validate` の UI/UX 関連出力ガイドライン。
4
+
5
+ ## Output Format
6
+
7
+ - Issue メッセージにタイムスタンプやランダム値を含めない(冪等性確保)
8
+ - `## Auto Check Results` — `qfai validate` による自動チェック結果セクション
9
+ - `## Manual Review Results` — product-surface-reviewer による手動レビュー結果セクション
10
+
11
+ ## Error Message Format
12
+
13
+ ```text
14
+ <CODE>: <message> [at <file>[:<line>[:<col>]]]
15
+ ```
16
+
17
+ - `file` は issue に path がある場合のみ付与される
18
+ - `line` / `col` は issue に loc がある場合のみ付与される
19
+
20
+ 例:
21
+
22
+ - `QFAI-DT-002: Circular reference detected: semantic.color.primary [at .qfai/contracts/design/design-tokens.yaml]`
23
+ - `QFAI-MOCK-002: External URL reference in HTML Mock: https://cdn.example.com/style.css [at .qfai/specs/spec-0001/01_Spec.md]`
24
+
25
+ > **Note:** `.qfai/contracts/design/design-tokens*.yaml` は **optional supporting artifact** である。init 直後にファイルが存在しなくても異常ではなく、token validator は token file が作成された場合にのみ実行される。
26
+
27
+ ## Severity Decision Matrix
28
+
29
+ | Category | Error | Warning |
30
+ | ----------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------ |
31
+ | Design Token schema violation (if token file present) | `$value` empty, circular ref, YAML parse error | Unknown `$type`, unknown platform |
32
+ | HTML Mock structure | External URL, script tag, CSS fallback missing | Missing state variant, contrast ratio below AA, token comment missing |
33
+ | Mermaid screen flow | — | v1 migration, unlabeled transition, flowchart declaration, outside fence |
34
+ | BP/AP DB | Invalid ID format, duplicate ID, missing required field | Invalid platform |
35
+ | Platform detection | — | Unknown platform, cross-platform detected |
36
+ | Consistency | — | Fallback mismatch, screen alignment missing |
37
+ | Research summary | No sources, no apply, missing required sections | Freshness below threshold |
38
+ | Agent definition | Missing file, missing section, insufficient items | Missing collaboration statement |
39
+
40
+ ## `--platform` Option
41
+
42
+ - 許容値: `web`, `windows`, `mobile-ios`, `mobile-android`, `cross-platform`
43
+ - 未指定時: 自動検出(config → project files → fallback to `web`)
44
+ - 未知の値: warning 発行。platform 値は保持しつつ、実質的に common ルールのみ適用
45
+
46
+ ## Known Limitations
47
+
48
+ - jsdom v26+ は CSS レイアウトをサポートしないため、タッチターゲットサイズチェックはインライン `style` 属性のみ対象
49
+ - クラスベースまたはスタイルシートベースのサイズ指定は、現実装では未検証としてスキップ(追加 info は未出力)
@@ -2,41 +2,66 @@
2
2
 
3
3
  ## Product / Mission
4
4
 
5
- - Summary:
6
- - Value:
7
- - Evidence:
5
+ - Summary: QFAI is a Quality-First Development Kit (CLI tool) for AI coding agents. It integrates SDD/ATDD/TDD and verifies specs, contracts, and traceability with 50+ validation rules.
6
+ - Value: Detects agent spec drift and hallucinations via objective gates, ensuring quality.
7
+ - Evidence: README.md, packages/qfai/package.json (description), 02_Inception-Deck.md
8
8
 
9
9
  ## Axioms (Non-negotiable)
10
10
 
11
11
  - Axioms / principles (non-negotiable):
12
- - Decision lens (what we optimize for):
13
- - Evidence:
12
+ - Correctness > Completeness > Usability > Performance > Extensibility (Trade-off priority)
13
+ - Validators are pure async functions (no side effects, return Issue[] only)
14
+ - Layered specs: 1 CAP = 1 spec directory
15
+ - Drift protocol: Unauthorized editing of upstream artifacts is prohibited
16
+ - Decision lens (what we optimize for): Minimize false positives (reliability), traceability completeness
17
+ - Evidence: 02_Inception-Deck.md (Trade-offs), 09_Constraints.md (TC-09)
14
18
 
15
19
  ## Compatibility vs Change Rubric
16
20
 
17
- - Criteria (Compatibility):
18
- - Criteria (Change):
19
- - Examples:
20
- - Evidence:
21
+ - Criteria (Compatibility): validate.json is an internal contract (not a stable API). CLI command system follows semver.
22
+ - Criteria (Change): Breaking changes deferred until v2.0. Migration guide required.
23
+ - Examples: `_shared/` -> `_policies/` rename (v1.5.3), spec-pack -> layered migration (v1.4.17)
24
+ - Evidence: CHANGELOG.md, OQ-0003 (validate.json), OQ-0004 (legacy deprecation)
21
25
 
22
26
  ## Governance (Ownership / Review / Evidence)
23
27
 
24
- - Owner:
25
- - Review / approval:
26
- - Evidence requirements:
27
- - Update cadence:
28
- - Evidence:
28
+ - Owner: aganesy (maintainer)
29
+ - Review / approval: agent-catalog + agent-routing + review-profiles. Default gate is completion-reviewer; specialist reviewers are conditionally routed by skill/phase.
30
+ - Evidence requirements: evidence file per skill run, validate.log, specs-coverage
31
+ - Update cadence: Per release (semver)
32
+ - Evidence: .qfai/assistant/steering/agent-catalog.yml, .qfai/assistant/steering/agent-routing.yml, .qfai/assistant/steering/review-profiles.yml
29
33
 
30
34
  ## Evidence
31
35
 
32
- - Rule (e.g., link to repo evidence for every claim):
33
- - Evidence:
34
- - Assumptions (if evidence is missing):
36
+ - Rule: All claims must have repo evidence (source code, config, CHANGELOG, discussion-pack)
37
+ - Evidence:
38
+ `.qfai/discussion/discussion-20260326072322818/`
39
+ (v1.7.2 Design Audit & Slop Guardrails),
40
+ `.qfai/discussion/discussion-20260328120000000/`
41
+ (v1.7.3 Discussion/UIUX Authoring Foundation),
42
+ `.qfai/discussion/discussion-20260329120000000/`
43
+ (v1.7.4 Validation, Review, and Migration Stabilization),
44
+ `.qfai/discussion/discussion-20260329130000123/`
45
+ (v1.7.5 Runtime & Evidence Foundation),
46
+ `.qfai/discussion/discussion-20260329175059391/`
47
+ (v1.7.6 Critique, Calibration, and Full-Harness Expansion),
48
+ `.qfai/discussion/discussion-20260329195516830/`
49
+ (v1.7.6 Audit Remediation — targeted correction pass for 13 issues across P0/P1/P2),
50
+ `.qfai/discussion/discussion-20260330153902875/`
51
+ (v1.7.9 Convergence Correction Release — truthful implementation alignment across validate/discussion/prototyping/docs)
52
+ - Assumptions: None (all verified from repository analysis)
35
53
 
36
54
  ## Non-goals / Not-now (Optional)
37
55
 
38
- -
39
- - Evidence:
56
+ - IDE plugin / GUI development
57
+ - Plugin architecture (to be reconsidered in v2.0)
58
+ - Automated test generation
59
+ - browser QA full audit / screenshot diff / repair loop / external critique adapter (v1.7.1)
60
+ - auto-fix / rewrite for design findings (v1.7.2)
61
+ - evidence schema versioning detail (deferred to v1.7.6, OQ-0001 of discussion-20260329130000123)
62
+ - browser QA output normalization shape (deferred to v1.7.6, OQ-0002 of discussion-20260329130000123)
63
+ - external critique provider / full-harness orchestration / calibration pack / cost observability / long-running handoff (v1.7.5 out of scope → v1.7.6 IN scope)
64
+ - Evidence: 05_Scope.md (Out of Scope), OQ-0001, OQ-0002, discussion-20260329175059391
40
65
 
41
66
  ## References (Optional)
42
67
 
@@ -2,31 +2,73 @@
2
2
 
3
3
  ## What are we building?
4
4
 
5
- - Summary:
6
- - Evidence: (e.g., README, docs, issue links)
5
+ - Summary: QFAI - Quality-First Development Kit (CLI) for AI coding agents.
6
+ Enforces SDD/ATDD/TDD workflows with validation gates via five commands
7
+ (init, validate, report, doctor, guardrails).
8
+ Prototyping evidence is produced by the `/qfai-prototyping` skill workflow and consumed by `qfai validate`.
9
+ - Evidence: README.md, packages/qfai/package.json, packages/qfai/src/cli/index.ts
7
10
 
8
11
  ## Who is the user?
9
12
 
10
13
  - Personas / roles:
11
- - Evidence:
14
+ - AI coding agents (Claude Code, GitHub Copilot, Codex, Anthropic Agents)
15
+ - QA engineers (quality assurance via validation gates)
16
+ - Project leads (centralized spec management and traceability)
17
+ - CI/CD engineers (validation integration into pipelines)
18
+ - Evidence: 02_Inception-Deck.md (Stakeholders)
12
19
 
13
- ## What is success”?
20
+ ## What is "success"?
14
21
 
15
22
  - Success metrics / acceptance definition:
16
- - Evidence:
23
+ - All CLI command requirements are defined as REQs
24
+ - All validation rules (50+) are specified
25
+ - All traceability edges (US->AC->BR->EX->TC) are defined
26
+ - Zero errors with qfai validate --fail-on error
27
+ - Evidence: 05_Scope.md (Success Criteria)
17
28
 
18
29
  ## Non-goals
19
30
 
20
- -
21
- - Evidence:
31
+ - IDE plugin / GUI development
32
+ - Code quality analysis (not a replacement for ESLint/SonarQube)
33
+ - Automated generation of tests themselves
34
+ - Semantic analysis of natural language
35
+ - browser QA full audit / screenshot diff / repair loop / external critique adapter (OUT for v1.7.1)
36
+ - Evidence: 02_Inception-Deck.md (NOT List), 05_Scope.md (Out of Scope)
22
37
 
23
38
  ## Release posture
24
39
 
25
- - Compatibility policy:
26
- - Breaking change policy:
27
- - Evidence:
40
+ - Compatibility policy: semver. Maintain backward compatibility of the CLI command system.
41
+ - Breaking change policy: Breaking changes deferred until v2.0. Migration guide (docs/migrations/) required.
42
+ - Evidence: CHANGELOG.md, 09_Constraints.md (DL-02)
43
+
44
+ ## Milestones
45
+
46
+ | Version | Description |
47
+ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
48
+ | v1.5.5 | Spec Diff Protocol (SDP) - Incremental execution support |
49
+ | v1.5.6 | Review Agent Enhancement - Devil's Advocate + Pattern Doubler |
50
+ | v1.5.7 | UI/UX Definition & Review Framework - Design Token, HTML Mock, Expert Sub-agents |
51
+ | v1.6.0 | Implementation Phase Unification - qfai-implement, test-list.md, Phase 1 Validator |
52
+ | v1.6.1 | Guardrail Hardening - Phase 2 Validator, Report Coverage, Template/Docs Update (完了) |
53
+ | v1.6.2 (完了) | 開発ツールキット堅牢化 — Sub-agent Roster + Completion/Evidence/Parallel Contracts + Docs/Wrappers/Assets Sync |
54
+ | v1.6.3 (完了) | Copilot レビューインストラクション配布 — qfai init に Copilot レビュー指示テンプレートを統合 |
55
+ | v1.6.4 (完了) | Codex サブエージェント実装 — 39 TOML エージェント + config.toml |
56
+ | v1.6.5 (完了) | デザインディレクション&UI品質強化 — DDP + Navigation/Screen Flow + Render Critique Loop + Fidelity Evaluation |
57
+ | v1.7.0 (完了) | ディスカッション設計強化 — UI-bearing detection + DDS enforcement + competitive reference registry + error-severity validators |
58
+ | v1.7.1 (完了) | Render Evidence Automation — render evidence schema (captured/skipped/failed) を定義し、validate/report が structured evidence を消費できるようにする。evidence 生成は skill/workflow 経由 |
59
+ | v1.7.2 (完了) | Design Audit & Slop Guardrails — 静的 design audit 7 dimension + AI slop guardrails SLP-01〜SLP-06 + quality profile severity 制御 |
60
+ | v1.7.3 (完了) | Discussion/UIUX Authoring Foundation — qfai-discussion に uiux/ サイドカーアーティファクト生成、SKILL.md UI-bearing フロー、テンプレート置換・拡張を追加 |
61
+ | v1.7.4 (SDD 完了) | Validation, Review, and Migration Stabilization — UIX-VAL deterministic validators + UIX-REV semantic reviewers + verify-pack tests + migration support |
62
+ | v1.7.5 (完了) | Runtime & Evidence Foundation — evidence schema recovery + optional render evidence capture + backend provider abstraction + browser QA structured outputs |
63
+ | v1.7.6 (完了) | Critique, Calibration & Full-Harness Expansion — external critique adapter + calibration pack + explicit premium lane (skill-driven) + cost/time observability + handoff artifacts + display/stub detection |
64
+ | v1.7.7 (完了) | Remediation & Prototyping Readiness — static-first prototyping default + full-harness mode exposure + 3-layer eval reconciliation + strategy/contract upgrade + UI-bearing detection fix + render evidence wiring + browser QA findings + doc normalization + migration support |
65
+ | v1.7.8 (完了) | Canonical Convergence — design taste interview + trend research + 3-layer evaluation convergence + scoring-ready schema + strategy/screen contract upgrade + UI-bearing detection unification + static-first prototyping rewrite + full-harness mode convergence + render evidence wiring + browser QA MVP + reviewer extension + migration normalization + docs normalization |
66
+ | v1.7.9 (完了) | Convergence Correction Release — canonical validator registration, discussion completion convergence, honest render evidence/browser QA wiring, reviewer routing alignment, docs maturity normalization |
67
+ | v1.7.13 (進行中) | Canonical Sidecar Convergence — selected direction SSOT moved to 31_selected_anchor_screen.md, option comparison remains in 30_option_comparison.md, sidecar-first read order, DDS/anchor vocabulary removal, validator semantics rewrite, template-validator self-consistency |
28
68
 
29
69
  ## Open questions
30
70
 
31
- - Blocking:
71
+ - Blocking: none
32
72
  - Non-blocking:
73
+ - OQ-0003: validate.json external API stability (deferred to v2.0)
74
+ - OQ-0004: Legacy spec-pack deprecation schedule (deferred to v2.0)
@@ -0,0 +1,58 @@
1
+ # Research-First Protocol
2
+
3
+ spec-0013 (CAP-0013) で定義された、UI/UX 専門家サブエージェントの作業冒頭リサーチプロトコル。
4
+
5
+ ## Trigger
6
+
7
+ `/qfai-discussion` コマンド実行時に自動トリガーされる(DEC-0013-0004)。
8
+
9
+ ## Output Schema
10
+
11
+ ```yaml
12
+ research_summary:
13
+ sources:
14
+ - id: string # SRC-XXXX format (必須)
15
+ title: string # 文献タイトル (必須)
16
+ url: string # URL (必須)
17
+ published: string # YYYY-MM-DD (必須)
18
+ best_practices:
19
+ - id: string # BP-XXXX format
20
+ category: string
21
+ title: string
22
+ description: string
23
+ source_id: string # sources[].id への参照
24
+ anti_patterns:
25
+ - id: string # AP-XXXX format
26
+ category: string
27
+ title: string
28
+ description: string
29
+ source_id: string
30
+ reflection:
31
+ - source_id: string
32
+ finding: string
33
+ action: apply | reject | defer
34
+ reason: string
35
+ ```
36
+
37
+ ## Freshness Rule
38
+
39
+ - 参照ソースの直近 2 年以内の参照率 ≥80%
40
+ - 80% 未満の場合は freshness warning を発行
41
+ - 古いソースを含める場合は、歴史的重要性などの理由を明記
42
+
43
+ ## Source Citation Rule
44
+
45
+ - 全エントリに `id`, `title`, `url`, `published` を記録(1 件でも欠落はバリデーションエラー)
46
+
47
+ ## Conflict Protocol
48
+
49
+ - 新しいリサーチ結果が既存の BP/AP ルールと矛盾する場合:
50
+ - `reflection[].action: reject` — 新知見を不採用
51
+ - `reflection[].action: defer` — 判断を延期
52
+ - **自動上書き禁止**: 既存ルールを自動的に書き換えてはならない
53
+ - `reflection[].action: apply` が 1 件以上必須
54
+
55
+ ## Storage
56
+
57
+ - `research_summary` はカレントの discussion-pack 内(`## Research Summary` セクション)に記録
58
+ - グローバルには永続保存しない(DEC-0013-0002)