qfai 1.4.0 → 1.4.6

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 (133) hide show
  1. package/README.md +67 -22
  2. package/assets/init/.qfai/README.md +23 -39
  3. package/assets/init/.qfai/assistant/agents/architect.md +2 -1
  4. package/assets/init/.qfai/assistant/agents/contract-designer.md +2 -1
  5. package/assets/init/.qfai/assistant/agents/design-owner.md +2 -1
  6. package/assets/init/.qfai/assistant/agents/facilitator.md +3 -2
  7. package/assets/init/.qfai/assistant/agents/interviewer.md +3 -2
  8. package/assets/init/.qfai/assistant/agents/option-explorer.md +3 -2
  9. package/assets/init/.qfai/assistant/agents/oq-harvester.md +3 -2
  10. package/assets/init/.qfai/assistant/agents/oq-reviewer.md +2 -1
  11. package/assets/init/.qfai/assistant/agents/planner.md +2 -1
  12. package/assets/init/.qfai/assistant/agents/project-lead.md +2 -1
  13. package/assets/init/.qfai/assistant/agents/requirements-analyst.md +3 -2
  14. package/assets/init/.qfai/assistant/agents/researcher.md +1 -1
  15. package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +1 -1
  16. package/assets/init/.qfai/assistant/instructions/workflow.md +1 -1
  17. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +21 -2
  18. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +20 -1
  19. package/assets/init/.qfai/assistant/skills/qfai-discuss/SKILL.md +137 -496
  20. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/00_Summary.md +38 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/01_Objective.md +16 -0
  22. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/02_Initiative.md +16 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/03_Capabilities.md +17 -0
  24. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/04_Business-flow.md +29 -0
  25. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/05_Policy.md +28 -0
  26. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/06_Stakeholders.md +13 -0
  27. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/07_Open-questions.md +18 -0
  28. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +20 -1
  29. package/assets/init/.qfai/assistant/skills/qfai-pr/SKILL.md +19 -0
  30. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +20 -1
  31. package/assets/init/.qfai/assistant/skills/qfai-require/SKILL.md +139 -549
  32. package/assets/init/.qfai/assistant/skills/qfai-require/templates/00_Summary.md +37 -0
  33. package/assets/init/.qfai/assistant/skills/qfai-require/templates/01_Functional-requirements.md +16 -0
  34. package/assets/init/.qfai/assistant/skills/qfai-require/templates/02_Non-functional-requirements.md +15 -0
  35. package/assets/init/.qfai/assistant/skills/qfai-require/templates/03_Contracts-boundary.md +19 -0
  36. package/assets/init/.qfai/assistant/skills/qfai-require/templates/04_Data-and-glossary.md +16 -0
  37. package/assets/init/.qfai/assistant/skills/qfai-require/templates/05_Test-policy.md +18 -0
  38. package/assets/init/.qfai/assistant/skills/qfai-require/templates/06_Compliance-and-risk.md +18 -0
  39. package/assets/init/.qfai/assistant/skills/qfai-require/templates/07_Open-questions.md +18 -0
  40. package/assets/init/.qfai/assistant/skills/qfai-scenario-test/SKILL.md +19 -0
  41. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/SKILL.md +131 -67
  42. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/01_Spec.md +2 -2
  43. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/03_Initiative.md +4 -0
  44. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/07_Acceptance-criteria.md +3 -3
  45. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/08_Business-rules.md +3 -3
  46. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/09_Examples.feature +3 -3
  47. package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/10_Test-cases.md +3 -3
  48. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/11_Contracts.md +19 -0
  49. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/15_Open-questions.md +22 -0
  50. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/16_Traceability-ledger.md +18 -0
  51. package/assets/init/.qfai/assistant/skills/{qfai-sdd-planning → qfai-sdd}/templates/spec-pack/17_Plan.md +3 -3
  52. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/18_delta.md +40 -0
  53. package/assets/init/.qfai/assistant/skills/qfai-spec/SKILL.md +29 -9
  54. package/assets/init/.qfai/{contracts/api → assistant/skills/qfai-spec/templates/contracts}/api-0001-sample.yaml +1 -1
  55. package/assets/init/.qfai/{contracts/db → assistant/skills/qfai-spec/templates/contracts}/db-0001-sample.sql +1 -1
  56. package/assets/init/.qfai/{contracts/ui → assistant/skills/qfai-spec/templates/contracts}/ui-0001-sample.yaml +1 -1
  57. package/assets/init/.qfai/assistant/skills/qfai-tdd-green/SKILL.md +21 -2
  58. package/assets/init/.qfai/assistant/skills/qfai-tdd-red/SKILL.md +20 -1
  59. package/assets/init/.qfai/assistant/skills/qfai-tdd-refactor/SKILL.md +21 -2
  60. package/assets/init/.qfai/assistant/skills/qfai-unit-test/SKILL.md +20 -1
  61. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +19 -0
  62. package/assets/init/.qfai/contracts/README.md +3 -3
  63. package/assets/init/.qfai/contracts/api/README.md +2 -2
  64. package/assets/init/.qfai/contracts/db/README.md +2 -2
  65. package/assets/init/.qfai/contracts/ui/README.md +2 -2
  66. package/assets/init/.qfai/discuss/README.md +34 -0
  67. package/assets/init/.qfai/require/README.md +33 -146
  68. package/assets/init/.qfai/specs/README.md +37 -119
  69. package/assets/init/root/{.codex/skills/qfai-sdd-planning → .claude/skills/qfai-sdd}/SKILL.md +5 -5
  70. package/assets/init/root/.claude/skills/qfai-spec/SKILL.md +2 -2
  71. package/assets/init/root/{.github/skills/qfai-sdd-planning → .codex/skills/qfai-sdd}/SKILL.md +5 -5
  72. package/assets/init/root/.codex/skills/qfai-spec/SKILL.md +2 -2
  73. package/assets/init/root/.github/PULL_REQUEST_TEMPLATE.md +5 -5
  74. package/assets/init/root/{.claude/skills/qfai-sdd-planning → .github/skills/qfai-sdd}/SKILL.md +5 -5
  75. package/assets/init/root/.github/skills/qfai-spec/SKILL.md +2 -2
  76. package/dist/cli/index.cjs +2066 -4220
  77. package/dist/cli/index.cjs.map +1 -1
  78. package/dist/cli/index.mjs +2136 -4290
  79. package/dist/cli/index.mjs.map +1 -1
  80. package/dist/index.cjs +3522 -5186
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.d.cts +1 -9
  83. package/dist/index.d.ts +1 -9
  84. package/dist/index.mjs +3528 -5187
  85. package/dist/index.mjs.map +1 -1
  86. package/package.json +1 -1
  87. package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/SKILL.md +0 -261
  88. package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/spec-pack/11_Contracts.md +0 -19
  89. package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/spec-pack/15_Open-questions.md +0 -19
  90. package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/spec-pack/16_Traceability-ledger.md +0 -18
  91. package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/spec-pack/18_delta.md +0 -35
  92. package/assets/init/.qfai/discussions/README.md +0 -85
  93. package/assets/init/.qfai/require/actors.md +0 -10
  94. package/assets/init/.qfai/require/business-flows.md +0 -32
  95. package/assets/init/.qfai/require/glossary.md +0 -7
  96. package/assets/init/.qfai/require/require.md +0 -41
  97. package/assets/init/.qfai/specs/spec-0001/01_Spec.md +0 -24
  98. package/assets/init/.qfai/specs/spec-0001/02_Objective.md +0 -18
  99. package/assets/init/.qfai/specs/spec-0001/03_Initiative.md +0 -26
  100. package/assets/init/.qfai/specs/spec-0001/04_Capability.md +0 -13
  101. package/assets/init/.qfai/specs/spec-0001/05_Business-flow.feature +0 -12
  102. package/assets/init/.qfai/specs/spec-0001/06_User-stories.md +0 -8
  103. package/assets/init/.qfai/specs/spec-0001/07_Acceptance-criteria.md +0 -9
  104. package/assets/init/.qfai/specs/spec-0001/08_Business-rules.md +0 -9
  105. package/assets/init/.qfai/specs/spec-0001/09_Examples.feature +0 -20
  106. package/assets/init/.qfai/specs/spec-0001/10_Test-cases.md +0 -9
  107. package/assets/init/.qfai/specs/spec-0001/11_Contracts.md +0 -7
  108. package/assets/init/.qfai/specs/spec-0001/12_Glossary.md +0 -6
  109. package/assets/init/.qfai/specs/spec-0001/13_Constraints.md +0 -9
  110. package/assets/init/.qfai/specs/spec-0001/14_Decisions.md +0 -7
  111. package/assets/init/.qfai/specs/spec-0001/15_Open-questions.md +0 -13
  112. package/assets/init/.qfai/specs/spec-0001/16_Traceability-ledger.md +0 -7
  113. package/assets/init/.qfai/specs/spec-0001/17_Plan.md +0 -49
  114. package/assets/init/.qfai/specs/spec-0001/18_delta.md +0 -34
  115. package/assets/init/.qfai/specs/spec-0001/case-catalogue.md +0 -23
  116. package/assets/init/.qfai/specs/spec-0001/delta.md +0 -76
  117. package/assets/init/.qfai/specs/spec-0001/plan.md +0 -171
  118. package/assets/init/.qfai/specs/spec-0001/scenario.feature +0 -22
  119. package/assets/init/.qfai/specs/spec-0001/spec.md +0 -69
  120. package/assets/init/.qfai/specs/spec-0001/traceability-matrix.md +0 -28
  121. package/assets/init/.qfai/templates/spec/delta.md +0 -73
  122. package/assets/init/.qfai/templates/spec/implementation-brief.md +0 -9
  123. package/assets/init/.qfai/templates/spec/plan.md +0 -260
  124. package/assets/init/root/.claude/skills/qfai-sdd-refinement/SKILL.md +0 -52
  125. package/assets/init/root/.codex/skills/qfai-sdd-refinement/SKILL.md +0 -52
  126. package/assets/init/root/.github/skills/qfai-sdd-refinement/SKILL.md +0 -52
  127. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/02_Objective.md +0 -0
  128. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/04_Capability.md +0 -0
  129. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/05_Business-flow.feature +0 -0
  130. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/06_User-stories.md +0 -0
  131. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/12_Glossary.md +0 -0
  132. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/13_Constraints.md +0 -0
  133. /package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement → qfai-sdd}/templates/spec-pack/14_Decisions.md +0 -0
