qfai 1.3.19 → 1.4.4

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 +66 -22
  2. package/assets/init/.qfai/README.md +62 -64
  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 +2 -1
  7. package/assets/init/.qfai/assistant/agents/interviewer.md +2 -1
  8. package/assets/init/.qfai/assistant/agents/option-explorer.md +2 -1
  9. package/assets/init/.qfai/assistant/agents/oq-harvester.md +2 -1
  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 +2 -1
  14. package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +1 -1
  15. package/assets/init/.qfai/assistant/instructions/workflow.md +1 -1
  16. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +2 -2
  17. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +1 -1
  18. package/assets/init/.qfai/assistant/skills/qfai-discuss/SKILL.md +114 -496
  19. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/00_Summary.md +38 -0
  20. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/01_Objective.md +16 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/02_Initiative.md +16 -0
  22. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/03_Capabilities.md +17 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/04_Business-flow.md +29 -0
  24. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/05_Policy.md +28 -0
  25. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/06_Stakeholders.md +13 -0
  26. package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/07_Open-questions.md +18 -0
  27. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +1 -1
  28. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +1 -1
  29. package/assets/init/.qfai/assistant/skills/qfai-require/SKILL.md +120 -549
  30. package/assets/init/.qfai/assistant/skills/qfai-require/templates/00_Summary.md +37 -0
  31. package/assets/init/.qfai/assistant/skills/qfai-require/templates/01_Functional-requirements.md +16 -0
  32. package/assets/init/.qfai/assistant/skills/qfai-require/templates/02_Non-functional-requirements.md +15 -0
  33. package/assets/init/.qfai/assistant/skills/qfai-require/templates/03_Contracts-boundary.md +19 -0
  34. package/assets/init/.qfai/assistant/skills/qfai-require/templates/04_Data-and-glossary.md +16 -0
  35. package/assets/init/.qfai/assistant/skills/qfai-require/templates/05_Test-policy.md +18 -0
  36. package/assets/init/.qfai/assistant/skills/qfai-require/templates/06_Compliance-and-risk.md +18 -0
  37. package/assets/init/.qfai/assistant/skills/qfai-require/templates/07_Open-questions.md +18 -0
  38. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +332 -0
  39. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/01_Spec.md +28 -0
  40. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/02_Objective.md +23 -0
  41. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/03_Initiative.md +30 -0
  42. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/04_Capability.md +16 -0
  43. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/05_Business-flow.feature +11 -0
  44. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/06_User-stories.md +17 -0
  45. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/07_Acceptance-criteria.md +17 -0
  46. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/08_Business-rules.md +17 -0
  47. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/09_Examples.feature +21 -0
  48. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/10_Test-cases.md +17 -0
  49. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/11_Contracts.md +19 -0
  50. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/12_Glossary.md +17 -0
  51. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/13_Constraints.md +19 -0
  52. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/14_Decisions.md +15 -0
  53. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/15_Open-questions.md +22 -0
  54. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/16_Traceability-ledger.md +18 -0
  55. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/17_Plan.md +58 -0
  56. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/18_delta.md +40 -0
  57. package/assets/init/.qfai/assistant/skills/qfai-spec/SKILL.md +9 -9
  58. package/assets/init/.qfai/assistant/skills/qfai-tdd-green/SKILL.md +2 -2
  59. package/assets/init/.qfai/assistant/skills/qfai-tdd-red/SKILL.md +1 -1
  60. package/assets/init/.qfai/assistant/skills/qfai-tdd-refactor/SKILL.md +2 -2
  61. package/assets/init/.qfai/assistant/skills/qfai-unit-test/SKILL.md +1 -1
  62. package/assets/init/.qfai/contracts/README.md +5 -4
  63. package/assets/init/.qfai/contracts/api/README.md +2 -2
  64. package/assets/init/.qfai/contracts/api/api-0001-sample.yaml +26 -0
  65. package/assets/init/.qfai/contracts/db/README.md +2 -2
  66. package/assets/init/.qfai/contracts/db/db-0001-sample.sql +13 -0
  67. package/assets/init/.qfai/contracts/ui/README.md +2 -2
  68. package/assets/init/.qfai/contracts/ui/ui-0001-sample.yaml +15 -0
  69. package/assets/init/.qfai/discuss/DISCUSS-0001/00_Summary.md +38 -0
  70. package/assets/init/.qfai/discuss/DISCUSS-0001/01_Objective.md +16 -0
  71. package/assets/init/.qfai/discuss/DISCUSS-0001/02_Initiative.md +16 -0
  72. package/assets/init/.qfai/discuss/DISCUSS-0001/03_Capabilities.md +17 -0
  73. package/assets/init/.qfai/discuss/DISCUSS-0001/04_Business-flow.md +29 -0
  74. package/assets/init/.qfai/discuss/DISCUSS-0001/05_Policy.md +28 -0
  75. package/assets/init/.qfai/discuss/DISCUSS-0001/06_Stakeholders.md +13 -0
  76. package/assets/init/.qfai/discuss/DISCUSS-0001/07_Open-questions.md +18 -0
  77. package/assets/init/.qfai/discuss/README.md +34 -0
  78. package/assets/init/.qfai/discussions/README.md +5 -81
  79. package/assets/init/.qfai/require/README.md +33 -145
  80. package/assets/init/.qfai/require/REQUIRE-0001/00_Summary.md +37 -0
  81. package/assets/init/.qfai/require/REQUIRE-0001/01_Functional-requirements.md +16 -0
  82. package/assets/init/.qfai/require/REQUIRE-0001/02_Non-functional-requirements.md +15 -0
  83. package/assets/init/.qfai/require/REQUIRE-0001/03_Contracts-boundary.md +19 -0
  84. package/assets/init/.qfai/require/REQUIRE-0001/04_Data-and-glossary.md +16 -0
  85. package/assets/init/.qfai/require/REQUIRE-0001/05_Test-policy.md +18 -0
  86. package/assets/init/.qfai/require/REQUIRE-0001/06_Compliance-and-risk.md +18 -0
  87. package/assets/init/.qfai/require/REQUIRE-0001/07_Open-questions.md +18 -0
  88. package/assets/init/.qfai/specs/README.md +43 -411
  89. package/assets/init/.qfai/specs/spec-0001/01_Spec.md +24 -0
  90. package/assets/init/.qfai/specs/spec-0001/02_Objective.md +19 -0
  91. package/assets/init/.qfai/specs/spec-0001/03_Initiative.md +34 -0
  92. package/assets/init/.qfai/specs/spec-0001/04_Capability.md +13 -0
  93. package/assets/init/.qfai/specs/spec-0001/05_Business-flow.feature +13 -0
  94. package/assets/init/.qfai/specs/spec-0001/06_User-stories.md +8 -0
  95. package/assets/init/.qfai/specs/spec-0001/07_Acceptance-criteria.md +9 -0
  96. package/assets/init/.qfai/specs/spec-0001/08_Business-rules.md +9 -0
  97. package/assets/init/.qfai/specs/spec-0001/09_Examples.feature +20 -0
  98. package/assets/init/.qfai/specs/spec-0001/10_Test-cases.md +9 -0
  99. package/assets/init/.qfai/specs/spec-0001/11_Contracts.md +7 -0
  100. package/assets/init/.qfai/specs/spec-0001/12_Glossary.md +6 -0
  101. package/assets/init/.qfai/specs/spec-0001/13_Constraints.md +9 -0
  102. package/assets/init/.qfai/specs/spec-0001/14_Decisions.md +7 -0
  103. package/assets/init/.qfai/specs/spec-0001/15_Open-questions.md +22 -0
  104. package/assets/init/.qfai/specs/spec-0001/16_Traceability-ledger.md +7 -0
  105. package/assets/init/.qfai/specs/spec-0001/17_Plan.md +49 -0
  106. package/assets/init/.qfai/specs/spec-0001/18_delta.md +40 -0
  107. package/assets/init/root/{.codex/skills/qfai-sdd-planning → .claude/skills/qfai-sdd}/SKILL.md +5 -5
  108. package/assets/init/root/.claude/skills/qfai-spec/SKILL.md +2 -2
  109. package/assets/init/root/{.github/skills/qfai-sdd-planning → .codex/skills/qfai-sdd}/SKILL.md +5 -5
  110. package/assets/init/root/.codex/skills/qfai-spec/SKILL.md +2 -2
  111. package/assets/init/root/.github/PULL_REQUEST_TEMPLATE.md +5 -5
  112. package/assets/init/root/{.claude/skills/qfai-sdd-planning → .github/skills/qfai-sdd}/SKILL.md +5 -5
  113. package/assets/init/root/.github/skills/qfai-spec/SKILL.md +2 -2
  114. package/assets/init/root/features/spec-0001.feature +20 -0
  115. package/dist/cli/index.cjs +2106 -4249
  116. package/dist/cli/index.cjs.map +1 -1
  117. package/dist/cli/index.mjs +2147 -4290
  118. package/dist/cli/index.mjs.map +1 -1
  119. package/dist/index.cjs +3701 -5354
  120. package/dist/index.cjs.map +1 -1
  121. package/dist/index.d.cts +1 -9
  122. package/dist/index.d.ts +1 -9
  123. package/dist/index.mjs +3411 -5059
  124. package/dist/index.mjs.map +1 -1
  125. package/package.json +1 -1
  126. package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/SKILL.md +0 -250
  127. package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/SKILL.md +0 -255
  128. package/assets/init/.qfai/templates/spec/delta.md +0 -73
  129. package/assets/init/.qfai/templates/spec/implementation-brief.md +0 -9
  130. package/assets/init/.qfai/templates/spec/plan.md +0 -260
  131. package/assets/init/root/.claude/skills/qfai-sdd-refinement/SKILL.md +0 -52
  132. package/assets/init/root/.codex/skills/qfai-sdd-refinement/SKILL.md +0 -52
  133. package/assets/init/root/.github/skills/qfai-sdd-refinement/SKILL.md +0 -52
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
@@ -134,8 +128,8 @@ Operational notes.
134
128
  - Each custom skill must output in the user’s language (absolute requirement).
