qfai 1.4.18 → 1.4.23
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 +40 -36
- 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-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 +49 -43
- 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/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-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 +20 -21
- package/dist/cli/index.cjs +2255 -1394
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +2257 -1396
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +2184 -1726
- 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 +2266 -1808
- 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.23)
|
|
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,11 +233,11 @@ 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.
|
|
240
|
+
QFAI v1.4.23 generates `.github/**` only for Copilot integration wrappers
|
|
246
241
|
(`.github/prompts`, `.github/agents`).
|
|
247
242
|
It does not generate GitHub Actions workflows.
|
|
248
243
|
Configure CI in your own platform and run:
|
|
@@ -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
|
|
|
@@ -312,9 +307,9 @@ Typical customizations.
|
|
|
312
307
|
│ │ │ │ └── SKILL.md
|
|
313
308
|
│ │ │ ├── qfai-sdd
|
|
314
309
|
│ │ │ │ └── SKILL.md
|
|
315
|
-
│ │ │ ├── qfai-sdd-refinement
|
|
310
|
+
│ │ │ ├── qfai-sdd-refinement (deprecated wrapper)
|
|
316
311
|
│ │ │ │ └── SKILL.md
|
|
317
|
-
│ │ │ ├── qfai-sdd-planning
|
|
312
|
+
│ │ │ ├── qfai-sdd-planning (deprecated wrapper)
|
|
318
313
|
│ │ │ │ └── SKILL.md
|
|
319
314
|
│ │ │ ├── qfai-atdd
|
|
320
315
|
│ │ │ │ └── SKILL.md
|
|
@@ -328,9 +323,12 @@ Typical customizations.
|
|
|
328
323
|
│ │ │ └── SKILL.md
|
|
329
324
|
│ │ ├── skills.local
|
|
330
325
|
│ │ │ └── README.md
|
|
326
|
+
│ │ ├── templates
|
|
327
|
+
│ │ │ └── rcp_footer.md
|
|
331
328
|
│ │ ├── steering
|
|
332
329
|
│ │ │ ├── README.md
|
|
333
330
|
│ │ │ ├── review-gate.rules.yml
|
|
331
|
+
│ │ │ ├── review-roster.yml
|
|
334
332
|
│ │ │ ├── product.md
|
|
335
333
|
│ │ │ ├── structure.md
|
|
336
334
|
│ │ │ └── tech.md
|
|
@@ -338,9 +336,9 @@ Typical customizations.
|
|
|
338
336
|
│ ├── discuss
|
|
339
337
|
│ │ ├── README.md
|
|
340
338
|
│ │ └── discuss-20260215205220203
|
|
341
|
-
│ │ ├──
|
|
339
|
+
│ │ ├── 01_Context.md
|
|
342
340
|
│ │ ├── ...
|
|
343
|
-
│ │ └──
|
|
341
|
+
│ │ └── 09_delta.md
|
|
344
342
|
│ ├── contracts
|
|
345
343
|
│ │ ├── api
|
|
346
344
|
│ │ │ └── README.md
|
|
@@ -350,16 +348,22 @@ Typical customizations.
|
|
|
350
348
|
│ │ │ └── README.md
|
|
351
349
|
│ │ └── README.md
|
|
352
350
|
│ ├── report
|
|
353
|
-
│ │
|
|
351
|
+
│ │ ├── .gitignore
|
|
352
|
+
│ │ ├── README.md
|
|
353
|
+
│ │ └── run-20260218123456789
|
|
354
|
+
│ │ ├── run.json
|
|
355
|
+
│ │ ├── validator.json
|
|
356
|
+
│ │ ├── traceability.json
|
|
357
|
+
│ │ └── summary.md
|
|
354
358
|
│ ├── require
|
|
355
359
|
│ │ ├── README.md
|
|
356
360
|
│ │ └── require-20260215205220203
|
|
357
|
-
│ │ ├──
|
|
358
|
-
│ │ ├──
|
|
359
|
-
│ │
|
|
361
|
+
│ │ ├── 01_Sources.md
|
|
362
|
+
│ │ ├── 02_Scope.md
|
|
363
|
+
│ │ ├── 03_REQ.md
|
|
364
|
+
│ │ ├── ...
|
|
365
|
+
│ │ └── 09_delta.md
|
|
360
366
|
│ ├── review
|
|
361
|
-
│ │ └── README.md
|
|
362
|
-
│ ├── status
|
|
363
367
|
│ │ ├── .gitignore
|
|
364
368
|
│ │ └── README.md
|
|
365
369
|
│ ├── specs
|
|
@@ -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
|
+
}
|