qfai 1.4.18 → 1.4.24
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 +48 -38
- package/assets/init/.qfai/README.md +21 -15
- package/assets/init/.qfai/assistant/agents/architect.md +3 -3
- package/assets/init/.qfai/assistant/agents/contract-designer.md +3 -3
- package/assets/init/.qfai/assistant/agents/design-owner.md +3 -3
- package/assets/init/.qfai/assistant/agents/facilitator.md +3 -3
- package/assets/init/.qfai/assistant/agents/interviewer.md +3 -3
- package/assets/init/.qfai/assistant/agents/option-explorer.md +3 -3
- package/assets/init/.qfai/assistant/agents/oq-harvester.md +3 -3
- package/assets/init/.qfai/assistant/agents/oq-reviewer.md +3 -3
- package/assets/init/.qfai/assistant/agents/planner.md +3 -3
- package/assets/init/.qfai/assistant/agents/project-lead.md +3 -3
- package/assets/init/.qfai/assistant/agents/requirements-analyst.md +3 -3
- package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +7 -7
- package/assets/init/.qfai/assistant/instructions/workflow.md +1 -1
- package/assets/init/.qfai/assistant/manifest/spec_required_files.json +25 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/SKILL.md +125 -139
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/01_Context.md +27 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/02_Hearing.md +18 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/03_Config-Hearing.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/04_Deep-Dive.md +21 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/05_OQ-Register.md +15 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/06_OQ-Resolution-Log.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/07_Deferred.md +13 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/08_Review-Request.md +25 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/09_delta.md +25 -0
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/review/Rxx_reviewer.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/review/review_request.md +6 -6
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/review/summary.json +51 -40
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +3 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/SKILL.md +68 -45
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/01_Sources.md +16 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/02_Scope.md +17 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/03_REQ.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/04_NFR.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/05_Glossary.md +11 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/06_Constraints.md +15 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/07_Policy.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/08_OQ.md +19 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/09_delta.md +18 -0
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/review/Rxx_reviewer.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/review/review_request.md +6 -6
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/review/summary.json +51 -40
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +100 -53
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/report/preflight_summary.md +11 -17
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/spec-pack/03_Initiative.md +1 -1
- package/assets/init/.qfai/assistant/skills/{qfai-sdd-refinement/templates/specs/_shared/04_Business-flow.md → qfai-sdd/templates/specs/_shared/04_Business-Flow.md} +4 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_shared/05_Contracts.md +33 -9
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_shared/08_Decisions.md +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_shared/09_Open-questions.md +11 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_shared/10_delta.md +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/03_Acceptance-Criteria.md +22 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/04_Business-Rules.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/05_Examples.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/07_Decisions.md +6 -4
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/08_Open-questions.md +8 -6
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/SKILL.md +42 -142
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/SKILL.md +42 -193
- package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +16 -1
- package/assets/init/.qfai/assistant/steering/review-roster.yml +92 -0
- package/assets/init/.qfai/assistant/templates/rcp_footer.md +45 -0
- package/assets/init/.qfai/discuss/README.md +16 -16
- package/assets/init/.qfai/report/README.md +5 -0
- package/assets/init/.qfai/require/README.md +42 -30
- package/assets/init/.qfai/review/.gitignore +3 -0
- package/assets/init/.qfai/review/README.md +31 -15
- package/assets/init/.qfai/specs/README.md +27 -26
- package/dist/cli/index.cjs +4045 -2982
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +2530 -1467
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +2321 -1727
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -11
- package/dist/index.d.ts +7 -11
- package/dist/index.mjs +2348 -1754
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/00_Summary.md +0 -38
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/01_Objective.md +0 -16
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/02_Initiative.md +0 -16
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/03_Capabilities.md +0 -17
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/04_Business-flow.md +0 -39
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/05_Policy.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/06_Stakeholders.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-discuss/templates/07_Open-questions.md +0 -18
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/01_sources.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/02_requirement-index.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-require/templates/03_open-questions.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_shared/04_Business-flow.md +0 -38
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/03_Acceptance-criteria.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/04_Business-rules.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/05_Examples.feature +0 -9
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-cases.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/templates/evidence/import-lite.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/templates/report/preflight_summary.md +0 -26
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/templates/review/Rxx_reviewer.md +0 -29
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/templates/review/review_request.md +0 -39
- package/assets/init/.qfai/assistant/skills/qfai-sdd-planning/templates/review/summary.json +0 -50
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/evidence/import-lite.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/report/preflight_summary.md +0 -26
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/review/Rxx_reviewer.md +0 -29
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/review/review_request.md +0 -39
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/review/summary.json +0 -50
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/_shared/03_Capabilities.md +0 -19
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/_shared/05_Contracts.md +0 -26
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/01_Spec.md +0 -15
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/02_User-stories.md +0 -12
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/03_Acceptance-criteria.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/04_Business-rules.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/05_Examples.feature +0 -9
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/06_Test-cases.md +0 -13
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/07_Decisions.md +0 -7
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/08_Open-questions.md +0 -9
- package/assets/init/.qfai/assistant/skills/qfai-sdd-refinement/templates/specs/spec/09_delta.md +0 -16
- package/assets/init/.qfai/status/README.md +0 -30
- /package/assets/init/.qfai/{status → report}/.gitignore +0 -0
package/README.md
CHANGED
|
@@ -31,9 +31,9 @@ npx qfai report
|
|
|
31
31
|
## What you can do (CLI commands)
|
|
32
32
|
|
|
33
33
|
- `npx qfai init`
|
|
34
|
-
- Creates the QFAI workspace under `.qfai/` (requirements/specs/
|
|
34
|
+
- Creates the QFAI workspace under `.qfai/` (requirements/specs/contracts/report) and installs the AI assistant kit (`assistant/` with skills, instructions, agents, and steering templates), plus `qfai.config.yaml`.
|
|
35
35
|
- `npx qfai validate`
|
|
36
|
-
- Validates specs/contracts/scenarios/traceability and review
|
|
36
|
+
- Validates specs/contracts/scenarios/traceability and review artifacts (`.qfai/review/review-*/summary.json` + minimum schema), writes `.qfai/report/validate.json`, and appends run logs to `.qfai/report/run-*/`; use `--fail-on error` (or `--fail-on warning`) to turn it into a CI gate, and `--format github` to emit GitHub-friendly annotations. Use `--phase refinement` only for local refinement checks; CI should use default/full validation.
|
|
37
37
|
- `npx qfai report`
|
|
38
38
|
- Produces a human-readable report (`report.md` by default) or an internal JSON export (`report.json`) from `validate.json`; use `--base-url` to link file paths in Markdown to your repository viewer.
|
|
39
39
|
- `npx qfai doctor`
|
|
@@ -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
|
|
60
|
-
- **qfai-sdd**: Unified SDD entrypoint with preflight
|
|
61
|
-
- **qfai-sdd-refinement**:
|
|
62
|
-
- **qfai-sdd-planning**: Finalize `plan.md` and `spec-XXXX/10_Plan`; if specs are missing, redirect to refinement.
|
|
59
|
+
- **qfai-require**: Produce a fixed 9-file require-pack (`01_Sources.md`..`09_delta.md`) under `.qfai/require/require-<ts>/`.
|
|
60
|
+
- **qfai-sdd**: Unified SDD entrypoint with require-pack preflight guard (missing/incomplete/blocking OQ causes stop + next action guidance).
|
|
61
|
+
- **qfai-sdd-refinement / qfai-sdd-planning (deprecated wrappers)**: Legacy entrypoints that return a fixed deprecation notice and route to `/qfai-sdd` only (no direct artifact generation).
|
|
63
62
|
- **qfai-prototyping**: Build a contract-aligned skeleton implementation before deep coding.
|
|
64
63
|
- **qfai-atdd**: Implement acceptance tests driven by specs/scenarios.
|
|
65
64
|
- **qfai-tdd-red**: Add failing unit/component tests from the approved acceptance scenarios.
|
|
@@ -94,18 +93,13 @@ end
|
|
|
94
93
|
|
|
95
94
|
U->>AG: Run /qfai-require
|
|
96
95
|
AG->>Q: Read .qfai/assistant/skills/qfai-require/SKILL.md
|
|
97
|
-
AG->>R: Create/Update require
|
|
98
|
-
AG-->>U:
|
|
96
|
+
AG->>R: Create/Update require-pack under require-<ts> (01_Sources..09_delta)
|
|
97
|
+
AG-->>U: Require-pack ready
|
|
99
98
|
|
|
100
|
-
U->>AG: Run /qfai-sdd
|
|
101
|
-
AG->>Q: Read .qfai/assistant/skills/qfai-sdd
|
|
102
|
-
AG->>R: Preflight + create/refine
|
|
103
|
-
AG-->>U:
|
|
104
|
-
|
|
105
|
-
U->>AG: Run /qfai-sdd-planning
|
|
106
|
-
AG->>Q: Read .qfai/assistant/skills/qfai-sdd-planning/SKILL.md
|
|
107
|
-
AG->>R: Finalize plan.md + spec-XXXX/10_Plan (+ delta updates)
|
|
108
|
-
AG-->>U: Planning artifacts ready
|
|
99
|
+
U->>AG: Run /qfai-sdd
|
|
100
|
+
AG->>Q: Read .qfai/assistant/skills/qfai-sdd/SKILL.md
|
|
101
|
+
AG->>R: Preflight + create/refine layered specs + finalize 10_Plan + delta
|
|
102
|
+
AG-->>U: SDD artifacts ready
|
|
109
103
|
|
|
110
104
|
U->>AG: Run /qfai-prototyping
|
|
111
105
|
AG->>Q: Read .qfai/assistant/skills/qfai-prototyping/SKILL.md
|
|
@@ -154,6 +148,7 @@ Operational notes.
|
|
|
154
148
|
- Change classification (Primary/Tags) is required in `18_delta.md` and recommended in PRs. See `.qfai/assistant/instructions/change-classification.md`.
|
|
155
149
|
- Verification planning is recorded in `18_delta.md` (`Verification -> Plan`) and validated in CI (`VFY-*` rules).
|
|
156
150
|
- Review gate policies (required/optional layers and reviewers) are defined in `.qfai/assistant/steering/review-gate.rules.yml`.
|
|
151
|
+
- Review roster SSOT is defined in `.qfai/assistant/steering/review-roster.yml`.
|
|
157
152
|
|
|
158
153
|
## Configuration
|
|
159
154
|
|
|
@@ -184,7 +179,7 @@ validation:
|
|
|
184
179
|
|
|
185
180
|
Notes.
|
|
186
181
|
|
|
187
|
-
- `validate.json`, `report.json`,
|
|
182
|
+
- `validate.json`, `report.json`, `doctor.json`, and `run-*` JSON logs are internal exports and are not a stable external contract; prefer `report.md` for integrations that must survive tool upgrades.
|
|
188
183
|
- Scenario files are expected to use the Gherkin extension `*.feature` (not `*.md`).
|
|
189
184
|
|
|
190
185
|
## Specifications and contracts (SDD)
|
|
@@ -215,19 +210,19 @@ flowchart LR
|
|
|
215
210
|
- Contracts SSOT: `.qfai/contracts/**`
|
|
216
211
|
- Report outputs (`.qfai/report/**`) are derived artifacts and not SSOT.
|
|
217
212
|
|
|
218
|
-
## Minimal tutorial (v1.4.
|
|
213
|
+
## Minimal tutorial (v1.4.24)
|
|
219
214
|
|
|
220
215
|
1. `npx qfai init`
|
|
221
216
|
2. Run `/qfai-discuss` to structure scope and open questions.
|
|
222
|
-
3. Run `/qfai-require` to produce require
|
|
223
|
-
4. Run `/qfai-sdd`
|
|
224
|
-
5. For each completed
|
|
217
|
+
3. Run `/qfai-require` to produce a require pack (`01_Sources`..`09_delta`) under `.qfai/require/require-<ts>/`.
|
|
218
|
+
4. Run `/qfai-sdd` to build layered specs and finalized plans.
|
|
219
|
+
5. For each completed review cycle, append artifacts under `.qfai/review/review-<timestamp>/`.
|
|
225
220
|
6. Run `npx qfai validate` then `npx qfai report`.
|
|
226
221
|
|
|
227
222
|
Release gate behavior:
|
|
228
223
|
|
|
229
224
|
- Merge gate: `qfai validate` must pass (`error=0`), and open OQ is warning.
|
|
230
|
-
- Release gate: set `release_candidate: true` in
|
|
225
|
+
- Release gate: set `release_candidate: true` in the Initiative layer (`03_Initiative.md`); open OQ then becomes error.
|
|
231
226
|
|
|
232
227
|
## FAQ
|
|
233
228
|
|
|
@@ -238,12 +233,12 @@ Release gate behavior:
|
|
|
238
233
|
- Q: `18_delta.md` fails validation.
|
|
239
234
|
- A: Include all required sections (`Change Summary`, `Rationale`, `Candidates Considered`, `Adopted`, `Rejected`, `Impact`, `Follow-ups`) and include both `DO NOT` and `Temptation` in `Rejected`.
|
|
240
235
|
- Q: release_candidate validation fails due open questions.
|
|
241
|
-
- A: Keep specs definition-only,
|
|
236
|
+
- A: Keep specs definition-only, use `.qfai/report/run-*` as execution logs, and convert open OQ to `resolved` or `deferred` with evidence.
|
|
242
237
|
|
|
243
238
|
## Continuous integration
|
|
244
239
|
|
|
245
|
-
QFAI v1.4.
|
|
246
|
-
|
|
240
|
+
QFAI v1.4.24 generates integration wrappers under `.agents/**`, `.claude/**`,
|
|
241
|
+
`.github/**`, and `.codex/**`.
|
|
247
242
|
It does not generate GitHub Actions workflows.
|
|
248
243
|
Configure CI in your own platform and run:
|
|
249
244
|
|
|
@@ -269,7 +264,7 @@ Waiver policy.
|
|
|
269
264
|
Typical customizations.
|
|
270
265
|
|
|
271
266
|
- Add a `doctor` step before validate if you want to fail fast on path/glob/config issues.
|
|
272
|
-
- Publish `.qfai/report/validate.json
|
|
267
|
+
- Publish `.qfai/report/validate.json`, `report.md`, and relevant `.qfai/report/run-*/` logs as CI artifacts.
|
|
273
268
|
|
|
274
269
|
## Generated structure
|
|
275
270
|
|
|
@@ -277,6 +272,11 @@ Typical customizations.
|
|
|
277
272
|
|
|
278
273
|
```text
|
|
279
274
|
.
|
|
275
|
+
├── .agents
|
|
276
|
+
│ ├── README.md
|
|
277
|
+
│ └── skills
|
|
278
|
+
│ └── qfai-configure
|
|
279
|
+
│ └── SKILL.md
|
|
280
280
|
├── .qfai
|
|
281
281
|
│ ├── assistant
|
|
282
282
|
│ │ ├── agents
|
|
@@ -312,9 +312,9 @@ Typical customizations.
|
|
|
312
312
|
│ │ │ │ └── SKILL.md
|
|
313
313
|
│ │ │ ├── qfai-sdd
|
|
314
314
|
│ │ │ │ └── SKILL.md
|
|
315
|
-
│ │ │ ├── qfai-sdd-refinement
|
|
315
|
+
│ │ │ ├── qfai-sdd-refinement (deprecated wrapper)
|
|
316
316
|
│ │ │ │ └── SKILL.md
|
|
317
|
-
│ │ │ ├── qfai-sdd-planning
|
|
317
|
+
│ │ │ ├── qfai-sdd-planning (deprecated wrapper)
|
|
318
318
|
│ │ │ │ └── SKILL.md
|
|
319
319
|
│ │ │ ├── qfai-atdd
|
|
320
320
|
│ │ │ │ └── SKILL.md
|
|
@@ -328,9 +328,12 @@ Typical customizations.
|
|
|
328
328
|
│ │ │ └── SKILL.md
|
|
329
329
|
│ │ ├── skills.local
|
|
330
330
|
│ │ │ └── README.md
|
|
331
|
+
│ │ ├── templates
|
|
332
|
+
│ │ │ └── rcp_footer.md
|
|
331
333
|
│ │ ├── steering
|
|
332
334
|
│ │ │ ├── README.md
|
|
333
335
|
│ │ │ ├── review-gate.rules.yml
|
|
336
|
+
│ │ │ ├── review-roster.yml
|
|
334
337
|
│ │ │ ├── product.md
|
|
335
338
|
│ │ │ ├── structure.md
|
|
336
339
|
│ │ │ └── tech.md
|
|
@@ -338,9 +341,9 @@ Typical customizations.
|
|
|
338
341
|
│ ├── discuss
|
|
339
342
|
│ │ ├── README.md
|
|
340
343
|
│ │ └── discuss-20260215205220203
|
|
341
|
-
│ │ ├──
|
|
344
|
+
│ │ ├── 01_Context.md
|
|
342
345
|
│ │ ├── ...
|
|
343
|
-
│ │ └──
|
|
346
|
+
│ │ └── 09_delta.md
|
|
344
347
|
│ ├── contracts
|
|
345
348
|
│ │ ├── api
|
|
346
349
|
│ │ │ └── README.md
|
|
@@ -350,16 +353,22 @@ Typical customizations.
|
|
|
350
353
|
│ │ │ └── README.md
|
|
351
354
|
│ │ └── README.md
|
|
352
355
|
│ ├── report
|
|
353
|
-
│ │
|
|
356
|
+
│ │ ├── .gitignore
|
|
357
|
+
│ │ ├── README.md
|
|
358
|
+
│ │ └── run-20260218123456789
|
|
359
|
+
│ │ ├── run.json
|
|
360
|
+
│ │ ├── validator.json
|
|
361
|
+
│ │ ├── traceability.json
|
|
362
|
+
│ │ └── summary.md
|
|
354
363
|
│ ├── require
|
|
355
364
|
│ │ ├── README.md
|
|
356
365
|
│ │ └── require-20260215205220203
|
|
357
|
-
│ │ ├──
|
|
358
|
-
│ │ ├──
|
|
359
|
-
│ │
|
|
366
|
+
│ │ ├── 01_Sources.md
|
|
367
|
+
│ │ ├── 02_Scope.md
|
|
368
|
+
│ │ ├── 03_REQ.md
|
|
369
|
+
│ │ ├── ...
|
|
370
|
+
│ │ └── 09_delta.md
|
|
360
371
|
│ ├── review
|
|
361
|
-
│ │ └── README.md
|
|
362
|
-
│ ├── status
|
|
363
372
|
│ │ ├── .gitignore
|
|
364
373
|
│ │ └── README.md
|
|
365
374
|
│ ├── specs
|
|
@@ -370,6 +379,7 @@ Typical customizations.
|
|
|
370
379
|
|
|
371
380
|
Integration wrappers are also generated for immediate use:
|
|
372
381
|
|
|
382
|
+
- Agents/Codex VS Code: `.agents/skills/**`
|
|
373
383
|
- Claude Code: `.claude/commands/**`, `.claude/agents/**`
|
|
374
384
|
- GitHub Copilot: `.github/prompts/**`, `.github/agents/**`
|
|
375
385
|
- Codex: `.codex/skills/**`
|
|
@@ -377,7 +387,7 @@ Integration wrappers are also generated for immediate use:
|
|
|
377
387
|
## Agent integrations
|
|
378
388
|
|
|
379
389
|
`npx qfai init` installs canonical skills under `.qfai/assistant/skills/**` (SSOT)
|
|
380
|
-
and generates thin wrapper assets for Copilot / Claude Code / Codex.
|
|
390
|
+
and generates thin wrapper assets for Agents/Codex VS Code / Copilot / Claude Code / Codex.
|
|
381
391
|
If wrapper assets drift from canonical skills, rerun `npx qfai init --force` to resync.
|
|
382
392
|
|
|
383
393
|
## Contributing (for QFAI maintainers)
|
|
@@ -15,16 +15,16 @@ 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
|
|
19
|
-
C --> D[/qfai-
|
|
20
|
-
D --> E[/qfai-
|
|
21
|
-
E --> F[/qfai-
|
|
22
|
-
F --> G[/qfai-tdd-
|
|
23
|
-
G --> H[/qfai-tdd-
|
|
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.
|
|
27
|
+
> Legacy wrappers `/qfai-sdd-refinement` and `/qfai-sdd-planning` are deprecated and route to `/qfai-sdd`.
|
|
28
28
|
|
|
29
29
|
## Directory map
|
|
30
30
|
|
|
@@ -37,21 +37,27 @@ flowchart TD
|
|
|
37
37
|
│ ├── skills/ # canonical skills (SSOT)
|
|
38
38
|
│ ├── skills.local/ # project-specific overrides
|
|
39
39
|
│ ├── agents/ # sub-agent missions
|
|
40
|
-
│ ├──
|
|
40
|
+
│ ├── templates/ # shared assistant templates (RCP footer SSOT)
|
|
41
|
+
│ ├── steering/ # project steering inputs and review roster
|
|
41
42
|
│ └── instructions/ # workflow and guardrail docs
|
|
42
43
|
├── require/
|
|
43
44
|
│ ├── README.md
|
|
44
45
|
│ └── require-YYYYMMDDhhmmssSSS/
|
|
45
|
-
│ ├──
|
|
46
|
-
│ ├──
|
|
47
|
-
│
|
|
46
|
+
│ ├── 01_Sources.md
|
|
47
|
+
│ ├── 02_Scope.md
|
|
48
|
+
│ ├── 03_REQ.md
|
|
49
|
+
│ ├── 04_NFR.md
|
|
50
|
+
│ ├── 05_Glossary.md
|
|
51
|
+
│ ├── 06_Constraints.md
|
|
52
|
+
│ ├── 07_Policy.md
|
|
53
|
+
│ ├── 08_OQ.md
|
|
54
|
+
│ └── 09_delta.md
|
|
48
55
|
├── report/
|
|
56
|
+
│ ├── .gitignore
|
|
49
57
|
│ └── README.md
|
|
50
58
|
├── review/
|
|
59
|
+
│ ├── .gitignore
|
|
51
60
|
│ └── README.md
|
|
52
|
-
├── status/
|
|
53
|
-
│ ├── README.md
|
|
54
|
-
│ └── .gitignore
|
|
55
61
|
├── contracts/
|
|
56
62
|
│ ├── README.md
|
|
57
63
|
│ ├── api/
|
|
@@ -100,7 +106,7 @@ It is useful for local review but should not pollute version control.
|
|
|
100
106
|
|
|
101
107
|
### R5. init is an empty scaffold
|
|
102
108
|
|
|
103
|
-
- `qfai init` creates README-centric directories for `discuss`, `require`, `report`, `
|
|
109
|
+
- `qfai init` creates README-centric directories for `discuss`, `require`, `report`, `contracts`, and `specs`.
|
|
104
110
|
- Sample artifacts are provided under skill templates (for example, `assistant/skills/qfai-sdd/templates/contracts/`).
|
|
105
111
|
|
|
106
112
|
## Skills (SSOT)
|
|
@@ -11,9 +11,9 @@
|
|
|
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-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
16
|
-
- .qfai/require/require-\*/
|
|
14
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
15
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
16
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
17
17
|
- Existing architecture docs (if any)
|
|
18
18
|
|
|
19
19
|
## Deliverables (MANDATORY)
|
|
@@ -11,9 +11,9 @@
|
|
|
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-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
16
|
-
- .qfai/require/require-\*/
|
|
14
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
15
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
16
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
17
17
|
- Existing contracts under `.qfai/contracts/**`
|
|
18
18
|
|
|
19
19
|
## Deliverables (MANDATORY)
|
|
@@ -10,9 +10,9 @@
|
|
|
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-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
13
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
14
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
15
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
16
16
|
- Evidence summaries under `.qfai/evidence/` (gitignored)
|
|
17
17
|
|
|
18
18
|
## Deliverables (MANDATORY)
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
- .qfai/assistant/steering/\*
|
|
12
12
|
- .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
|
|
13
13
|
- Existing discussion records under `.qfai/discuss/`
|
|
14
|
-
- .qfai/require/require-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
16
|
-
- .qfai/require/require-\*/
|
|
14
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
15
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
16
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
17
17
|
|
|
18
18
|
## Deliverables (MANDATORY)
|
|
19
19
|
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
- .qfai/assistant/steering/\*
|
|
11
11
|
- .qfai/specs/spec-\*/delta.md (Decision Records; check rejected)
|
|
12
12
|
- Existing discussion records under `.qfai/discuss/`
|
|
13
|
-
- .qfai/require/require-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
13
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
14
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
15
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
16
16
|
|
|
17
17
|
## Deliverables (MANDATORY)
|
|
18
18
|
|
|
@@ -9,9 +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-\*/
|
|
13
|
-
- .qfai/require/require-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
12
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
13
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
14
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
15
15
|
- .qfai/specs/spec-\*/spec.md
|
|
16
16
|
- .qfai/specs/spec-\*/delta.md (draft)
|
|
17
17
|
- .qfai/contracts/\*\*
|
|
@@ -9,9 +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-\*/
|
|
13
|
-
- .qfai/require/require-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
12
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
13
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
14
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
15
15
|
- .qfai/require/open-questions.md (if present)
|
|
16
16
|
- .qfai/specs/spec-\*/spec.md
|
|
17
17
|
- .qfai/specs/spec-\*/delta.md
|
|
@@ -12,9 +12,9 @@
|
|
|
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-\*/
|
|
16
|
-
- .qfai/require/require-\*/
|
|
17
|
-
- .qfai/require/require-\*/
|
|
15
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
16
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
17
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
18
18
|
- .qfai/require/open-questions.md (if present)
|
|
19
19
|
- .qfai/specs/spec-\*/spec.md
|
|
20
20
|
- .qfai/specs/spec-\*/delta.md
|
|
@@ -10,9 +10,9 @@
|
|
|
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-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
15
|
-
- .qfai/require/require-\*/
|
|
13
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
14
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
15
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
16
16
|
- Existing constraints and gate commands
|
|
17
17
|
|
|
18
18
|
## Deliverables (MANDATORY)
|
|
@@ -9,9 +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-\*/
|
|
13
|
-
- .qfai/require/require-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
12
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
13
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
14
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
15
15
|
- .qfai/specs/spec-\*/spec.md
|
|
16
16
|
- Evidence summaries under `.qfai/evidence/` (gitignored)
|
|
17
17
|
|
|
@@ -9,9 +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-\*/
|
|
13
|
-
- .qfai/require/require-\*/
|
|
14
|
-
- .qfai/require/require-\*/
|
|
12
|
+
- .qfai/require/require-\*/01_Sources.md
|
|
13
|
+
- .qfai/require/require-\*/03_REQ.md
|
|
14
|
+
- .qfai/require/require-\*/08_OQ.md (input gaps ledger)
|
|
15
15
|
- Discussion records under `.qfai/discuss/`
|
|
16
16
|
- .qfai/specs/spec-\*/spec.md (if available)
|
|
17
17
|
|
|
@@ -12,9 +12,9 @@ This document is the decision rule SSOT for AI and humans when answering:
|
|
|
12
12
|
|
|
13
13
|
## Canonical order (top -> down)
|
|
14
14
|
|
|
15
|
-
1. **Source registry** (`require/require-*/
|
|
16
|
-
2. **Requirement index** (`require/require-*/
|
|
17
|
-
3. **Input gaps / Open Questions** (`require/require-*/
|
|
15
|
+
1. **Source registry** (`require/require-*/01_Sources.md`)
|
|
16
|
+
2. **Requirement index** (`require/require-*/03_REQ.md`)
|
|
17
|
+
3. **Input gaps / Open Questions** (`require/require-*/08_OQ.md`)
|
|
18
18
|
4. **Shared specs** (`specs/_shared/01..04`)
|
|
19
19
|
5. **Capability slices** (`specs/spec-*/01..05` minimum)
|
|
20
20
|
6. **ATDD / TDD** (tests + code)
|
|
@@ -39,9 +39,9 @@ This document is the decision rule SSOT for AI and humans when answering:
|
|
|
39
39
|
|
|
40
40
|
## How to decompose (mechanical procedure)
|
|
41
41
|
|
|
42
|
-
1. Register source documents and assumptions in `require-*/
|
|
43
|
-
2. Extract concise requirement index entries in `require-*/
|
|
44
|
-
3. Capture missing information in `require-*/
|
|
42
|
+
1. Register source documents and assumptions in `require-*/01_Sources.md`.
|
|
43
|
+
2. Extract concise requirement index entries in `require-*/03_REQ.md`.
|
|
44
|
+
3. Capture missing information in `require-*/08_OQ.md`.
|
|
45
45
|
4. Build `_shared` layer (`Objective`, `Initiative`, `Capabilities`, `Business Flow`).
|
|
46
46
|
5. Split by capability (`1 CAP = 1 spec-XXXX`) and produce slice files.
|
|
47
47
|
6. Derive acceptance tests and implementation from the finalized slices.
|
|
@@ -50,7 +50,7 @@ This document is the decision rule SSOT for AI and humans when answering:
|
|
|
50
50
|
|
|
51
51
|
- Requirement index entry: `REQ-0003` linked to `SRC-0002`
|
|
52
52
|
- Capability mapping: `CAP-0003` in `_shared/03_Capabilities.md`
|
|
53
|
-
- Spec slice: `spec-0003/01_Spec.md` through `06_Test-
|
|
53
|
+
- Spec slice: `spec-0003/01_Spec.md` through `06_Test-Cases.md`
|
|
54
54
|
|
|
55
55
|
## Non-goals
|
|
56
56
|
|
|
@@ -50,7 +50,7 @@ Do not proceed without a declared Change Type.
|
|
|
50
50
|
1. Discussion (optional): clarify idea → requirement seed
|
|
51
51
|
2. Requirements: requirements document in `.qfai/require/`
|
|
52
52
|
3. Specification refinement (SDD): preflight + `_shared` / `spec-XXXX/01..06`
|
|
53
|
-
4. Specification planning (SDD): `
|
|
53
|
+
4. Specification planning (SDD): `spec-XXXX/10_Plan.md` (How-only)
|
|
54
54
|
5. Prototyping (optional): contract-aligned implementation skeleton
|
|
55
55
|
6. Scenario tests (ATDD): runnable scenario tests derived from `scenario.feature`
|
|
56
56
|
7. TDD: red/green/refactor loop enforcing spec + tests
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"spec_dir": [
|
|
3
|
+
"01_Spec.md",
|
|
4
|
+
"02_User-stories.md",
|
|
5
|
+
"03_Acceptance-Criteria.md",
|
|
6
|
+
"04_Business-Rules.md",
|
|
7
|
+
"05_Examples.md",
|
|
8
|
+
"06_Test-Cases.md",
|
|
9
|
+
"07_Decisions.md",
|
|
10
|
+
"08_Open-questions.md",
|
|
11
|
+
"09_delta.md"
|
|
12
|
+
],
|
|
13
|
+
"shared_dir": [
|
|
14
|
+
"01_Objective.md",
|
|
15
|
+
"02_Initiative.md",
|
|
16
|
+
"03_Capabilities.md",
|
|
17
|
+
"04_Business-Flow.md",
|
|
18
|
+
"05_Contracts.md",
|
|
19
|
+
"06_Glossary.md",
|
|
20
|
+
"07_Constraints.md",
|
|
21
|
+
"08_Decisions.md",
|
|
22
|
+
"09_Open-questions.md",
|
|
23
|
+
"10_delta.md"
|
|
24
|
+
]
|
|
25
|
+
}
|