135
129
  - Except `qfai-discuss`, each skill must analyze the project context (architecture, tech stack, test framework, repo structure) before generating artifacts or code.
136
130
  - 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).
131
+ - Change classification (Primary/Tags) is required in `18_delta.md` and recommended in PRs. See `.qfai/assistant/instructions/change-classification.md`.
132
+ - Verification planning is recorded in `18_delta.md` (`Verification -> Plan`) and validated in CI (`VFY-*` rules).
139
133
 
140
134
  ## Configuration
141
135
 
@@ -183,6 +177,44 @@ QFAI uses a small, opinionated set of artifacts to reduce ambiguity and prevent
183
177
 
184
178
  Traceability is validated across these artifacts, so code changes remain grounded in the specs and the tests prove compliance.
185
179
 
180
+ ## SSOT boundaries
181
+
182
+ ```mermaid
183
+ flowchart LR
184
+ S[.qfai/specs/**] --> L[16_Traceability-ledger.md]
185
+ C[.qfai/contracts/**] --> L
186
+ L --> V[qfai validate]
187
+ V --> R[.qfai/report/**]
188
+ ```
189
+
190
+ - Specs SSOT: `.qfai/specs/**` (`01..18`, especially `16_Traceability-ledger.md` and `18_delta.md`)
191
+ - Contracts SSOT: `.qfai/contracts/**`
192
+ - Report outputs (`.qfai/report/**`) are derived artifacts and not SSOT.
193
+
194
+ ## Minimal tutorial (v1.4.4)
195
+
196
+ 1. `npx qfai init`
197
+ 2. Run `/qfai-discuss` to structure scope and open questions.
198
+ 3. Run `/qfai-require` to produce `REQUIRE-XXXX`.
199
+ 4. Run `/qfai-sdd` to build `spec-XXXX/01..18`.
200
+ 5. Run `npx qfai validate` then `npx qfai report`.
201
+
202
+ Release gate behavior:
203
+
204
+ - Merge gate: `qfai validate` must pass (`error=0`), and open OQ is warning.
205
+ - Release gate: set `release_candidate: true` in `03_Initiative.md`; open OQ then becomes error.
206
+
207
+ ## FAQ
208
+
209
+ - Q: I referenced AC/TC directly from upper layers and got an error.
210
+ - A: Keep upper-to-lower references out of upper docs; use `16_Traceability-ledger.md` for cross-layer linkage.
211
+ - Q: Ledger validation fails with missing columns.
212
+ - A: Ensure required columns exist: `trace_id,obj_id,init_id,cap_id,flow_id,us_id,ac_id,ex_ids,tc_ids`.
213
+ - Q: `18_delta.md` fails validation.
214
+ - A: Include all required sections (`Change Summary`, `Rationale`, `Candidates Considered`, `Adopted`, `Rejected`, `Impact`, `Follow-ups`) and include both `DO NOT` and `Temptation` in `Rejected`.
215
+ - Q: release_candidate validation fails due open questions.
216
+ - A: In `15_Open-questions.md`, change `status: open` to `resolved` or `deferred` and keep evidence.
217
+
186
218
  ## Continuous integration (GitHub Actions)