package/README.md CHANGED
@@ -56,10 +56,9 @@ QFAI includes a small set of custom skills (stored under `.qfai/assistant/skills
56
56
 
57
57
  - **qfai-configure**: Analyze the repository (language, frameworks, test layout, directory structure) and tailor `qfai.config.yaml` accordingly (especially `testFileGlobs`). Run this once right after `npx qfai init`, and re-run it when the repository structure changes.
58
58
  - **qfai-discuss**: Turn an idea into clear requirements by discussing scope, constraints, risks, and open questions.
59
- - **qfai-require**: Produce `.qfai/require/require.md` from your idea or discussion output.
60
- - **qfai-sdd-refinement**: Produce upstream SDD artifacts (`spec.md`, `delta.md`, `scenario.feature`, `case-catalogue.md`, `traceability-matrix.md`) and remove ambiguity.
61
- - **qfai-sdd-planning**: Produce `plan.md` as the How SSOT for downstream execution.
62
- - **qfai-spec**: Deprecated alias of `qfai-sdd-refinement` for backward compatibility.
59
+ - **qfai-require**: Produce `.qfai/require/REQUIRE-XXXX/*` from your idea or discussion output.
60
+ - **qfai-sdd**: Produce/update the full spec pack (`01_Spec.md` to `18_delta.md`) in one workflow (Outline -> Slice -> Plan finalize -> Delta).
61
+ - **qfai-spec**: Deprecated alias of `qfai-sdd` for backward compatibility.
63
62
  - **qfai-scenario-test**: Implement acceptance tests (ATDD) driven by specs/scenarios.
64
63
  - **qfai-unit-test**: Implement unit tests (TDD) driven by specs/scenarios.
65
64
  - **qfai-implement**: Implement the feature; iterate test→fix until all quality gates are green.
@@ -88,23 +87,18 @@ AG-->>U: Config tuned to this repo
88
87
 
89
88
  opt If you only have an idea
90
89
  U->>AG: Run /qfai-discuss
91
- AG-->>U: Clarified requirements (notes)
90
+ AG-->>U: Structured discuss package (.qfai/discuss/DISCUSS-XXXX/)
92
91
  end
93
92
 
94
93
  U->>AG: Run /qfai-require
95
94
  AG->>Q: Read .qfai/assistant/skills/qfai-require/SKILL.md
96
- AG->>R: Create/Update requirements docs
97
- AG-->>U: Requirements ready
95
+ AG->>R: Create/Update REQUIRE-XXXX package docs
96
+ AG-->>U: Requirement package ready
98
97
 
99
- U->>AG: Run /qfai-sdd-refinement
100
- AG->>Q: Read .qfai/assistant/skills/qfai-sdd-refinement/SKILL.md
101
- AG->>R: Create/refine specs + contracts + scenario.feature
102
- AG-->>U: Refinement artifacts ready
103
-
104
- U->>AG: Run /qfai-sdd-planning
105
- AG->>Q: Read .qfai/assistant/skills/qfai-sdd-planning/SKILL.md
106
- AG->>R: Create plan.md (How SSOT)
107
- AG-->>U: Planning artifacts ready
98
+ U->>AG: Run /qfai-sdd
99
+ AG->>Q: Read .qfai/assistant/skills/qfai-sdd/SKILL.md
100
+ AG->>R: Create/refine spec pack (01..18) + contracts + 17_Plan.md
101
+ AG-->>U: SDD artifacts ready
108
102
 
109
103
  U->>AG: Run /qfai-scenario-test
110
104
  AG->>Q: Read .qfai/assistant/skills/qfai-scenario-test/SKILL.md
@@ -132,10 +126,11 @@ R-->>U: Traceability checks and report artifacts
132
126
  Operational notes.
133
127
 
134
128
  - Each custom skill must output in the user’s language (absolute requirement).
129
+ - Each custom skill must end with a completion message that enumerates all available next actions and clearly states what to do for each option.
135
130
  - Except `qfai-discuss`, each skill must analyze the project context (architecture, tech stack, test framework, repo structure) before generating artifacts or code.
136
131
  - Skills should delegate work to multiple role-based sub-agents (Planner, Architect, Contract Designer, QA, Code Reviewer, etc.) to emulate a real delivery flow.
137
- - Change classification (Primary/Tags) is required in delta.md and recommended in PRs. See `.qfai/assistant/instructions/change-classification.md`.
138
- - Verification planning is recorded in `delta.md` (`Verification -> Plan`) and validated in CI (`VFY-*` rules).
132
+ - Change classification (Primary/Tags) is required in `18_delta.md` and recommended in PRs. See `.qfai/assistant/instructions/change-classification.md`.
133
+ - Verification planning is recorded in `18_delta.md` (`Verification -> Plan`) and validated in CI (`VFY-*` rules).
139
134
 
140
135
  ## Configuration
141
136
 
@@ -183,6 +178,44 @@ QFAI uses a small, opinionated set of artifacts to reduce ambiguity and prevent
183
178
 
184
179
  Traceability is validated across these artifacts, so code changes remain grounded in the specs and the tests prove compliance.
185
180
 
181
+ ## SSOT boundaries
182
+
183
+ ```mermaid
184
+ flowchart LR
185
+ S[.qfai/specs/**] --> L[16_Traceability-ledger.md]
186
+ C[.qfai/contracts/**] --> L
187
+ L --> V[qfai validate]
188
+ V --> R[.qfai/report/**]
189
+ ```
190
+
191
+ - Specs SSOT: `.qfai/specs/**` (`01..18`, especially `16_Traceability-ledger.md` and `18_delta.md`)
192
+ - Contracts SSOT: `.qfai/contracts/**`
193
+ - Report outputs (`.qfai/report/**`) are derived artifacts and not SSOT.
194
+
195
+ ## Minimal tutorial (v1.4.6)
196
+
197
+ 1. `npx qfai init`
198
+ 2. Run `/qfai-discuss` to structure scope and open questions.
199
+ 3. Run `/qfai-require` to produce `REQUIRE-XXXX`.
200
+ 4. Run `/qfai-sdd` to build `spec-XXXX/01..18`.
201
+ 5. Run `npx qfai validate` then `npx qfai report`.
202
+
203
+ Release gate behavior:
204
+
205
+ - Merge gate: `qfai validate` must pass (`error=0`), and open OQ is warning.
206
+ - Release gate: set `release_candidate: true` in `03_Initiative.md`; open OQ then becomes error.
207
+
208
+ ## FAQ
209
+
210
+ - Q: I referenced AC/TC directly from upper layers and got an error.
211
+ - A: Keep upper-to-lower references out of upper docs; use `16_Traceability-ledger.md` for cross-layer linkage.
212
+ - Q: Ledger validation fails with missing columns.
213
+ - A: Ensure required columns exist: `trace_id,obj_id,init_id,cap_id,flow_id,us_id,ac_id,ex_ids,tc_ids`.
214
+ - Q: `18_delta.md` fails validation.
215
+ - A: Include all required sections (`Change Summary`, `Rationale`, `Candidates Considered`, `Adopted`, `Rejected`, `Impact`, `Follow-ups`) and include both `DO NOT` and `Temptation` in `Rejected`.
216
+ - Q: release_candidate validation fails due open questions.
217
+ - A: In `15_Open-questions.md`, change `status: open` to `resolved` or `deferred` and keep evidence.
218
+
186
219
  ## Continuous integration (GitHub Actions)
187
220
 
188
221
  (GitHub Actions)
@@ -237,9 +270,7 @@ Typical customizations.
237
270
  │ │ └── SKILL.md
238
271
  │ ├── qfai-scenario-test
239
272
  │ │ └── SKILL.md
240
- │ ├── qfai-sdd-refinement
241
- │ │ └── SKILL.md
242
- │ ├── qfai-sdd-planning
273
+ │ ├── qfai-sdd
243
274
  │ │ └── SKILL.md
244
275
  │ ├── qfai-spec
245
276
  │ │ └── SKILL.md
@@ -300,6 +331,12 @@ Typical customizations.
300
331
  │ │ │ ├── structure.md
301
332
  │ │ │ └── tech.md
302
333
  │ │ └── README.md
334
+ │ ├── discuss
335
+ │ │ ├── README.md
336
+ │ │ └── DISCUSS-0001
337
+ │ │ ├── 00_Summary.md
338
+ │ │ ├── ...
339
+ │ │ └── 07_Open-questions.md
303
340
  │ ├── contracts
304
341
  │ │ ├── api
305
342
  │ │ │ └── README.md
@@ -312,7 +349,15 @@ Typical customizations.
312
349
  │ │ └── README.md
313
350
  │ ├── require
314
351
  │ │ ├── README.md
315
- │ │ └── require.md
352
+ │ │ ├── REQUIRE-0001
353
+ │ │ │ ├── 00_Summary.md
354
+ │ │ │ ├── ...
355
+ │ │ │ └── 07_Open-questions.md
356
+ │ │ ├── glossary.md # legacy compatibility
357
+ │ │ ├── actors.md # legacy compatibility
358
+ │ │ ├── business-flows.md # legacy compatibility
359
+ │ │ ├── require.md # legacy compatibility
360
+ │ │ └── open-questions.md # legacy compatibility
316
361
  │ ├── specs
317
362
  │ │ └── README.md
318
363
  │ └── README.md
@@ -15,13 +15,12 @@ This folder is generated by `qfai init` and designed to be:
15
15
  ```mermaid
16
16
  flowchart TD
17
17
  A[/qfai-discuss/] --> B[/qfai-require/]
18
- B --> C[/qfai-sdd-refinement/]
19
- C --> D[/qfai-sdd-planning/]
20
- D --> E[/qfai-prototyping/]
21
- E --> F[/qfai-atdd/]
22
- F --> G[/qfai-tdd-red/]
23
- G --> H[/qfai-tdd-green/]
24
- H --> I[/qfai-tdd-refactor/]
18
+ B --> C[/qfai-sdd/]
19
+ C --> D[/qfai-prototyping/]
20
+ D --> E[/qfai-atdd/]
21
+ E --> F[/qfai-tdd-red/]
22
+ F --> G[/qfai-tdd-green/]
23
+ G --> H[/qfai-tdd-refactor/]
25
24
  ```
26
25
 
27
26
  > Formatting must follow the templates and checklists documented in each directory README.
@@ -31,9 +30,8 @@ flowchart TD
31
30
  ```text
32
31
  .qfai/
33
32
  ├── README.md
34
- ├── discussions/
35
- ├── README.md
36
- │ └── discuss-0001-<topic>.md
33
+ ├── discuss/
34
+ └── README.md
37
35
  ├── assistant/
38
36
  │ ├── skills/ # canonical skills (SSOT)
39
37
  │ ├── skills.local/ # project-specific overrides
@@ -41,40 +39,20 @@ flowchart TD
41
39
  │ ├── steering/ # project steering inputs
42
40
  │ └── instructions/ # workflow and guardrail docs
43
41
  ├── require/
44
- ├── README.md
45
- │ ├── glossary.md
46
- │ ├── actors.md
47
- │ ├── business-flows.md
48
- │ ├── require.md
49
- │ └── open-questions.md
42
+ └── README.md
50
43
  ├── contracts/
51
44
  │ ├── README.md
52
45
  │ ├── api/
53
- │ │ ├── README.md
54
- │ │ └── api-0001-sample.yaml
46
+ │ │ └── README.md
55
47
  │ ├── db/
56
- │ │ ├── README.md
57
- │ │ └── db-0001-sample.sql
48
+ │ │ └── README.md
58
49
  │ └── ui/
59
- ├── README.md
60
- │ └── ui-0001-sample.yaml
50
+ └── README.md
61
51
  ├── specs/
62
- ├── README.md
63
- │ └── spec-0001/
64
- │ ├── spec.md
65
- │ ├── delta.md
66
- │ ├── scenario.feature
67
- │ ├── case-catalogue.md
68
- │ ├── traceability-matrix.md
69
- │ ├── plan.md
70
- │ ├── 01_Spec.md
71
- │ ├── ...
72
- │ ├── 17_Plan.md
73
- │ └── 18_delta.md
74
- ├── templates/
75
- │ └── spec/ # compatibility templates (runtime SSOT files)
52
+ └── README.md
76
53
  └── evidence/
77
54
  ├── README.md
55
+ ├── .gitignore
78
56
  └── <skill>-<run>.md
79
57
  ```
80
58
 
@@ -101,10 +79,16 @@ It is useful for local review but should not pollute version control.
101
79
  - Prefer small stable identifiers (REQ/BR/AC/TC/EX/etc.) over long mixed paragraphs.
102
80
  - If one line contains multiple independent constraints, split it.
103
81
 
104
- ### R4. Runtime compatibility first, layered overlay second
82
+ ### R4. Spec Pack 01..18 is runtime SSOT
83
+
84
+ - Runtime validators and downstream skills consume `01_*` to `18_*`.
85
+ - Traceability links are written in `16_Traceability-ledger.md`.
86
+ - Derived outputs under `.qfai/report/**` are non-SSOT.
87
+
88
+ ### R5. init is an empty scaffold
105
89
 
106
- - Runtime validators and downstream skills consume `spec.md`, `delta.md`, `scenario.feature`, `case-catalogue.md`, `traceability-matrix.md`, and `plan.md`.
107
- - Layered files (`01_*` to `18_*`) are optional overlays and must stay synchronized when present.
90
+ - `qfai init` creates README-centric directories for `discuss`, `require`, `contracts`, and `specs`.
91
+ - Sample artifacts are provided under skill templates (for example, `assistant/skills/qfai-spec/templates/contracts/`).
108
92
 
109
93
  ## Skills (SSOT)
110
94
 
@@ -11,7 +11,8 @@
11
11
  - .qfai/assistant/steering/\*
12
12
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
13
13
  - .qfai/specs/spec-\*/spec.md
14
- - .qfai/require/require.md
14
+ - .qfai/require/REQUIRE-XXXX/\* (preferred)
15
+ - .qfai/require/require.md (legacy compatibility)
15
16
  - Existing architecture docs (if any)
16
17
 
17
18
  ## Deliverables (MANDATORY)
@@ -11,7 +11,8 @@
11
11
  - .qfai/assistant/steering/\*
12
12
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
13
13
  - .qfai/specs/spec-\*/spec.md
14
- - .qfai/require/require.md
14
+ - .qfai/require/REQUIRE-XXXX/\* (preferred)
15
+ - .qfai/require/require.md (legacy compatibility)
15
16
  - Existing contracts under `.qfai/contracts/**`
16
17
 
17
18
  ## Deliverables (MANDATORY)
@@ -10,7 +10,8 @@
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
12
  - .qfai/specs/spec-\*/spec.md
13
- - .qfai/require/require.md
13
+ - .qfai/require/REQUIRE-XXXX/\* (preferred)
14
+ - .qfai/require/require.md (legacy compatibility)
14
15
  - Evidence summaries under `.qfai/evidence/` (gitignored)
15
16
 
16
17
  ## Deliverables (MANDATORY)
@@ -10,8 +10,9 @@
10
10
  - .qfai/assistant/instructions/\*
11
11
  - .qfai/assistant/steering/\*
12
12
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
13
- - Existing discussion records under `.qfai/discussions/`
14
- - .qfai/require/require.md (if present)
13
+ - Existing discussion records under `.qfai/discuss/`
14
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
15
+ - .qfai/require/require.md (legacy compatibility)
15
16
 
16
17
  ## Deliverables (MANDATORY)
17
18
 
@@ -9,8 +9,9 @@
9
9
  - .qfai/assistant/instructions/\*
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
- - Existing discussion records under `.qfai/discussions/`
13
- - .qfai/require/require.md (if present)
12
+ - Existing discussion records under `.qfai/discuss/`
13
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
14
+ - .qfai/require/require.md (legacy compatibility)
14
15
 
15
16
  ## Deliverables (MANDATORY)
16
17
 
@@ -9,11 +9,12 @@
9
9
  - .qfai/assistant/instructions/\*
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
- - .qfai/require/require.md (if present)
12
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
13
+ - .qfai/require/require.md (legacy compatibility)
13
14
  - .qfai/specs/spec-\*/spec.md
14
15
  - .qfai/specs/spec-\*/delta.md (draft)
15
16
  - .qfai/contracts/\*\*
16
- - Existing discussion records under `.qfai/discussions/`
17
+ - Existing discussion records under `.qfai/discuss/`
17
18
 
18
19
  ## Deliverables (MANDATORY)
19
20
 
@@ -9,12 +9,13 @@
9
9
  - .qfai/assistant/instructions/\*
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
- - .qfai/require/require.md (if present)
12
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
13
+ - .qfai/require/require.md (legacy compatibility)
13
14
  - .qfai/require/open-questions.md (if present)
14
15
  - .qfai/specs/spec-\*/spec.md
15
16
  - .qfai/specs/spec-\*/delta.md
16
17
  - .qfai/contracts/\*\*
17
- - Existing discussion records under `.qfai/discussions/`
18
+ - Existing discussion records under `.qfai/discuss/`
18
19
 
19
20
  ## Deliverables (MANDATORY)
20
21
 
@@ -12,7 +12,8 @@
12
12
  - .qfai/assistant/steering/test-layers.md (test-layer definitions + required coverage expectations)
13
13
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
14
14
  - OQ candidate list from OQ Harvester
15
- - .qfai/require/require.md (if present)
15
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
16
+ - .qfai/require/require.md (legacy compatibility)
16
17
  - .qfai/require/open-questions.md (if present)
17
18
  - .qfai/specs/spec-\*/spec.md
18
19
  - .qfai/specs/spec-\*/delta.md
@@ -10,7 +10,8 @@
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
12
  - .qfai/specs/spec-\*/spec.md
13
- - .qfai/require/require.md
13
+ - .qfai/require/REQUIRE-XXXX/\* (preferred)
14
+ - .qfai/require/require.md (legacy compatibility)
14
15
  - Existing constraints and gate commands
15
16
 
16
17
  ## Deliverables (MANDATORY)
@@ -9,7 +9,8 @@
9
9
  - .qfai/assistant/instructions/\*
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
- - .qfai/require/require.md
12
+ - .qfai/require/REQUIRE-XXXX/\* (preferred)
13
+ - .qfai/require/require.md (legacy compatibility)
13
14
  - .qfai/specs/spec-\*/spec.md
14
15
  - Evidence summaries under `.qfai/evidence/` (gitignored)
15
16
 
@@ -9,8 +9,9 @@
9
9
  - .qfai/assistant/instructions/\*
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
- - .qfai/require/require.md (if present)
13
- - Discussion records under `.qfai/discussions/`
12
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
13
+ - .qfai/require/require.md (legacy compatibility)
14
+ - Discussion records under `.qfai/discuss/`
14
15
  - .qfai/specs/spec-\*/spec.md (if available)
15
16
 
16
17
  ## Deliverables (MANDATORY)
@@ -10,7 +10,7 @@
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
12
  - User-provided idea/problem statement
13
- - Existing discussion records under `.qfai/discussions/`
13
+ - Existing discussion records under `.qfai/discuss/`
14
14
 
15
15
  ## Deliverables (MANDATORY)
16
16
 
@@ -15,7 +15,7 @@ This document is the **decision rule SSOT** for AI and humans when answering:
15
15
  1. **Glossary** (`require/glossary.md`)
16
16
  2. **Actors** (`require/actors.md`)
17
17
  3. **Business flows** (`require/business-flows.md`)
18
- 4. **Requirements** (`require/require.md`)
18
+ 4. **Requirements** (`require/REQUIRE-XXXX/*` preferred, `require/require.md` legacy compatibility)
19
19
  5. **Spec packs** (`specs/spec-*/spec.md`, `delta.md`, `scenario.feature`, `case-catalogue.md`, `traceability-matrix.md`)
20
20
  6. **ATDD / TDD** (tests + code)
21
21
 
@@ -57,7 +57,7 @@ Do not proceed without a declared Change Type.
57
57
 
58
58
  ### Stage 0 — Steering refresh contract (mandatory)
59
59
 
60
- At the beginning of each stage (`qfai-discuss`, `qfai-require`, `qfai-sdd-*`, `qfai-atdd`, `qfai-tdd-*`, `qfai-implement`, `qfai-verify`):
60
+ At the beginning of each stage (`qfai-discuss`, `qfai-require`, `qfai-sdd`, `qfai-atdd`, `qfai-tdd-*`, `qfai-implement`, `qfai-verify`):
61
61
 
62
62
  1. Check these steering files:
63
63
  - `.qfai/assistant/steering/manifest.md`
@@ -153,7 +153,7 @@ Rules:
153
153
  - Do NOT declare completion based on unit/component tests.
154
154
  - `plan.md` is the primary How SSOT for execution phases.
155
155
  - `implementation-brief.md` is deprecated and must not be used as How SSOT.
156
- - If `plan.md` is missing, STOP and run `/qfai-sdd-planning` before proceeding.
156
+ - If `plan.md` is missing, STOP and run `/qfai-sdd` before proceeding.
157
157
  - Acceptance tests must be runnable and Coverage Ledger must be 100% implemented (blocked/skipped require DR + approval).
158
158
  - You MUST evaluate layer floors as volume signals (E2E=SC count, API=endpoints, Integration=max(endpoints×K, ΣCASE)).
159
159
  - E2E=0 or Integration=0 is forbidden unless a DR + user approval + reviewer PASS explicitly allows it.
@@ -540,7 +540,7 @@ Read:
540
540
 
541
541
  - STOP and do not proceed with test implementation.
542
542
  - Inform the user that the spec pack must be split or fixed.
543
- - Recommend running `/qfai-sdd-refinement` (and `/qfai-sdd-planning` when How must change) to adjust the spec packs.
543
+ - Recommend running `/qfai-sdd` to adjust the spec packs.
544
544
 
545
545
  **Rationale:** QFAI validate rules require unique SC tags per file, and large scenario counts should be split to keep traceability clear.
546
546
 
@@ -692,3 +692,22 @@ When you declare DONE, include:
692
692
  - [ ] All mandatory checks were executed and recorded.
693
693
  - [ ] No untracked gaps remain (or they are explicitly documented).
694
694
  - [ ] Completion approved by a reviewer who did not implement the tests.
695
+
696
+ ## Completion Checklist (MUST)
697
+
698
+ - [ ] This skill's Definition of Done is satisfied.
699
+ - [ ] Required artifacts were produced or updated (if applicable).
700
+ - [ ] Open questions were logged to the proper OQ file (if applicable).
701
+ - [ ] The completion message was presented to the user.
702
+ - [ ] Next actions were enumerated for all available options.
703
+
704
+ ## Completion Message & Next Actions (MUST)
705
+
706
+ When this skill is complete, provide a final user-facing completion message and enumerate all actionable next steps.
707
+
708
+ - Proceed (recommended): `/qfai-tdd-red`.
709
+ Action: derive unit/component RED tests from acceptance scenarios.
710
+ - Acceptance tests need fixes: rerun `/qfai-atdd`.
711
+ Action: correct scenario coverage gaps and rerun test evidence.
712
+ - Implementation phase: `/qfai-tdd-green`.
713
+ Action: implement code to satisfy failing tests.
@@ -171,7 +171,7 @@ Before declaring completion, you MUST:
171
171
 
172
172
  Analyze the repository and update `qfai.config.yaml` so traceability checks are actionable, with a documented minimum runnable path.
173
173
 
174
- Note: /qfai-sdd-refinement includes a preflight step that bootstraps missing config/steering when run directly after init.
174
+ Note: /qfai-sdd includes a preflight step that bootstraps missing config/steering when run directly after init.
175
175
  /qfai-configure remains the recommended way to tune `qfai.config.yaml` early with a clean, minimal diff.
176
176
 
177
177
  ## Success Criteria (Definition of Done)
@@ -452,3 +452,22 @@ When you declare DONE, include:
452
452
  - [ ] All mandatory checks were executed and recorded.
453
453
  - [ ] No untracked gaps remain (or they are explicitly documented).
454
454
  - [ ] Completion approved by a reviewer who did not modify the config.
455
+
456
+ ## Completion Checklist (MUST)
457
+
458
+ - [ ] This skill's Definition of Done is satisfied.
459
+ - [ ] Required artifacts were produced or updated (if applicable).
460
+ - [ ] Open questions were logged to the proper OQ file (if applicable).
461
+ - [ ] The completion message was presented to the user.
462
+ - [ ] Next actions were enumerated for all available options.
463
+
464
+ ## Completion Message & Next Actions (MUST)
465
+
466
+ When this skill is complete, provide a final user-facing completion message and enumerate all actionable next steps.
467
+
468
+ - Proceed (recommended): `/qfai-require`.
469
+ Action: run it to formalize requirements from the configured project context.
470
+ - Requirements are still unclear: `/qfai-discuss`.
471
+ Action: collect missing scope, constraints, and assumptions first.
472
+ - Configuration needs refinement: rerun `/qfai-configure`.
473
+ Action: provide additional include/exclude evidence and update `qfai.config.yaml`.