qfai 1.7.13 → 1.7.15

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 (74) hide show
  1. package/README.md +35 -8
  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/agents/product-surface-reviewer.md +1 -1
  5. package/assets/init/.qfai/assistant/instructions/agent-selection.md +2 -0
  6. package/assets/init/.qfai/assistant/instructions/shared-skill-delegation-baseline.md +88 -0
  7. package/assets/init/.qfai/assistant/instructions/shared-skill-operating-baseline.md +49 -0
  8. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +28 -88
  9. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +50 -114
  10. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +137 -208
  11. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +90 -0
  12. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +26 -0
  13. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md +20 -0
  14. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md +18 -0
  15. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md +41 -0
  16. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +22 -0
  17. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +50 -0
  18. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/platform_baselines.md +107 -0
  19. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +104 -0
  20. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +76 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +143 -1005
  22. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +1 -1
  24. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +83 -32
  25. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +7 -7
  26. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +12 -4
  27. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +2 -2
  28. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +2 -2
  29. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +31 -13
  30. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/12_design_system.md +115 -0
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +86 -24
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +12 -0
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +1 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +2 -0
  35. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +27 -27
  36. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +145 -155
  37. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +118 -355
  38. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +30 -0
  39. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +29 -0
  40. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +37 -0
  41. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +32 -0
  42. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +33 -0
  43. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +50 -115
  44. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +1 -1
  45. package/assets/init/.qfai/assistant/steering/agent-routing.yml +20 -8
  46. package/assets/init/.qfai/assistant/steering/manifest.md +4 -7
  47. package/assets/init/.qfai/assistant/steering/product.md +6 -6
  48. package/assets/init/.qfai/assistant/steering/review-profiles.yml +3 -0
  49. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +7 -7
  50. package/assets/init/.qfai/contracts/README.md +15 -8
  51. package/assets/init/.qfai/contracts/ui/README.md +24 -26
  52. package/assets/init/.qfai/discussion/README.md +35 -32
  53. package/assets/init/.qfai/evidence/README.md +65 -181
  54. package/assets/init/.qfai/evidence/calibration.yaml +26 -0
  55. package/assets/init/.qfai/review/README.md +56 -11
  56. package/assets/init/.qfai/specs/README.md +2 -2
  57. package/assets/init/root/qfai.config.yaml +5 -6
  58. package/assets/scripts/capture-screenshots.js +128 -0
  59. package/assets/uix-rev/comparison-review.md +3 -15
  60. package/assets/uix-rev/contracts-review.md +5 -2
  61. package/assets/uix-rev/scoring-review.md +10 -2
  62. package/assets/uix-rev/strategy-review.md +11 -7
  63. package/dist/cli/index.cjs +8532 -4204
  64. package/dist/cli/index.cjs.map +1 -1
  65. package/dist/cli/index.mjs +8599 -4271
  66. package/dist/cli/index.mjs.map +1 -1
  67. package/dist/index.cjs +9808 -5532
  68. package/dist/index.cjs.map +1 -1
  69. package/dist/index.d.cts +467 -277
  70. package/dist/index.d.ts +467 -277
  71. package/dist/index.mjs +8909 -4647
  72. package/dist/index.mjs.map +1 -1
  73. package/package.json +1 -1
  74. package/assets/uix-rev/migration-review.md +0 -17