187
219
 
188
220
  (GitHub Actions)
@@ -237,9 +269,7 @@ Typical customizations.
237
269
  │ │ └── SKILL.md
238
270
  │ ├── qfai-scenario-test
239
271
  │ │ └── SKILL.md
240
- │ ├── qfai-sdd-refinement
241
- │ │ └── SKILL.md
242
- │ ├── qfai-sdd-planning
272
+ │ ├── qfai-sdd
243
273
  │ │ └── SKILL.md
244
274
  │ ├── qfai-spec
245
275
  │ │ └── SKILL.md
@@ -300,6 +330,12 @@ Typical customizations.
300
330
  │ │ │ ├── structure.md
301
331
  │ │ │ └── tech.md
302
332
  │ │ └── README.md
333
+ │ ├── discuss
334
+ │ │ ├── README.md
335
+ │ │ └── DISCUSS-0001
336
+ │ │ ├── 00_Summary.md
337
+ │ │ ├── ...
338
+ │ │ └── 07_Open-questions.md
303
339
  │ ├── contracts
304
340
  │ │ ├── api
305
341
  │ │ │ └── README.md
@@ -312,7 +348,15 @@ Typical customizations.
312
348
  │ │ └── README.md
313
349
  │ ├── require
314
350
  │ │ ├── README.md
