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.
- package/README.md +34 -70
- package/assets/init/.qfai/README.md +11 -16
- package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +51 -0
- package/assets/init/.qfai/assistant/agents/architecture-reviewer.md +57 -0
- package/assets/init/.qfai/assistant/agents/backend-engineer.md +40 -31
- package/assets/init/.qfai/assistant/agents/completion-reviewer.md +48 -0
- package/assets/init/.qfai/assistant/agents/delivery-planner.md +52 -0
- package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +31 -28
- package/assets/init/.qfai/assistant/agents/discovery-analyst.md +50 -0
- package/assets/init/.qfai/assistant/agents/doc-steward.md +30 -20
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +40 -31
- package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +58 -0
- package/assets/init/.qfai/assistant/agents/orchestrator.md +19 -2
- package/assets/init/.qfai/assistant/agents/product-experience-architect.md +59 -0
- package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +60 -0
- package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +53 -48
- package/assets/init/.qfai/assistant/agents/qa-strategist.md +49 -0
- package/assets/init/.qfai/assistant/agents/requirements-analyst.md +32 -29
- package/assets/init/.qfai/assistant/agents/requirements-reviewer.md +48 -0
- package/assets/init/.qfai/assistant/agents/solution-architect.md +59 -0
- package/assets/init/.qfai/assistant/agents/test-design-analyst.md +64 -0
- package/assets/init/.qfai/assistant/instructions/agent-selection.md +64 -50
- package/assets/init/.qfai/assistant/instructions/communication.md +17 -0
- package/assets/init/.qfai/assistant/instructions/constitution.md +36 -1
- package/assets/init/.qfai/assistant/instructions/drift-protocol.md +1 -1
- package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +20 -13
- package/assets/init/.qfai/assistant/instructions/workflow.md +2 -1
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +32 -31
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +80 -0
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +21 -15
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +95 -61
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +17 -85
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +17 -60
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +69 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +25 -16
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +8 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +11 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +6 -44
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +29 -14
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +45 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +41 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +28 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +56 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +42 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +44 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +36 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +65 -67
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +171 -279
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +91 -57
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +21 -80
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/import-lite.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +50 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +23 -3
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +25 -17
- package/assets/init/.qfai/assistant/steering/agent-catalog.yml +194 -0
- package/assets/init/.qfai/assistant/steering/agent-routing.yml +176 -0
- package/assets/init/.qfai/assistant/steering/cli-ux-guidelines.md +49 -0
- package/assets/init/.qfai/assistant/steering/manifest.md +44 -19
- package/assets/init/.qfai/assistant/steering/product.md +53 -11
- package/assets/init/.qfai/assistant/steering/research-first-protocol.md +58 -0
- package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +17 -66
- package/assets/init/.qfai/assistant/steering/review-profiles.yml +30 -0
- package/assets/init/.qfai/assistant/steering/structure.md +30 -16
- package/assets/init/.qfai/assistant/steering/tech.md +37 -21
- package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +54 -0
- package/assets/init/.qfai/contracts/README.md +10 -4
- package/assets/init/.qfai/contracts/design/README.md +32 -0
- package/assets/init/.qfai/contracts/ui/README.md +5 -3
- package/assets/init/.qfai/discussion/README.md +52 -5
- package/assets/init/.qfai/evidence/README.md +143 -116
- package/assets/init/.qfai/report/README.md +1 -1
- package/assets/init/.qfai/review/README.md +24 -9
- package/assets/init/.qfai/specs/README.md +5 -2
- package/assets/init/root/qfai.config.yaml +13 -0
- package/assets/uix-rev/comparison-review.md +24 -7
- package/assets/uix-rev/contracts-review.md +17 -10
- package/assets/uix-rev/scoring-review.md +42 -6
- package/assets/uix-rev/strategy-review.md +13 -9
- package/dist/cli/index.cjs +15618 -11547
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +15487 -11415
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +10486 -6080
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +766 -198
- package/dist/index.d.ts +766 -198
- package/dist/index.mjs +10823 -6420
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -3
- package/assets/init/.qfai/assistant/agents/architect-reviewer.md +0 -65
- package/assets/init/.qfai/assistant/agents/architect.md +0 -49
- package/assets/init/.qfai/assistant/agents/atdd-api-implementer.md +0 -49
- package/assets/init/.qfai/assistant/agents/atdd-e2e-implementer.md +0 -48
- package/assets/init/.qfai/assistant/agents/atdd-integration-implementer.md +0 -48
- package/assets/init/.qfai/assistant/agents/backend-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/code-reviewer.md +0 -67
- package/assets/init/.qfai/assistant/agents/contract-designer.md +0 -49
- package/assets/init/.qfai/assistant/agents/coverage-planner.md +0 -49
- package/assets/init/.qfai/assistant/agents/design-owner.md +0 -48
- package/assets/init/.qfai/assistant/agents/design-review-lead.md +0 -68
- package/assets/init/.qfai/assistant/agents/facilitator.md +0 -48
- package/assets/init/.qfai/assistant/agents/frontend-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/interviewer.md +0 -45
- package/assets/init/.qfai/assistant/agents/option-explorer.md +0 -51
- package/assets/init/.qfai/assistant/agents/option-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/oq-harvester.md +0 -50
- package/assets/init/.qfai/assistant/agents/oq-reviewer.md +0 -70
- package/assets/init/.qfai/assistant/agents/planner.md +0 -48
- package/assets/init/.qfai/assistant/agents/project-lead.md +0 -47
- package/assets/init/.qfai/assistant/agents/prototyping-coverage-auditor.md +0 -46
- package/assets/init/.qfai/assistant/agents/qa-engineer.md +0 -47
- package/assets/init/.qfai/assistant/agents/qa-lead.md +0 -44
- package/assets/init/.qfai/assistant/agents/qa-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/researcher.md +0 -47
- package/assets/init/.qfai/assistant/agents/reviewer.md +0 -62
- package/assets/init/.qfai/assistant/agents/runtime-gatekeeper.md +0 -46
- package/assets/init/.qfai/assistant/agents/test-case-owner.md +0 -53
- package/assets/init/.qfai/assistant/agents/test-engineer.md +0 -50
- package/assets/init/.qfai/assistant/agents/test-volume-estimator.md +0 -48
- package/assets/init/.qfai/assistant/agents/ui-ux-reviewer.md +0 -71
- package/assets/init/.qfai/assistant/agents/unit-test-scope-enforcer.md +0 -46
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +0 -56
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +0 -45
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +0 -27
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +0 -51
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +0 -23
- package/assets/init/.qfai/assistant/skills/qfai-prototyping-full-harness/SKILL.md +0 -185
- package/assets/init/.qfai/assistant/steering/review-roster.yml +0 -128
- package/assets/init/.qfai/evidence/.gitignore +0 -3
- package/assets/init/.qfai/report/.gitignore +0 -3
- package/assets/init/.qfai/review/.gitignore +0 -5
|
@@ -5,19 +5,16 @@ description: "Implement automated acceptance tests (E2E/API/Integration) aligned
|
|
|
5
5
|
argument-hint: "<spec-id> [--auto]"
|
|
6
6
|
allowed-tools: [Read, Glob, Write, TodoWrite, Task, Bash]
|
|
7
7
|
roles:
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
- RuntimeGatekeeper
|
|
19
|
-
- DevOpsCIEngineer
|
|
20
|
-
- CodeReviewer
|
|
8
|
+
- orchestrator
|
|
9
|
+
- delivery-planner
|
|
10
|
+
- test-design-analyst
|
|
11
|
+
- qa-strategist
|
|
12
|
+
- acceptance-test-engineer
|
|
13
|
+
- devops-ci-engineer
|
|
14
|
+
- completion-reviewer
|
|
15
|
+
- qa-gatekeeper
|
|
16
|
+
- implementation-reviewer
|
|
17
|
+
routing-profile: runtime-heavy
|
|
21
18
|
mode: execution-focused
|
|
22
19
|
---
|
|
23
20
|
|
|
@@ -114,31 +111,32 @@ Every major artifact in this stage MUST include this fixed table schema:
|
|
|
114
111
|
|
|
115
112
|
### Stage Minimum Roles (MUST)
|
|
116
113
|
|
|
117
|
-
- Delegate:
|
|
118
|
-
-
|
|
119
|
-
-
|
|
114
|
+
- Delegate: `test-design-analyst` defines coverage and layer ownership.
|
|
115
|
+
- Delegate: `acceptance-test-engineer` implements E2E, API, and integration acceptance tests.
|
|
116
|
+
- Delegate: `devops-ci-engineer` captures execution evidence when CI/runtime proof is needed.
|
|
117
|
+
- Integrate: `orchestrator` consolidates delegated outputs and presents results.
|
|
118
|
+
- Gate: `completion-reviewer` is delegated independently and returns only `PASS` or `REVISE`.
|
|
120
119
|
- Orchestrator must not draft the primary artifact body and must not self-approve.
|
|
121
120
|
|
|
122
121
|
### Reviewer Gate (MUST)
|
|
123
122
|
|
|
124
|
-
- Final completion gate MUST be delegated to an independent
|
|
123
|
+
- Final completion gate MUST be delegated to an independent `completion-reviewer`.
|
|
125
124
|
- Reviewer checks (minimum):
|
|
126
125
|
- Required roles were delegated (no orchestrator self-authoring).
|
|
127
126
|
- Drift Protocol enforced (no upstream edits without approval and owner rerun).
|
|
128
127
|
- Test-layer policy enforced via `test-layers.md`.
|
|
129
128
|
- Coverage obligations met: E2E covers `US`, Integration covers `TC`, API covers `CON-API`.
|
|
129
|
+
- **Test-case quality depth verified**: Coverage Depth Matrix reviewed; no unjustified ❌ cells remain (see `references/test-case-depth-checklist.md`).
|
|
130
130
|
- Validation evidence exists and `qfai validate --fail-on error` passes.
|
|
131
131
|
- Floors/ratios are signals, not gates.
|
|
132
132
|
- `scenario.feature` and coverage ledgers are optional legacy inputs, not completion gates.
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
-
|
|
140
|
-
- Each pattern proposed by pattern-doubler must include rationale.
|
|
141
|
-
- Artifacts with no ID-bearing items (US/AC/BR/EX/TC) are marked N/A.
|
|
133
|
+
- Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
|
|
134
|
+
- Default ATDD review set:
|
|
135
|
+
- `completion-reviewer`
|
|
136
|
+
- `qa-gatekeeper`
|
|
137
|
+
- Add `implementation-reviewer` only when helper/runtime support code changed.
|
|
138
|
+
- Do not declare DONE until all routed blocking reviewers return `PASS`.
|
|
139
|
+
- Every reviewer MUST provide a concrete alternative or fix proposal when returning FAIL.
|
|
142
140
|
|
|
143
141
|
### Work order template (copy/paste)
|
|
144
142
|
|
|
@@ -238,10 +236,11 @@ Turn specs/contracts obligations (`US` / `TC` / `CON-API`) into runnable accepta
|
|
|
238
236
|
## Mandatory Outputs
|
|
239
237
|
|
|
240
238
|
1. Test Volume Estimate (signal table with evidence)
|
|
241
|
-
2. Coverage
|
|
242
|
-
3.
|
|
243
|
-
4.
|
|
244
|
-
5.
|
|
239
|
+
2. **Coverage Depth Matrix** (per spec; see `references/test-case-depth-checklist.md`)
|
|
240
|
+
3. Coverage obligations checklist (`US` / `TC` / `CON-API`)
|
|
241
|
+
4. Implemented tests per layer (E2E/API/Integration)
|
|
242
|
+
5. Reviewer notes (`PASS` or concrete rework list)
|
|
243
|
+
6. Evidence file: `.qfai/evidence/atdd-<spec-id>.md`
|
|
245
244
|
|
|
246
245
|
## Volume Signals (mandatory, not gates)
|
|
247
246
|
|
|
@@ -287,6 +286,7 @@ Notes:
|
|
|
287
286
|
- Forbidden references remain.
|
|
288
287
|
- Tests exist but were never executed.
|
|
289
288
|
- Validation evidence is missing or failing.
|
|
289
|
+
- Coverage Depth Matrix is missing or contains unjustified ❌ cells (normal-path-only coverage is incomplete).
|
|
290
290
|
|
|
291
291
|
## Failure handling (mandatory)
|
|
292
292
|
|
|
@@ -341,11 +341,12 @@ Template:
|
|
|
341
341
|
|
|
342
342
|
## ATDD Work Orders (mandatory)
|
|
343
343
|
|
|
344
|
+
- **Test Case Depth Analyst**: `test-design-analyst` evaluates test cases using `references/test-case-depth-checklist.md`, produces Coverage Depth Matrix, flags gaps in boundary/error/edge coverage.
|
|
344
345
|
- Test Volume Estimator: compute US/TC/CON signals with evidence.
|
|
345
346
|
- ATDD E2E Implementer: implement required `US` coverage.
|
|
346
347
|
- ATDD API Implementer: implement required `CON-API` coverage.
|
|
347
348
|
- ATDD Integration Implementer: implement required `TC` coverage.
|
|
348
|
-
- Reviewer: validate coverage obligations + gate results (non-edit).
|
|
349
|
+
- Reviewer: validate coverage obligations + gate results + Coverage Depth Matrix (non-edit).
|
|
349
350
|
- Runtime Gatekeeper: run suites and capture logs.
|
|
350
351
|
|
|
351
352
|
## Completion Separation (mandatory)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Test Case Depth Checklist
|
|
2
|
+
|
|
3
|
+
This checklist ensures test cases cover not only happy paths but also boundary values, error paths, edge cases, and combinatorial scenarios.
|
|
4
|
+
Reviewers MUST use this checklist when evaluating test case completeness during ATDD and SDD review gates.
|
|
5
|
+
|
|
6
|
+
## 1. Equivalence Partitioning (同値分割)
|
|
7
|
+
|
|
8
|
+
For each input parameter or condition:
|
|
9
|
+
|
|
10
|
+
- [ ] Valid partitions identified with at least one representative test case each.
|
|
11
|
+
- [ ] Invalid partitions identified with at least one representative test case each.
|
|
12
|
+
- [ ] Special value partitions identified (null, empty, zero, default) with test cases.
|
|
13
|
+
|
|
14
|
+
## 2. Boundary Value Analysis (境界値分析)
|
|
15
|
+
|
|
16
|
+
For each numeric, date, string-length, or ordered domain:
|
|
17
|
+
|
|
18
|
+
- [ ] Minimum valid value tested.
|
|
19
|
+
- [ ] Maximum valid value tested.
|
|
20
|
+
- [ ] Just below minimum (invalid) tested.
|
|
21
|
+
- [ ] Just above maximum (invalid) tested.
|
|
22
|
+
- [ ] Off-by-one boundaries tested where applicable.
|
|
23
|
+
|
|
24
|
+
## 3. Normal / Error / Edge Path Coverage (正常系・異常系・エッジケース)
|
|
25
|
+
|
|
26
|
+
For each US or TC:
|
|
27
|
+
|
|
28
|
+
- [ ] At least one normal (happy) path test case exists.
|
|
29
|
+
- [ ] At least one error/failure path test case exists (invalid input, missing data, unauthorized access, etc.).
|
|
30
|
+
- [ ] Edge cases identified and tested (concurrent access, timing, empty collections, maximum payload, etc.).
|
|
31
|
+
|
|
32
|
+
## 4. Special Values (特殊値)
|
|
33
|
+
|
|
34
|
+
- [ ] Null / undefined / missing values handled.
|
|
35
|
+
- [ ] Empty strings, empty arrays, empty objects handled.
|
|
36
|
+
- [ ] Maximum-length strings or maximum-size payloads handled.
|
|
37
|
+
- [ ] Special characters (Unicode, control characters, SQL injection patterns) considered where applicable.
|
|
38
|
+
|
|
39
|
+
## 5. State Transitions (状態遷移)
|
|
40
|
+
|
|
41
|
+
For business flows with state machines or multi-step processes:
|
|
42
|
+
|
|
43
|
+
- [ ] All valid state transitions have test cases.
|
|
44
|
+
- [ ] Invalid state transitions are tested and rejected.
|
|
45
|
+
- [ ] Terminal / end states are reachable and verified.
|
|
46
|
+
|
|
47
|
+
## 6. Combinatorial Coverage (組み合わせ)
|
|
48
|
+
|
|
49
|
+
When multiple conditions interact:
|
|
50
|
+
|
|
51
|
+
- [ ] Key condition combinations tested (at minimum pairwise for high-risk interactions).
|
|
52
|
+
- [ ] Conflicting or contradictory input combinations tested.
|
|
53
|
+
|
|
54
|
+
## 7. Business Rule Coverage (ビジネスルール網羅)
|
|
55
|
+
|
|
56
|
+
- [ ] Every BR-\* referenced in 04_Business-Rules.md has at least one positive and one negative test case.
|
|
57
|
+
- [ ] Conditional business rules have test cases for each branch.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Coverage Depth Matrix (テンプレート)
|
|
62
|
+
|
|
63
|
+
Reviewers and test-design-analysts MUST produce this matrix for each spec under review.
|
|
64
|
+
Mark each cell: ✅ covered, ⚠️ partial, ❌ missing.
|
|
65
|
+
|
|
66
|
+
| US/TC ID | Normal path | Error path | Boundary values | Special values | State transitions | Combinatorial | Status |
|
|
67
|
+
| -------- | ----------- | ---------- | --------------- | -------------- | ----------------- | ------------- | ------ |
|
|
68
|
+
| US-0001 | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | — |
|
|
69
|
+
| TC-0001 | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ | — |
|
|
70
|
+
|
|
71
|
+
### Evaluation criteria
|
|
72
|
+
|
|
73
|
+
- **PASS**: All cells are ✅ or ⚠️ with documented rationale for partial coverage.
|
|
74
|
+
- **REVISE**: Any cell is ❌ without an explicit justification (e.g., Decision Record).
|
|
75
|
+
|
|
76
|
+
### Usage
|
|
77
|
+
|
|
78
|
+
- `test-design-analyst`: Produce this matrix when defining coverage obligations. Flag ❌ cells as gaps.
|
|
79
|
+
- `qa-gatekeeper`: Verify the matrix exists and no unjustified ❌ cells remain.
|
|
80
|
+
- `completion-reviewer`: Confirm the matrix was reviewed and any ⚠️ cells have rationale.
|
|
@@ -4,7 +4,16 @@ title: QFAI Configure (Tune qfai.config.yaml)
|
|
|
4
4
|
description: "Analyze the repository and tune qfai.config.yaml (testFileGlobs, exclude globs, optional specSections)."
|
|
5
5
|
argument-hint: "[--auto]"
|
|
6
6
|
allowed-tools: [Read, Glob, Write, TodoWrite, Task]
|
|
7
|
-
roles:
|
|
7
|
+
roles:
|
|
8
|
+
[
|
|
9
|
+
orchestrator,
|
|
10
|
+
delivery-planner,
|
|
11
|
+
qa-strategist,
|
|
12
|
+
devops-ci-engineer,
|
|
13
|
+
completion-reviewer,
|
|
14
|
+
qa-gatekeeper,
|
|
15
|
+
]
|
|
16
|
+
routing-profile: runtime-heavy
|
|
8
17
|
mode: evidence-focused
|
|
9
18
|
---
|
|
10
19
|
|
|
@@ -32,7 +41,7 @@ QFAI Skill Body (SSOT)
|
|
|
32
41
|
## FORMAT SSOT (Mandatory)
|
|
33
42
|
|
|
34
43
|
- **Before writing or editing any `.qfai/**` artifact\*\*, read and follow the relevant directory README template and sample:
|
|
35
|
-
- `.qfai/
|
|
44
|
+
- `.qfai/discussion/README.md`
|
|
36
45
|
- `.qfai/specs/README.md`
|
|
37
46
|
- `.qfai/contracts/**/README.md`
|
|
38
47
|
- `.qfai/evidence/README.md`
|
|
@@ -91,7 +100,7 @@ Every major artifact in this stage MUST include a `## Work Orders Summary` secti
|
|
|
91
100
|
|
|
92
101
|
### Reviewer Gate (MUST)
|
|
93
102
|
|
|
94
|
-
- Final completion gate MUST be delegated to an independent
|
|
103
|
+
- Final completion gate MUST be delegated to an independent `completion-reviewer`.
|
|
95
104
|
- Reviewer checks (minimum):
|
|
96
105
|
- Required roles were delegated (no orchestrator self-authoring).
|
|
97
106
|
- DoD satisfied (validate gate, test-layer hard gate, evidence, DR-IDs).
|
|
@@ -102,15 +111,12 @@ Every major artifact in this stage MUST include a `## Work Orders Summary` secti
|
|
|
102
111
|
- **Test-layer policy enforced**:
|
|
103
112
|
- E2E/API/Integration coverage aligns with `steering/test-layers.md` and the project’s plan.
|
|
104
113
|
- Do not use pyramid ratios as a gate; use floors/ratios only as signals. Coverage obligations are the gate.
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
- **pattern-doubler gate**:
|
|
112
|
-
- Each pattern proposed by pattern-doubler must include rationale.
|
|
113
|
-
- Artifacts with no ID-bearing items (US/AC/BR/EX/TC) are marked N/A.
|
|
114
|
+
- Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
|
|
115
|
+
- Default configure review set:
|
|
116
|
+
- `completion-reviewer`
|
|
117
|
+
- `qa-gatekeeper`
|
|
118
|
+
- Do not declare DONE or handoff until all routed blocking reviewers return `PASS`.
|
|
119
|
+
- Every reviewer MUST provide a concrete alternative or fix proposal when returning FAIL.
|
|
114
120
|
|
|
115
121
|
### Work order template (copy/paste)
|
|
116
122
|
|
|
@@ -327,7 +333,7 @@ This workflow assumes the environment _may_ support subagents (e.g., Claude Code
|
|
|
327
333
|
|
|
328
334
|
Delegate to multiple roles and then merge the results. Use a "real-world workflow" order:
|
|
329
335
|
|
|
330
|
-
-
|
|
336
|
+
- discovery-analyst -> requirements-analyst -> delivery-planner -> solution-architect -> test-design-analyst -> qa-strategist -> devops-ci-engineer -> completion-reviewer / qa-gatekeeper
|
|
331
337
|
|
|
332
338
|
**Pseudo-invocation pattern** (adjust to your tool):
|
|
333
339
|
|
|
@@ -347,8 +353,8 @@ Only with explicit user approval (`Simulation mode allowed`), simulate roles by
|
|
|
347
353
|
|
|
348
354
|
## Completion Separation (mandatory)
|
|
349
355
|
|
|
350
|
-
- Config changes (
|
|
351
|
-
-
|
|
356
|
+
- Config changes (`devops-ci-engineer`) and completion approval (`completion-reviewer`) must be separate.
|
|
357
|
+
- `qa-gatekeeper` must confirm evidence sampling before approval.
|
|
352
358
|
|
|
353
359
|
## Context Refresh (mandatory for long tasks)
|
|
354
360
|
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qfai-discussion
|
|
3
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 OQ-driven exit."
|
|
4
|
+
description: "Run structured discussion that merges discuss and require into a single 15-file discussion pack with required prototyping.yaml and OQ-driven exit."
|
|
5
5
|
argument-hint: "<idea-or-problem> [--auto]"
|
|
6
6
|
allowed-tools: [Read, Glob, Write, TodoWrite, Task, Bash]
|
|
7
|
-
roles:
|
|
7
|
+
roles:
|
|
8
|
+
[
|
|
9
|
+
orchestrator,
|
|
10
|
+
delivery-planner,
|
|
11
|
+
discovery-analyst,
|
|
12
|
+
requirements-analyst,
|
|
13
|
+
solution-architect,
|
|
14
|
+
product-experience-architect,
|
|
15
|
+
completion-reviewer,
|
|
16
|
+
requirements-reviewer,
|
|
17
|
+
architecture-reviewer,
|
|
18
|
+
product-surface-reviewer,
|
|
19
|
+
]
|
|
20
|
+
routing-profile: requirements-heavy
|
|
8
21
|
mode: interactive-by-default
|
|
9
22
|
---
|
|
10
23
|
|
|
@@ -35,7 +48,9 @@ QFAI Skill Body (SSOT)
|
|
|
35
48
|
- `.qfai/discussion/README.md`
|
|
36
49
|
- `.qfai/specs/README.md`
|
|
37
50
|
- `.qfai/evidence/README.md`
|
|
38
|
-
- `.qfai/assistant/steering/
|
|
51
|
+
- `.qfai/assistant/steering/agent-catalog.yml`
|
|
52
|
+
- `.qfai/assistant/steering/agent-routing.yml`
|
|
53
|
+
- `.qfai/assistant/steering/review-profiles.yml`
|
|
39
54
|
- `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md`
|
|
40
55
|
- Keep templates as source of truth and preserve file naming/order.
|
|
41
56
|
|
|
@@ -70,18 +85,18 @@ Every major artifact in this stage MUST include this table schema:
|
|
|
70
85
|
|
|
71
86
|
### Reviewer Gate (MUST)
|
|
72
87
|
|
|
73
|
-
- Delegate final completion gate to an independent
|
|
74
|
-
-
|
|
88
|
+
- Delegate final completion gate to an independent `completion-reviewer`.
|
|
89
|
+
- Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml` and `.qfai/assistant/steering/review-profiles.yml`.
|
|
90
|
+
- Default discussion review set:
|
|
91
|
+
- `completion-reviewer`
|
|
92
|
+
- `requirements-reviewer`
|
|
93
|
+
- Conditional discussion reviewers:
|
|
94
|
+
- `architecture-reviewer` when architecture-affecting decisions exist
|
|
95
|
+
- `product-surface-reviewer` when the pack is UI-bearing
|
|
96
|
+
- Reviewers must check Drift Protocol compliance and alignment with `.qfai/assistant/steering/test-layers.md`.
|
|
75
97
|
- Test volume floors/ratios are not gates; they are risk signals.
|
|
76
|
-
- Do not declare DONE until
|
|
77
|
-
-
|
|
78
|
-
- Every reviewer MUST provide a concrete alternative or fix proposal when returning FAIL. Feedback without a concrete alternative is invalid and triggers re-judgment.
|
|
79
|
-
- **devils-advocate gate**:
|
|
80
|
-
- devils-advocate FAIL must include a concrete alternative proposal. Bare negation FAIL triggers re-judgment.
|
|
81
|
-
- 3 consecutive FAILs trigger advisory demotion and allow progression to the next phase.
|
|
82
|
-
- **pattern-doubler gate**:
|
|
83
|
-
- Each pattern proposed by pattern-doubler must include rationale.
|
|
84
|
-
- Artifacts with no ID-bearing items (US/AC/BR/EX/TC) are marked N/A.
|
|
98
|
+
- Do not declare DONE until all routed blocking reviewers return `PASS`; otherwise apply `REVISE`.
|
|
99
|
+
- Every reviewer MUST provide a concrete alternative or fix proposal when returning `FAIL`.
|
|
85
100
|
|
|
86
101
|
## CRITICAL CONSTRAINTS (Read First)
|
|
87
102
|
|
|
@@ -107,30 +122,35 @@ Every major artifact in this stage MUST include this table schema:
|
|
|
107
122
|
- `deferred` is allowed only when required metadata is complete in `13_Deferred.md`.
|
|
108
123
|
- `02_Inception-Deck.md` MUST contain at least one Mermaid diagram in ` ```mermaid ` fences.
|
|
109
124
|
- `03_Story-Workshop.md` MUST contain at least one Mermaid diagram in ` ```mermaid ` fences.
|
|
110
|
-
- If UI requirements exist,
|
|
125
|
+
- If UI requirements exist, behavior obligations and sidecar artifacts are primary; HTML+CSS visual mock is optional fallback only.
|
|
111
126
|
- **UI-bearing Authoring Requirements**:
|
|
112
127
|
- UI-bearing detection is based on **surface type classification**
|
|
113
128
|
(see `## UI-bearing Detection` below).
|
|
114
129
|
- Content signals in `03_Story-Workshop.md`
|
|
115
130
|
(HTML tags, Mermaid screen flows) serve as supplementary detection hints,
|
|
116
131
|
not the primary SSOT.
|
|
117
|
-
- UI-bearing packs
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
132
|
+
- UI-bearing packs rely on the **canonical sidecar family** as primary truth for design direction:
|
|
133
|
+
- `uiux/10_implementation_strategy.md` — implementation strategy with strict canonical schema
|
|
134
|
+
- `uiux/11_design_taste_interview.md` — design taste interview (10 sections)
|
|
135
|
+
- `04_Sources.md#Trend Scan` — trend scan with required category coverage and per-entry completeness
|
|
136
|
+
- `uiux/20-24` — 3-layer evaluation family (invariant, trend-derived, product-specific, aggregate, dynamic overrides)
|
|
137
|
+
- `uiux/30_option_comparison.md` — option comparison
|
|
138
|
+
- `uiux/31_selected_anchor_screen.md` — selected anchor screen (Selected Direction single source of truth)
|
|
139
|
+
- `uiux/40_screen_contracts.md` — screen contracts (strong schema)
|
|
140
|
+
- `uiux/50_review_input_bundle.md` — review input bundle
|
|
141
|
+
- `04_Sources.md` `## Trend Scan` must include all required categories, and each entry must include: `reference`, `observation`, `freshness_date`, `confidence`, `source_translation`, `local_implication`
|
|
142
|
+
- `04_Sources.md` `## Competitive Reference Registry` entries must include:
|
|
125
143
|
- `adopted_points`: what was adopted and why
|
|
126
144
|
- `rejected_points`: what was not adopted and why
|
|
127
145
|
- `local_translation`: how adopted points were adapted
|
|
128
|
-
- Placeholder values (TBD, N/A, TODO, empty) are treated as missing
|
|
129
|
-
- `14_Review-Request.md` must
|
|
146
|
+
- Placeholder-like values (TBD, N/A, TODO, empty) are treated as missing
|
|
147
|
+
- `14_Review-Request.md` must review selected direction from `uiux/31_selected_anchor_screen.md` and strategy alignment from `uiux/10_implementation_strategy.md`.
|
|
130
148
|
- `99_delta.md` must include a `## Rejected Visual Directions` section with rationale and recurrence prevention.
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
149
|
+
- `04_Sources.md` must include a `## Trend Scan` section where each required category has at least one complete entry.
|
|
150
|
+
- `04_Sources.md` must include a `## Competitive Reference Registry` where each entry has: `adopted_points`, `rejected_points`, `local_translation` fields populated.
|
|
151
|
+
- Sidecar-family validators (UIX-VAL series) are the primary quality gates for UI-bearing packs.
|
|
152
|
+
- Non-UI packs are exempt from all sidecar validators (zero new issues).
|
|
153
|
+
- Reviewer routing is derived from `.qfai/assistant/steering/agent-routing.yml` and `.qfai/assistant/steering/review-profiles.yml`.
|
|
134
154
|
- RCP wording must be sourced from `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md`.
|
|
135
155
|
- Discussion artifacts are logs/rationale and must not duplicate spec SSOT.
|
|
136
156
|
- If diagrams are written, Mermaid syntax must be in ` ```mermaid ` fences only.
|
|
@@ -148,11 +168,12 @@ Classification is based on **surface type only**, not interaction complexity (DR
|
|
|
148
168
|
|
|
149
169
|
| Surface Type | UI-bearing | Sidecar Generation | Example |
|
|
150
170
|
| ------------ | ---------- | ---------------------------------------- | ---------------------------------------- |
|
|
151
|
-
| web
|
|
152
|
-
| mobile
|
|
153
|
-
| desktop
|
|
171
|
+
| web | Yes | Full 11-file uiux/ sidecar | Web application with user-facing screens |
|
|
172
|
+
| mobile | Yes | Full 11-file uiux/ sidecar | Mobile app with touch interactions |
|
|
173
|
+
| desktop | Yes | Full 11-file uiux/ sidecar | Desktop application with GUI |
|
|
174
|
+
| cli | No | No uiux/ directory, no sidecar generated | CLI tool, terminal application |
|
|
154
175
|
| mixed | Yes | Full 11-file uiux/ sidecar | Cross-platform with UI components |
|
|
155
|
-
| non-ui | No | No uiux/ directory, no sidecar generated |
|
|
176
|
+
| non-ui | No | No uiux/ directory, no sidecar generated | API service, library |
|
|
156
177
|
|
|
157
178
|
### Detection Signals
|
|
158
179
|
|
|
@@ -171,24 +192,27 @@ When UI-bearing is detected:
|
|
|
171
192
|
When non-ui is detected:
|
|
172
193
|
|
|
173
194
|
- Skip uiux/ sidecar generation entirely — no uiux/ directory, no errors
|
|
174
|
-
- Core 15-file pack is generated as before
|
|
195
|
+
- Core 15-file pack plus required prototyping.yaml is generated as before
|
|
175
196
|
- No additional UI/UX completion conditions apply
|
|
176
197
|
|
|
177
198
|
### UI-bearing Completion Conditions
|
|
178
199
|
|
|
179
200
|
For UI-bearing projects, the following conditions must ALL be satisfied before discussion completion:
|
|
180
201
|
|
|
181
|
-
1. **Strategy selected**: `uiux/
|
|
182
|
-
2. **
|
|
183
|
-
|
|
184
|
-
`uiux/
|
|
185
|
-
`uiux/
|
|
186
|
-
`uiux/
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
4. **
|
|
190
|
-
|
|
191
|
-
|
|
202
|
+
1. **Strategy selected**: `uiux/10_implementation_strategy.md` is populated with a canonical implementation approach
|
|
203
|
+
2. **Taste interview completed**: `uiux/11_design_taste_interview.md` has all 10 sections populated
|
|
204
|
+
3. **Scoring axes defined (3-layer)**:
|
|
205
|
+
`uiux/20_design_eval_invariant.md`,
|
|
206
|
+
`uiux/21_design_eval_trend_derived.md`,
|
|
207
|
+
`uiux/22_design_eval_product_specific.md`,
|
|
208
|
+
`uiux/23_design_eval_aggregate.md`
|
|
209
|
+
have invariant, trend-derived, and product-specific evaluation criteria
|
|
210
|
+
4. **Dynamic overrides documented**: `uiux/24_design_eval_dynamic_overrides.md` lists any override rules
|
|
211
|
+
5. **Comparison completed**: `uiux/30_option_comparison.md` documents option comparison against scoring axes
|
|
212
|
+
6. **Anchor screen selected**: `uiux/31_selected_anchor_screen.md` documents the selected direction and anchor screen
|
|
213
|
+
7. **Contracts drafted**: `uiux/40_screen_contracts.md` contains screen interaction contracts
|
|
214
|
+
|
|
215
|
+
Completion is blocked until all 7 conditions are met. Skipping any condition prevents the discussion from being marked as complete.
|
|
192
216
|
|
|
193
217
|
### Non-UI Completion
|
|
194
218
|
|
|
@@ -196,7 +220,7 @@ For non-ui projects, completion conditions remain unchanged from prior versions.
|
|
|
196
220
|
|
|
197
221
|
## Goal
|
|
198
222
|
|
|
199
|
-
Produce a unified 15-file discussion pack with explicit decisions, requirements, OQ states, and rationale so `/qfai-sdd` starts without unresolved blockers.
|
|
223
|
+
Produce a unified 15-file discussion pack plus required prototyping.yaml with explicit decisions, requirements, OQ states, and rationale so `/qfai-sdd` starts without unresolved blockers.
|
|
200
224
|
|
|
201
225
|
## Non-goals
|
|
202
226
|
|
|
@@ -222,6 +246,7 @@ Produce a unified 15-file discussion pack with explicit decisions, requirements,
|
|
|
222
246
|
- `.qfai/discussion/discussion-*/14_Review-Request.md`
|
|
223
247
|
- `.qfai/discussion/discussion-*/99_delta.md`
|
|
224
248
|
- review artifacts under `.qfai/review/review-YYYYMMDDhhmmssSSS/`
|
|
249
|
+
- `.qfai/discussion/discussion-*/prototyping.yaml`
|
|
225
250
|
- Evidence file: `.qfai/evidence/discussion-YYYYMMDDhhmmssSSS.md`
|
|
226
251
|
- Reviewer notes (`PASS` or `REVISE`)
|
|
227
252
|
|
|
@@ -229,7 +254,7 @@ Produce a unified 15-file discussion pack with explicit decisions, requirements,
|
|
|
229
254
|
|
|
230
255
|
1. Run the core interview for product concept, scope, stakeholders, and constraints (`01_Context.md`).
|
|
231
256
|
2. Run Inception Deck (10 questions) for ambiguity removal and project alignment, and include at least one Mermaid diagram (`02_Inception-Deck.md`).
|
|
232
|
-
3. Run Story Workshop to capture user stories, user flows, and at least one Mermaid diagram;
|
|
257
|
+
3. Run Story Workshop to capture user stories, user flows, and at least one Mermaid diagram; HTML+CSS visual mock is optional fallback only when it materially clarifies the selected direction (`03_Story-Workshop.md`).
|
|
233
258
|
4. Register source traceability in `04_Sources.md` with stable `SRC-XXXX` identifiers.
|
|
234
259
|
5. Define scope boundaries and success criteria in `05_Scope.md`.
|
|
235
260
|
6. Capture functional requirements in `06_REQ.md` with `REQ-0001` format.
|
|
@@ -242,7 +267,17 @@ Produce a unified 15-file discussion pack with explicit decisions, requirements,
|
|
|
242
267
|
13. Run OQ resolution hearing repeatedly until open count is zero.
|
|
243
268
|
14. Move deferred items to `13_Deferred.md` with all mandatory metadata columns.
|
|
244
269
|
15. Update `12_OQ-Resolution-Log.md`, `14_Review-Request.md`, and `99_delta.md`.
|
|
245
|
-
16.
|
|
270
|
+
16. Generate `prototyping.yaml` at the discussion pack top level for downstream prototyping recommendation.
|
|
271
|
+
- MUST use the **namespaced canonical schema** with `prototyping.recommended_mode` (not top-level `recommended_mode`).
|
|
272
|
+
- Top-level `recommended_mode` is legacy compatibility only and MUST NOT be emitted in new artifacts.
|
|
273
|
+
- All fields (`recommended_mode`, `rationale`, `allowed_modes`, `surface`) are required under the `prototyping:` key.
|
|
274
|
+
17. Choose `recommended_mode` with these defaults:
|
|
275
|
+
|
|
276
|
+
- `low-cost`: rough draft or strong cost priority
|
|
277
|
+
- `standard`: normal customer-presentable path
|
|
278
|
+
- `full-harness`: only when the premium runtime loop is justified
|
|
279
|
+
|
|
280
|
+
18. Request review and record Reviewer result.
|
|
246
281
|
|
|
247
282
|
## Example Mapping Perspectives (Mandatory)
|
|
248
283
|
|
|
@@ -298,7 +333,7 @@ Rules:
|
|
|
298
333
|
At any point during discussion, if the user changes direction or scope:
|
|
299
334
|
|
|
300
335
|
1. Record the drift event in `99_delta.md` with Change Type = `Drift`.
|
|
301
|
-
2. Assess impact on all 15 files.
|
|
336
|
+
2. Assess impact on all 15 files plus prototyping.yaml.
|
|
302
337
|
3. Update affected files and re-validate OQ register exit condition.
|
|
303
338
|
4. If drift contradicts a previously rejected option, record in `99_delta.md` Rejected section with `Recurrence Prevention`.
|
|
304
339
|
|
|
@@ -314,22 +349,15 @@ RCP rules:
|
|
|
314
349
|
|
|
315
350
|
- Append-only: create a new review pack for each cycle.
|
|
316
351
|
- Apply `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md` as the common footer rule set.
|
|
317
|
-
-
|
|
318
|
-
-
|
|
352
|
+
- Run only the reviewers routed by `agent-routing.yml` for the current phase and conditions.
|
|
353
|
+
- On `FAIL`, rerun only the failed reviewer and any reviewers whose scope changed because of the fix.
|
|
354
|
+
- Mark fixed only when all routed blocking reviewers are `PASS`.
|
|
319
355
|
- `summary.json` `target.kind` must be `"discussion"`.
|
|
320
|
-
- Execution order: existing 10 reviewers (1-10) → devils-advocate (11) → pattern-doubler (12).
|
|
321
|
-
- devils-advocate (11th):
|
|
322
|
-
- `can_be_na: false` — N/A is not allowed.
|
|
323
|
-
- FAIL must include a concrete alternative. Bare negation FAIL is invalid.
|
|
324
|
-
- 3 consecutive FAILs trigger advisory demotion (current review cycle only).
|
|
325
|
-
- pattern-doubler (12th):
|
|
326
|
-
- `can_be_na: true` — N/A is default in discussion phase as ID-bearing items are sparse.
|
|
327
|
-
- Evaluates Example Seeds count and perspective coverage.
|
|
328
356
|
|
|
329
357
|
## RCP Footer Include (MUST)
|
|
330
358
|
|
|
331
359
|
- Include and follow `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md` without rewriting it per skill.
|
|
332
|
-
-
|
|
360
|
+
- Routing and rerun rules must stay synchronized with `agent-routing.yml` and the footer SSOT.
|
|
333
361
|
|
|
334
362
|
## Required Coverage Topics
|
|
335
363
|
|
|
@@ -356,7 +384,13 @@ Before declaring completion, you MUST:
|
|
|
356
384
|
- ensure `02_Inception-Deck.md` includes at least one Mermaid diagram;
|
|
357
385
|
- ensure `Example Seeds` sections are present and perspective coverage is explicit in `03_Story-Workshop.md`;
|
|
358
386
|
- ensure `03_Story-Workshop.md` includes at least one Mermaid diagram;
|
|
359
|
-
- ensure UI-related stories include
|
|
387
|
+
- ensure UI-related stories include behavior obligations in `03_Story-Workshop.md` (HTML+CSS mock is optional fallback);
|
|
388
|
+
- ensure `uiux/11_design_taste_interview.md` is complete (all 10 sections) when UI-bearing;
|
|
389
|
+
- ensure `04_Sources.md` includes a `## Trend Scan` section with freshness metadata when UI-bearing;
|
|
390
|
+
- ensure 3-layer evaluation family files (20-24) are populated when UI-bearing;
|
|
391
|
+
- ensure `uiux/10_implementation_strategy.md` uses the strict canonical schema when UI-bearing;
|
|
392
|
+
- ensure `uiux/40_screen_contracts.md` uses the strong screen contract schema when UI-bearing;
|
|
393
|
+
- ensure `uiux/50_review_input_bundle.md` is review-ready when UI-bearing;
|
|
360
394
|
- avoid duplicating finalized spec content in discussion outputs.
|
|
361
395
|
|
|
362
396
|
## Evidence (MANDATORY)
|
|
@@ -398,7 +432,7 @@ When done, report:
|
|
|
398
432
|
- [ ] Deferred items include required metadata.
|
|
399
433
|
- [ ] `02_Inception-Deck.md` includes at least one Mermaid diagram.
|
|
400
434
|
- [ ] `03_Story-Workshop.md` includes at least one Mermaid diagram.
|
|
401
|
-
- [ ] UI-related stories include
|
|
435
|
+
- [ ] UI-related stories include behavior obligations in `03_Story-Workshop.md` (HTML+CSS mock is optional fallback only).
|
|
402
436
|
- [ ] Mermaid fence rules were satisfied when diagrams were used.
|
|
403
437
|
- [ ] Evidence file exists and includes Work Orders Summary + Reviewer result.
|
|
404
438
|
- [ ] Reviewer returned `PASS`.
|