@@ -0,0 +1,30 @@
1
+ # SDD Review Cycle Playbook
2
+
3
+ Use this file when you need the detailed review-cycle mechanics for `/qfai-sdd`.
4
+
5
+ ## Inputs
6
+
7
+ - `.qfai/assistant/steering/agent-routing.yml`
8
+ - `.qfai/assistant/steering/review-profiles.yml`
9
+ - `.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md`
10
+
11
+ ## Review Cycle
12
+
13
+ 1. Select reviewers from routing and profile rules.
14
+ 2. Build one review pack for the current cycle only.
15
+ 3. Apply the footer SSOT without rewriting it locally.
16
+ 4. Collect verdicts.
17
+ 5. If any blocking reviewer returns `FAIL`, fix only the affected scope and rerun the failed reviewer plus any reviewer whose scope changed.
18
+ 6. Mark the cycle fixed only when all routed blocking reviewers return `PASS`.
19
+
20
+ ## Required Outputs
21
+
22
+ - `review_request.md`
23
+ - `Rxx_<reviewer>.md`
24
+ - evidence updates showing what changed after each failed cycle
25
+
26
+ ## Guardrails
27
+
28
+ - Do not self-approve.
29
+ - Do not collapse `PASS` and `FAIL` into informal prose.
30
+ - Do not rerun unrelated reviewers after a localized fix.
@@ -0,0 +1,29 @@
1
+ # SDD Execution Playbook
2
+
3
+ Use this file for the detailed sequencing rules behind `/qfai-sdd`.
4
+
5
+ ## Preflight
6
+
7
+ 1. Identify the latest discussion-pack.
8
+ 2. Stop if required files are missing.
9
+ 3. Stop if blocking OQ remain.
10
+ 4. Stop if the latest UI-bearing pack is missing valid `prototyping.yaml`.
11
+
12
+ ## Shared-before-Slice Rule
13
+
14
+ - Contracts-first and Outline are shared work.
15
+ - Slice, Plan, and Delta are target-spec work.
16
+ - In no-argument mode, shared work runs once and per-spec work fans out after shared outputs stabilize.
17
+
18
+ ## Update Policy
19
+
20
+ - Update existing artifacts in place when the current target already exists.
21
+ - Create new spec artifacts only after approval.
22
+ - Delete only after approval and after recording the rationale.
23
+
24
+ ## Stop Conditions
25
+
26
+ - Missing or stale `_policies/11_Slice-Policy.md`
27
+ - Missing Contract Index alignment
28
+ - Unresolvable preflight blockers
29
+ - Validate errors that point to unresolved source-layer gaps
@@ -0,0 +1,37 @@
1
+ # SDD Phase Checklists
2
+
3
+ Use these checklists as the detailed operational guide for `/qfai-sdd`.
4
+
5
+ ## Phase 0: Contracts-first
6
+
7
+ - Confirm impacted contract kinds: API, DB, UI.
8
+ - Create or update declared contract files.
9
+ - Ensure each contract has `QFAI-CONTRACT-ID`.
10
+ - Refresh `_policies/05_Contracts.md` Contract Index.
11
+ - Stop if an indexed contract file is missing.
12
+
13
+ ## Phase 1: Outline
14
+
15
+ - Refresh `_policies/01..11`.
16
+ - Keep Mermaid inside fenced code blocks only.
17
+ - Mirror every unresolved shared issue into `_policies/09_Open-questions.md`.
18
+ - Record `0 items` explicitly when decisions or delta are empty.
19
+
20
+ ## Phase 2: Slice
21
+
22
+ - Create or update `spec-XXXX/01..08`.
23
+ - Check `US -> AC -> BR -> EX -> TC`.
24
+ - Ensure `01_Spec.md` remains the execution Primary SSOT.
25
+ - Stop if slice gate fails.
26
+
27
+ ## Phase 3: Plan finalize
28
+
29
+ - Create or update `spec-XXXX/10_Plan.md`.
30
+ - Keep the file How-only.
31
+ - Do not finalize the plan before at least one slice gate passes.
32
+
33
+ ## Phase 4: Delta update
34
+
35
+ - Update `09_delta.md` or `*_delta.md`.
36
+ - Record adoption and rejection rationale.
37
+ - When rejections exist, include `DO NOT` and `Temptation`.
@@ -0,0 +1,32 @@
1
+ # SDD Quality Gate
2
+
3
+ Use this file for the full quality gate checklist behind `/qfai-sdd`.
4
+
5
+ ## Structural Checks
6
+
7
+ - Required `_policies` files exist.
8
+ - Required `spec-XXXX` files exist.
9
+ - `_policies/11_Slice-Policy.md` matches the current repo slice model.
10
+ - `_policies/04_Business-Flow.md` contains Mermaid `flowchart` or `sequenceDiagram`.
11
+ - `10_Plan.md` exists and remains How-only.
12
+ - `specs/plan.md` does not exist.
13
+
14
+ ## Traceability Checks
15
+
16
+ - `US -> AC -> BR -> EX -> TC` edges exist.
17
+ - `05_Examples.md` includes `EX-ID` and `BR-Ref`.
18
+ - `06_Test-Cases.md` includes `TC-ID`, `EX-Ref`, `AC-Refs`, and `Type`.
19
+ - Error or boundary coverage is present, not only normal-path coverage.
20
+
21
+ ## Validation Checks
22
+
23
+ - `qfai validate --fail-on error --format github | tee .qfai/report/validate.log`
24
+ - `error=0`
25
+ - `.qfai/report/specs-coverage/spec-*.md` reviewed
26
+ - Density-smell warnings triaged
27
+
28
+ ## Evidence Checks
29
+
30
+ - Evidence file exists.
31
+ - Work Orders Summary exists.
32
+ - Reviewer result exists.
@@ -0,0 +1,33 @@
1
+ # Spec Traceability Rules
2
+
3
+ Use this file when working on traceability-heavy parts of `/qfai-sdd`.
4
+
5
+ ## Required Edge Model (Conceptual Decomposition)
6
+
7
+ Conceptual decomposition / realization hierarchy (how specs are _authored_, not how
8
+ IDs reference each other):
9
+
10
+ - `US` conceptually decomposes into `AC`
11
+ - `AC` conceptually decomposes into `BR`
12
+ - `BR` is conceptually concretized by `EX`
13
+ - `EX` is conceptually realized by `TC`
14
+
15
+ ## Reference Direction (`Refs` ID fields)
16
+
17
+ ID reference direction (the value of `Refs:` columns) must be lower-to-upper only:
18
+
19
+ - Upper-to-lower ID references are forbidden (`US.Refs: AC-0001` is not allowed).
20
+ - Lower-to-upper ID references are allowed (`AC.Refs: US-0001` is the canonical form).
21
+ - The conceptual hierarchy above describes authoring direction; the `Refs` direction
22
+ is the _inverse_ so downstream specs cite upstream IDs, never the other way round.
23
+
24
+ ## Depth Expectations
25
+
26
+ - `BR` captures decision-level rules.
27
+ - `EX` demonstrates how `BR` behaves.
28
+ - `TC` proves `EX` in executable terms.
29
+
30
+ ## When Sparse Coverage Is Intentional
31
+
32
+ - State the reason explicitly.
33
+ - Record the mitigation or next step in open questions or delta.
@@ -30,25 +30,22 @@ QFAI Skill Body (SSOT)
30
30
 