315
- │ │ └── require.md
351
+ │ │ ├── REQUIRE-0001
352
+ │ │ │ ├── 00_Summary.md
353
+ │ │ │ ├── ...
354
+ │ │ │ └── 07_Open-questions.md
355
+ │ │ ├── glossary.md # legacy compatibility
356
+ │ │ ├── actors.md # legacy compatibility
357
+ │ │ ├── business-flows.md # legacy compatibility
358
+ │ │ ├── require.md # legacy compatibility
359
+ │ │ └── open-questions.md # legacy compatibility
316
360
  │ ├── specs
317
361
  │ │ └── README.md
318
362
  │ └── README.md
@@ -2,76 +2,81 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- `.qfai/` is the **single workspace** for QFAI artifacts so that requirements, contracts, spec packs, and automation stay aligned and traceable.
5
+ `.qfai/` is the single workspace for QFAI artifacts so requirements, contracts, spec packs, and automation stay aligned.
6
6
 
7
- This folder is generated by `qfai init`. It is designed to be:
7
+ This folder is generated by `qfai init` and designed to be:
8
8
 
9
- - **predictable** (stable file layout),
10
- - **reviewable** (human-readable Markdown/YAML/SQL),
11
- - **machine-checkable** (validators enforce minimal structural rules).
9
+ - predictable (stable layout),
10
+ - reviewable (human-readable Markdown/YAML/SQL),
11
+ - machine-checkable (validators enforce minimal structural rules).
12
12
 
13
13
  ## Recommended QFAI sequence (project)
14
14
 
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
- > Formatting MUST follow the templates in each directory README.
28
- > Do not invent per-file formats.
29
- > Requirements decomposition starts from **Actors** and **Business Flows** in `require/`.
30
- > Keep `business-flows.md` as the top-level narrative backbone; derive REQ/SPEC/SCENARIO from BF steps.
26
+ > Formatting must follow the templates and checklists documented in each directory README.
31
27
 
32
28
  ## Directory map
33
29
 
34
30
  ```text
35
31
  .qfai/
36
32
  ├── README.md
37
- ├── discussions/
33
+ ├── discuss/
38
34
  │ ├── README.md
39
- │ └── discuss-0001-<topic>.md # discussion log (decision/evidence)
35
+ │ └── DISCUSS-0001/
36
+ │ ├── 00_Summary.md
37
+ │ ├── ...
38
+ │ └── 07_Open-questions.md
39
+ ├── discussions/ # legacy compatibility
40
+ │ └── README.md
40
41
  ├── assistant/
41
- │ ├── skills/ # canonical skills (SSOT)
42
- │ ├── skills.local/ # project-specific skill overrides
43
- │ ├── agents/ # sub-agent missions / guardrails
44
- │ ├── steering/ # project steering (inputs for skills, includes test-layers.md)
45
- │ └── instructions/ # tool/integration instructions (includes drift-protocol.md)
42
+ │ ├── skills/ # canonical skills (SSOT)
43
+ │ ├── skills.local/ # project-specific overrides
44
+ │ ├── agents/ # sub-agent missions
45
+ │ ├── steering/ # project steering inputs
46
+ │ └── instructions/ # workflow and guardrail docs
46
47
  ├── require/
47
48
  │ ├── README.md
48
- │ ├── glossary.md # terms (SSOT)
49
- │ ├── actors.md # actor catalog (SSOT)
50
- │ ├── business-flows.md # business flow catalog (SSOT)
51
- ├── require.md # requirements (REQ-*) + BF coverage map
52
- └── open-questions.md
49
+ │ ├── REQUIRE-0001/
50
+ ├── 00_Summary.md
51
+ ├── ...
52
+ │ └── 07_Open-questions.md
53
+ ├── glossary.md # legacy compatibility
54
+ │ ├── actors.md # legacy compatibility
55
+ │ ├── business-flows.md # legacy compatibility
56
+ │ ├── require.md # legacy compatibility
57
+ │ └── open-questions.md # legacy compatibility
53
58
  ├── contracts/
54
59
  │ ├── README.md
55
- │ ├── api/README.md # OpenAPI YAML style guide
56
- │ ├── db/README.md # SQL contracts style guide
57
- │ └── ui/README.md # UI contract YAML style guide
60
+ │ ├── api/
61
+ ├── README.md
62
+ └── api-0001-sample.yaml
63
+ │ ├── db/
64
+ │ │ ├── README.md
65
+ │ │ └── db-0001-sample.sql
66
+ │ └── ui/
67
+ │ ├── README.md
68
+ │ └── ui-0001-sample.yaml
58
69
  ├── specs/
59
70
  │ ├── README.md
60
71
  │ └── spec-0001/
61
- │ ├── spec.md
62
- │ ├── delta.md
63
- │ ├── scenario.feature
64
- │ ├── case-catalogue.md
65
- ├── traceability-matrix.md
66
- │ └── plan.md
67
- ├── templates/
68
- │ └── spec/
69
- │ ├── delta.md
70
- │ ├── plan.md
71
- │ └── implementation-brief.md # deprecated migration stub (validation fails if used as How SSOT)
72
+ │ ├── 01_Spec.md
73
+ │ ├── 02_Objective.md
74
+ │ ├── ...
75
+ │ ├── 17_Plan.md
76
+ └── 18_delta.md
72
77
  └── evidence/
73
78
  ├── README.md
74
- └── <skill>-<run>.md # completion evidence (gitignored by default)
79
+ └── <skill>-<run>.md
75
80
  ```
76
81
 
77
82
  ## Rules (global)
@@ -81,44 +86,37 @@ flowchart TD
81
86
  Each directory `README.md` defines:
82
87
 