31
31
  ## User Questions (AskUserQuestion Protocol)
32
32
 
33
- - When a question to the user is needed (e.g., gate failure triage, fix approach confirmation),
34
- the agent MUST use AskUserQuestion if the tool is available.
35
- - When AskUserQuestion supports structured choices (radio/multi-select),
36
- the agent MUST prefer structured choices over free-text input.
37
- - If AskUserQuestion is technically unavailable, present the same question as a normal message
38
- with explicit numbered choices.
39
- The agent SHOULD preserve structured choice semantics (enumerated options, selection constraints).
40
- The reason for unavailability MUST be stated.
33
+ Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#user-questions-askuserquestion-protocol`.
34
+
35
+ Skill-specific examples:
36
+
37
+ - gate failure triage
38
+ - fix approach confirmation
41
39
 
42
40
  ## FORMAT SSOT (Mandatory)
43
41
 
44
- - **Before writing or editing any `.qfai/**` artifact\*\*, read and follow the relevant directory README template and sample:
42
+ - Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#format-ssot-mandatory`.
43
+
44
+ - Before writing or editing any `.qfai/**` artifact, read and follow the relevant directory README template and sample:
45
45
  - `.qfai/discussion/README.md`
46
46
  - `.qfai/specs/README.md`
47
47
  - `.qfai/contracts/**/README.md`
48
48
  - `.qfai/evidence/README.md`
49
- - **Do NOT copy** templates/samples into this prompt or into other prompt markdown.
50
- - The generated artifacts must match the README-defined structure (headings, ordering, table columns).
51
- - Completion requires a **Format Self-Check** in the evidence: list each artifact and confirm “matches README template”.
52
49
 
53
50
  ## Inputs Priority (Preflight)
54
51
 
@@ -67,36 +64,24 @@ When unsure, read inputs in this order:
67
64
 
68
65
  ## Sub-agent Delegation (MANDATORY)
69
66
 
70
- This section is mandatory and overrides any conflicting fallback text in this file.
67
+ Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md`.
71
68
 
72
69
  ### Orchestrator Protocol (MUST)
73
70
 
74
- - Orchestrator may only create work orders, delegate tasks, integrate outputs, and present results to the user.
75
- - Orchestrator MUST NOT generate the primary artifact first draft.
76
- - Orchestrator MUST NOT serve as Reviewer or skip delegation for convenience.
71
+ - No additional overrides.
77
72
 
78
73
  ### Capability Probe (MUST)
79
74
 
80
- 1. Run one harmless Probe Task (for example: "reply with ok") once at stage start.
81
- 2. If subagents are unavailable, explicitly ask the user for Simulation mode approval.
82
- 3. Without explicit approval, stop the stage and do not continue.
75
+ - No additional overrides.
83
76
 
84
- ### Simulation mode (Opt-in only)
77
+ ### Delegation Failure (Hard Stop)
85
78
 
86
- - Allowed only when the user explicitly states `Simulation mode allowed`.
87
- - When used, record both of the following in outputs/evidence:
88
- - `Subagents: simulated (reason: <why unavailable>)`
89
- - `User approval: <quote or reference>`
79
+ - No additional overrides.
80
+ - Do not simulate roles. If the first required delegation fails, stop the stage and report remediation.
90
81
 
91
82
  ### Work Orders Summary (MANDATORY evidence)
92
83
 
93
- Every major artifact in this stage MUST include a `## Work Orders Summary` section with this fixed table schema:
94
-
95
- | Step | Role (sub-agent) | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE) |
96
- | ---- | ---------------- | ---------- | ------------ | ------------- | -------------------- |
97
- | 1 | <role> | <task> | <refs> | <refs> | PASS/REVISE |
98
-
99
- - `Output (refs)` must point to in-file anchors or relative evidence file paths.
84
+ Use the shared schema.
100
85
 
101
86
  ### Stage Minimum Roles (MUST)
102
87
 
@@ -107,81 +92,36 @@ Every major artifact in this stage MUST include a `## Work Orders Summary` secti
107
92
 
108
93
  ### Reviewer Gate (MUST)
109
94
 
110
- - Final completion gate MUST be delegated to an independent `completion-reviewer`.
111
- - Reviewer checks (minimum):
112
- - Required roles were delegated (no orchestrator self-authoring).
113
- - DoD satisfied (validate gate, test-layer hard gate, evidence, DR-IDs).
114
- - Validate gate evidence exists: `qfai validate --fail-on error` completed with `error=0`.
115
- - **Drift Protocol enforced**:
116
- - No upstream artifact edits were made without an explicit user-approved Change Request.
117
- - If upstream changes exist, the correct owner skill was re-run after approval; downstream did not patch upstream directly.
118
- - **Test-layer policy enforced**:
119
- - E2E/API/Integration coverage aligns with `steering/test-layers.md` and the project’s plan.
120
- - Do not use pyramid ratios as a gate; use floors/ratios only as signals. Coverage obligations are the gate.
95
+ - Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md#reviewer-gate-baseline`.
96
+ - Reviewer checks:
97
+ - required roles were delegated;
98
+ - validate evidence exists: `qfai validate --fail-on error` completed with `error=0`;
99
+ - Drift Protocol enforced;
100
+ - test-layer policy enforced against `test-layers.md`.
121
101
  - Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
122
102
  - Default verify review set:
123
103
  - `qa-gatekeeper`
124
104
  - `completion-reviewer`
125
105
  - Add `implementation-reviewer` only when code fixes are in scope.
126
106
  - Do not declare DONE or handoff until all routed blocking reviewers return `PASS`.
127
- - Every reviewer MUST provide a concrete alternative or fix proposal when returning FAIL.
128
107
 
129
108
  ### Work order template (copy/paste)
130
109
 
131
- ```text
132
- Task title: <short>
133
- Role: <sub-agent role>
134
- Goal: <what to decide/produce>
135
- Inputs (refs):
136
- - <file/section>
137
- Constraints:
138
- - must: enforce Drift Protocol (no upstream edits without user approval + CR)
139
- - must: verify plan/test-layer adherence (`steering/test-layers.md` + plan)
140
- - must: check `qfai validate --fail-on error` passes with evidence (`error=0`)
141
- - must: enforce `.qfai/assistant/steering/test-layers.md` hard gates
142
- - must_not: accept test-volume ratios/floors as a hard gate
143
- - must_not: accept upstream edits made directly by downstream phase
144
- Output format:
145
- - <headings / bullet schema>
146
- Quality bar:
147
- - PASS if ...
148
- - REVISE if ...
149
- ```
110
+ Use the shared template.
150
111
 