83
88
  - required files,
84
- - canonical **template**,
85
- - realistic **sample**,
89
+ - template expectations,
86
90
  - quality checklist,
87
91
  - anti-patterns.
88
92
 
89
- All custom skills must:
90
-
91
- 1. read the relevant directory README(s),
92
- 2. generate artifacts matching their templates,
93
- 3. run a self-check before declaring completion.
93
+ Custom skills should read relevant README files before writing artifacts.
94
94
 
95
95
  ### R2. Evidence is not versioned by default
96
96
 
97
- Evidence under `.qfai/evidence/` is **gitignored by default** (see repository `.gitignore` and/or project `.git/info/exclude`).
98
-
99
- - Evidence is still useful locally and in PR review (attach or paste snippets), but it should not pollute version control.
97
+ Evidence under `.qfai/evidence/` is gitignored by default.
98
+ It is useful for local review but should not pollute version control.
100
99
 
101
100
  ### R3. Keep artifacts atomic
102
101
 
103
- - Prefer many small, stable identifiers (REQ/BR/AC/CASE/SC) over long paragraphs that hide multiple rules.
104
- - If a statement contains multiple independent “must” clauses, split it.
102
+ - Prefer small stable identifiers (REQ/BR/AC/TC/EX/etc.) over long mixed paragraphs.
103
+ - If one line contains multiple independent constraints, split it.
105
104
 
106
- ### R4. Do not put templates in skills
105
+ ### R4. Spec Pack 01..18 is runtime SSOT
107
106
 
108
- Templates/samples MUST live only in `.qfai/**/README.md`.
109
- Skills only **reference** them to avoid double maintenance.
107
+ - Runtime validators and downstream skills consume `01_*` to `18_*`.
108
+ - Traceability links are written in `16_Traceability-ledger.md`.
109
+ - Derived outputs under `.qfai/report/**` are non-SSOT.
110
110
 
111
111
  ## Skills (SSOT)
112
112
 
113
- QFAI also ships an **assistant skills** tree at `assistant/skills/`.
114
-
115
- `assistant/skills/**` is the canonical source of truth.
116
- Tool-specific wrappers (`.claude/skills`, `.github/skills`, `.codex/skills`) must point to this tree.
113
+ `assistant/skills/**` is the canonical source.
114
+ Tool-specific wrappers (`.claude/skills`, `.github/skills`, `.codex/skills`) should point to this tree.
117
115
 
118
116
  ## Where to look next
119
117
 
120
118
  - Requirements format: `require/README.md`
121
- - Contracts format: `contracts/README.md` and sub-READMEs
119
+ - Contracts format: `contracts/README.md` and child READMEs
122
120
  - Spec pack format: `specs/README.md`
123
- - Change classification (Primary/Tags): `assistant/instructions/change-classification.md`
121
+ - Change classification: `assistant/instructions/change-classification.md`
124
122
  - Evidence rules: `evidence/README.md`
@@ -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)
@@ -11,7 +11,8 @@
11
11
  - .qfai/assistant/steering/\*
12
12
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
13
13
  - Existing discussion records under `.qfai/discussions/`
14
- - .qfai/require/require.md (if present)
14
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
15
+ - .qfai/require/require.md (legacy compatibility)
15
16
 
16
17
  ## Deliverables (MANDATORY)
17
18
 
@@ -10,7 +10,8 @@
10
10
  - .qfai/assistant/steering/\*
11
11
  - .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
12
12
  - Existing discussion records under `.qfai/discussions/`
13
- - .qfai/require/require.md (if present)
13
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
14
+ - .qfai/require/require.md (legacy compatibility)
14
15
 
15
16
  ## Deliverables (MANDATORY)
16
17
 
@@ -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 (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/\*\*
@@ -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 (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
@@ -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,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 (if present)
12
+ - .qfai/require/REQUIRE-XXXX/\* (preferred if present)
13
+ - .qfai/require/require.md (legacy compatibility)
13
14
  - Discussion records under `.qfai/discussions/`
14
15
  - .qfai/specs/spec-\*/spec.md (if available)
15
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
 
@@ -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)