151
112
  ### Reviewer response template
152
113
 
153
- ```text
154
- Result: PASS | REVISE
155
- Findings:
156
- - <issue>
157
- Required fixes:
158
- - <action>
159
- Evidence checked:
160
- - <refs>
161
- ```
162
-
163
- ## Stage 0 — Steering completion refresh (mandatory)
164
-
165
- Before moving forward in this stage, refresh these files:
114
+ Use the shared template.
166
115
 
167
- - `.qfai/assistant/steering/manifest.md`
168
- - `.qfai/assistant/steering/product.md`
169
- - `.qfai/assistant/steering/structure.md`
170
- - `.qfai/assistant/steering/tech.md`
116
+ - Required field: `Status (PASS/REVISE)`.
171
117
 
172
- Rules:
118
+ ## Stage 0 — Steering completion refresh (mandatory)
173
119
 
174
- - Detect incomplete content (empty sections, placeholder-only lines, `<...>`, `TBD`, stale facts).
175
- - Fill what is verifiable from repository evidence (tree, docs, require/spec artifacts, package.json, CI definitions).
176
- - If something cannot be verified, record it as an Open Question and ask the user.
177
- - Even if steering is already complete, update it when new facts are discovered in this stage.
120
+ Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#stage-0---steering-completion-refresh-mandatory`.
178
121
 
179
122
  ## Delta Rejected Guard (Mandatory)
180
123
 
181
- - Do NOT reintroduce options marked as rejected in 09_delta.md.
182
- - If a rejected option must be reconsidered, create a **[RE-OPEN]** Decision
183
- Record in 09_delta.md that references the prior DR-ID, states what changed +
184
- new criteria, and includes explicit approval (user or instructions/steering).
124
+ Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#delta-rejected-guard-mandatory`.
185
125
 
186
126
  ## CRITICAL CONSTRAINTS (Read First)
187
127
 
@@ -197,19 +137,7 @@ Rules:
197
137
 
198
138
  ## Completion Contract (Shared)
199
139
 
200
- Before declaring completion, you MUST:
201
-
202
- - OQ / undefined resolution: detect undefined or ambiguous items; resolve them or explicitly defer them with documented rationale and (when required by this prompt) user approval.
203
- - Deliverable completeness: verify every expected artifact listed in this prompt (and required README templates) exists and is fully populated; no missing required sections.
204
- - OQ / placeholder scan: scan all generated artifacts (including evidence) for
205
- placeholders such as "TBD", "TODO", "TBA", "TBC", "XXX", "???", "OQ",
206
- "OPEN QUESTION", "UNDEFINED", "PLACEHOLDER", and localized equivalents in
207
- the user's language. Resolve or explicitly defer; do not leave silent
208
- placeholders.
209
- - Smoke check (if applicable): when the prompt produces runnable code, tests,
210
- or configs, execute the smallest command that proves basic run/start/operate
211
- and record evidence. If not applicable, state "not applicable" with a short
212
- rationale.
140
+ Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#completion-contract-shared`.
213
141
 
214
142
  ## Goal
215
143
 
@@ -280,29 +208,36 @@ Do not edit any `.qfai/**/README.md` file; raise an Open Question instead.
280
208
 
281
209
  ## Multi‑Role Orchestration (Subagents)
282
210
 
283
- This workflow assumes the environment _may_ support subagents (e.g., Claude Code “Task” tool) or may not.
211
+ Use the platform's native sub-agent delegation mechanism for Claude Code, GitHub Copilot, and Codex.
284
212
 
285
- ### If subagents are supported
213
+ ### Delegation order
286
214
 
287
- Delegate to multiple roles and then merge the results. Use a “real‑world workflow” order:
215
+ Use `.qfai/assistant/steering/agent-routing.yml` as the routing SSOT.
288
216
 
289
- - discovery-analyst -> requirements-analyst -> delivery-planner -> solution-architect -> test-design-analyst -> qa-strategist -> devops-ci-engineer -> completion-reviewer / qa-gatekeeper
217
+ - First required delegation / Capability Probe: `delivery-planner` in the `plan` phase.
218
+ - Then follow routed phases in order: `plan` (`delivery-planner`, `qa-strategist`) -> `execution` (`devops-ci-engineer`) -> `review` (`qa-gatekeeper`, `completion-reviewer`, optional `implementation-reviewer` when code fixes are in scope).
219
+ - Do not prepend non-routed roles before the first required delegation attempt.
290
220
 
291
- **Pseudo‑invocation pattern** (adjust to your tool):
221
+ ### Delegation contract (tool-neutral)
292
222
 
293
223
  ```text
294
- Task(
295
- subagent_type="planner",
296
- description="Create an execution plan and DoD",
297
- prompt="Context: ...\nGoal: ...\nConstraints: ...\nReturn: phases + risks + DoD"
298
- )
224
+ Role: delivery-planner
225
+ Task title: Create an execution plan and DoD
226
+ Goal: sequence quality gates and evidence work
227
+ Inputs:
228
+ - current change context
229
+ - required gates
230
+ Constraints:
231
+ - evidence-first
232
+ - no self-approval
233
+ Return:
234
+ - phases + risks + DoD
299
235
  ```
300
236
 
301
- ### If subagents are NOT supported
302
-
303
- Only with explicit user approval (`Simulation mode allowed`), simulate roles by running the same sequence yourself:
237
+ ### Failure rule
304
238
 
305
- - Write a short “role output” section per role, then consolidate into the final deliverable(s).
239
+ - The first required delegation attempt doubles as the capability check.
240
+ - If that delegation fails, stop immediately. Do not simulate roles or continue with self-execution.
306
241
 
307
242
  ## Completion Separation (mandatory)
308
243
 
@@ -65,7 +65,7 @@ agents:
65
65
  - id: frontend-engineer
66
66
  kind: worker
67
67
  domain: frontend
68
- mission: Implement frontend behavior aligned with selected direction, strategy, screen contracts, and product-surface decisions.
68
+ mission: Implement frontend behavior aligned with selected anchor, strategy, screen contracts, and product-surface decisions.
69
69
  owned_artifacts: [ui-implementation, surface-evidence]
70
70
  tool_profile: frontend
71
71
  permission_profile: authoring
@@ -16,10 +16,13 @@ routing:
16
16
  blocking_agents: [requirements-analyst]
17
17
  rerun_policy: changed-scope-dependents
18
18
  - id: review
19
+ # requirements-heavy always_required is
20
+ # [completion-reviewer, requirements-reviewer]; both must be blocking.
21
+ # See scripts/check-review-profile-consistency.mjs for the drift guard.
19
22
  mandatory_agents: [completion-reviewer, requirements-reviewer]
20
23
  conditional_agents: [architecture-reviewer, product-surface-reviewer]
21
24
  parallel_groups: []
22
- blocking_agents: [completion-reviewer]
25
+ blocking_agents: [completion-reviewer, requirements-reviewer]
23
26
  rerun_policy: changed-scope-dependents
24
27
  review_profile: requirements-heavy
25
28
 
@@ -118,18 +121,27 @@ routing:
118
121
  blocking_agents: []
119
122
  rerun_policy: changed-scope-dependents
120
123
  - id: evidence
121
- mandatory_agents: []
122
- conditional_agents: [devops-ci-engineer, qa-gatekeeper]
124
+ # product-surface-reviewer is mandatory here (surface sign-off must
125
+ # be collected as part of evidence). Keep it blocking so a surface
126
+ # FAIL/REVISE blocks the phase — drops the mandatory+non-blocking
127
+ # drift flagged during PR review.
128
+ mandatory_agents: [product-surface-reviewer, qa-gatekeeper]
129
+ conditional_agents: [devops-ci-engineer, product-experience-architect]
123
130
  parallel_groups: []
124
- blocking_agents: [qa-gatekeeper]
131
+ blocking_agents: [product-surface-reviewer, qa-gatekeeper]
125
132
  rerun_policy: changed-scope-dependents
126
133
  - id: review
127
- mandatory_agents: [completion-reviewer]
128
- conditional_agents: [product-surface-reviewer]
134
+ # full-harness always_required set (see review-profiles.yml →
135
+ # profiles.full-harness.always_required) is
136
+ # [completion-reviewer, product-surface-reviewer, qa-gatekeeper].
137
+ # Mirror that set as mandatory + blocking so agent-routing and
138
+ # review-profiles stay on one SSOT.
139
+ mandatory_agents: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
140
+ conditional_agents: []
129
141
  parallel_groups: []
130
- blocking_agents: [completion-reviewer]
142
+ blocking_agents: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
131
143
  rerun_policy: changed-scope-dependents
132
- review_profile: ui-bearing
144
+ review_profile: full-harness
133
145
 
134
146
  - skill: qfai-configure
135
147
  phases:
@@ -19,9 +19,9 @@
19
19
  ## Compatibility vs Change Rubric
20
20
 
21
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.
22
+ - Criteria (Change): canonical consistency, validator alignment, and shipped SSOT alignment take priority. Breaking changes are allowed when required to restore canonical consistency.
23
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)
24
+ - Evidence: CHANGELOG.md
25
25
 
26
26
  ## Governance (Ownership / Review / Evidence)
27
27
 
@@ -54,14 +54,11 @@
54
54
  ## Non-goals / Not-now (Optional)
55
55
 
56
56
  - IDE plugin / GUI development
57
- - Plugin architecture (to be reconsidered in v2.0)
57
+ - Plugin architecture
58
58
  - Automated test generation
59
59
  - browser QA full audit / screenshot diff / repair loop / external critique adapter (v1.7.1)
60
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
61
+ - Evidence: 05_Scope.md (Out of Scope)
65
62
 
66
63
  ## References (Optional)
67
64
 
@@ -37,8 +37,9 @@
37
37
 
38
38
  ## Release posture
39
39
 
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.
40
+ - Compatibility policy: current canonical contract only.
41
+ - Breaking changes are allowed when required to restore canonical consistency.
42
+ - CLI/skill/docs/validator must match current package semantics.
42
43
  - Evidence: CHANGELOG.md, 09_Constraints.md (DL-02)
43
44
 
44
45
  ## Milestones
@@ -64,11 +65,10 @@
64
65
  | 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
66
  | 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
67
  | 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 |
68
+ | v1.7.13 (完了) | Canonical Sidecar Convergence — selected anchor 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 |
69
+ | v1.7.14 (進行中) | Canonical Convergence Finalization — strict classification enforcement, namespaced-only prototyping.yaml, current-only shipped SSOT, regression net hardening |
68
70
 
69
71
  ## Open questions
70
72
 
71
73
  - Blocking: none
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)
74
+ - Non-blocking: none
@@ -16,6 +16,9 @@ profiles:
16
16
  runtime-heavy:
17
17
  always_required: [completion-reviewer, qa-gatekeeper]
18
18
  conditional_required: [implementation-reviewer]
19
+ full-harness:
20
+ always_required: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
21
+ conditional_required: []
19
22
 
20
23
  optional_modes:
21
24
  devils-advocate:
@@ -9,10 +9,10 @@ spec-0013 (CAP-0013) で定義された、下流 skill(prototyping / ATDD / TD
9
9
 
10
10
  1. **Discussion-side UI/UX Sidecar Artifacts** (`discussion-*/uiux/`) — **primary source of truth**
11
11
  - `30_option_comparison.md` — オプション比較(比較 artifact)
12
- - `31_selected_anchor_screen.md` — 選定結果 + selected direction の SSOT
12
+ - `31_selected_anchor_screen.md` — 選定結果 + selected anchor の SSOT
13
13
  - `10_implementation_strategy.md` — 実装戦略(strict canonical schema)
14
14
  - `11_design_taste_interview.md` — デザインテイストインタビュー
15
- - `20-24` — 3-layer 評価ファミリー(invariant / trend-derived / product-specific / aggregate / dynamic overrides
15
+ - `20-24` — 3-layer 評価ファミリー(**invariant / trend-derived / product-specific / aggregate / dynamic overrides** の 5 sidecar のみ。`20` は invariant axes, **Trend Scan は sidecar ではなく `04_Sources.md#Trend Scan` が正本**。旧 `uiux/20_trend_scan.md` は廃止。)
16
16
  - `40_screen_contracts.md` — スクリーンコントラクト(strong schema)
17
17
  - `50_review_input_bundle.md` — レビュー入力バンドル
18
18
 
@@ -47,8 +47,8 @@ spec-0013 (CAP-0013) で定義された、下流 skill(prototyping / ATDD / TD
47
47
 
48
48
  ## Priority and Override Semantics
49
49
 
50
- - sidecar artifactsselected direction / strategy / contracts)が **primary truth**
51
- - UI Contracts と Design Token は **存在する場合のみ読む supporting input**(primary truth ではない)
52
- - Optional fallback mock はさらに後順位の **fallback**
53
- - Design Token の値と HTML Mock の fallback 値が矛盾する場合は warning を発行
54
- - UI Contract の screen ID と sidecar contracts の対応がない場合は warning を発行
50
+ - discussion sidecar artifacts が **primary truth**。具体的には (a) `uiux/30_option_comparison.md`(option comparison)、(b) `uiux/31_selected_anchor_screen.md`(selected anchor)、(c) `uiux/10_implementation_strategy.md`(implementation strategy)、(d) `uiux/40_screen_contracts.md`(screen contracts / 強スキーマ)の順で読む。
51
+ - `.qfai/contracts/ui/` の UI Contracts と Design Token は **存在する場合のみ読む supporting input**(primary truth ではない)。
52
+ - Optional fallback mock はさらに後順位の **fallback**。
53
+ - Design Token の値と HTML Mock の fallback 値が矛盾する場合は warning を発行。
54
+ - UI Contract の screen ID と sidecar screen contracts の対応がない場合は warning を発行。
@@ -1,30 +1,37 @@
1
- # contracts
1
+ # .qfai/contracts (contracts + supporting inputs)
2
2
 
3
3
  ## Purpose
4
4
 
5
- Contracts define the **stable surface** that specs and tests may reference.
6
- They are the boundary between "what we promise" and "how we implement".
5
+ This directory holds two related categories of inputs:
7
6
 
8
- QFAI organizes contracts into four directories:
7
+ - **Contracts** (`api/`, `db/`, `ui/`) define the **stable surface** that
8
+ specs and tests may reference. Each contract file requires a
9
+ `QFAI-CONTRACT-ID` header and participates in the traceability ledger.
10
+ - **Supporting inputs** (`design/`) supplement contracts — they do **not**
11
+ carry contract IDs and are not directly cited by specs. Design tokens are
12
+ referenced indirectly from `ui/*.yaml` via token IDs.
13
+
14
+ QFAI organizes this directory into four subdirectories:
9
15
 
10
16
  ```text
11
- contracts/
17
+ .qfai/contracts/
12
18
  ├── api/ # OpenAPI YAML (endpoints, request/response)
13
19
  ├── db/ # SQL schema contracts (tables, columns, constraints)
14
20
  ├── design/ # Design token YAML — optional supporting input
15
21
  └── ui/ # UI contract YAML (screens, elements, user actions)
16
22
  ```
17
23
 
18
- > **Note:** `ui/` and `design/` are **supporting input** that supplements the discussion sidecar artifacts (`discussion-*/uiux/*`), which remain the primary truth. After `qfai init`, these directories may contain only placeholder READMEs — this is the normal initial state.
24
+ > **Note:** `ui/` is a contract (QFAI-CONTRACT-ID required, cited by specs), but the **primary truth** for UI/UX definitions still lives in the discussion sidecar artifacts (`discussion-*/uiux/*`). UI contracts cite sidecar content by ID and exist specifically to make that sidecar machine-consumable for prototyping and selectors. `design/` is supporting input only (design tokens referenced indirectly from `ui/*.yaml`). After `qfai init`, these directories may contain only placeholder READMEs — this is the normal initial state.
19
25
 
20
26
  ## Directory rules
21
27
 
22
28
  - Contract files are **minimal**: only what specs actually need.
23
- - Each contract file must declare `QFAI-CONTRACT-ID` at the top (`CON-UI-*` / `CON-API-*` / `CON-DB-*`).
29
+ - Each contract file in `api/`, `db/`, and `ui/` must declare `QFAI-CONTRACT-ID` at the top (`CON-UI-*` / `CON-API-*` / `CON-DB-*`).
30
+ - `design/` (design token YAML) is a supporting input — **not** a contract in the traceability ledger. It does not require a `QFAI-CONTRACT-ID` header and is referenced indirectly from `ui/*.yaml` contracts via token IDs.
24
31
  - Prefer additive changes; breaking changes require delta notes.
25
32
 
26
33
  ```text
27
- contracts/
34
+ .qfai/contracts/
28
35
  ├── README.md
29
36
  ├── api/
30
37
  │ ├── README.md