qfai 1.7.9 → 1.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +34 -70
  2. package/assets/init/.qfai/README.md +11 -16
  3. package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +51 -0
  4. package/assets/init/.qfai/assistant/agents/architecture-reviewer.md +57 -0
  5. package/assets/init/.qfai/assistant/agents/backend-engineer.md +40 -31
  6. package/assets/init/.qfai/assistant/agents/completion-reviewer.md +48 -0
  7. package/assets/init/.qfai/assistant/agents/delivery-planner.md +52 -0
  8. package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +31 -28
  9. package/assets/init/.qfai/assistant/agents/discovery-analyst.md +50 -0
  10. package/assets/init/.qfai/assistant/agents/doc-steward.md +30 -20
  11. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +40 -31
  12. package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +58 -0
  13. package/assets/init/.qfai/assistant/agents/orchestrator.md +19 -2
  14. package/assets/init/.qfai/assistant/agents/product-experience-architect.md +59 -0
  15. package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +60 -0
  16. package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +53 -48
  17. package/assets/init/.qfai/assistant/agents/qa-strategist.md +49 -0
  18. package/assets/init/.qfai/assistant/agents/requirements-analyst.md +32 -29
  19. package/assets/init/.qfai/assistant/agents/requirements-reviewer.md +48 -0
  20. package/assets/init/.qfai/assistant/agents/solution-architect.md +59 -0
  21. package/assets/init/.qfai/assistant/agents/test-design-analyst.md +64 -0
  22. package/assets/init/.qfai/assistant/instructions/agent-selection.md +64 -50
  23. package/assets/init/.qfai/assistant/instructions/communication.md +17 -0
  24. package/assets/init/.qfai/assistant/instructions/constitution.md +36 -1
  25. package/assets/init/.qfai/assistant/instructions/drift-protocol.md +1 -1
  26. package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +20 -13
  27. package/assets/init/.qfai/assistant/instructions/workflow.md +2 -1
  28. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +32 -31
  29. package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +80 -0
  30. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +21 -15
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +95 -61
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +17 -85
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
  35. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +17 -60
  36. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +69 -2
  37. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +1 -1
  38. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
  39. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +1 -1
  40. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
  41. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
  42. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
  43. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +1 -1
  44. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +25 -16
  45. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
  46. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +9 -0
  47. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +8 -4
  48. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +11 -7
  49. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +6 -44
  50. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +29 -14
  51. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +20 -0
  52. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +45 -0
  53. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +68 -0
  54. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +68 -0
  55. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +68 -0
  56. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +41 -0
  57. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +28 -0
  58. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +56 -0
  59. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +42 -0
  60. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +44 -0
  61. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +36 -0
  62. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +65 -67
  63. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +171 -279
  64. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +91 -57
  65. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +21 -80
  66. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/import-lite.md +1 -1
  67. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +50 -0
  68. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +23 -3
  69. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +25 -17
  70. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +194 -0
  71. package/assets/init/.qfai/assistant/steering/agent-routing.yml +176 -0
  72. package/assets/init/.qfai/assistant/steering/cli-ux-guidelines.md +49 -0
  73. package/assets/init/.qfai/assistant/steering/manifest.md +44 -19
  74. package/assets/init/.qfai/assistant/steering/product.md +53 -11
  75. package/assets/init/.qfai/assistant/steering/research-first-protocol.md +58 -0
  76. package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +17 -66
  77. package/assets/init/.qfai/assistant/steering/review-profiles.yml +30 -0
  78. package/assets/init/.qfai/assistant/steering/structure.md +30 -16
  79. package/assets/init/.qfai/assistant/steering/tech.md +37 -21
  80. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +54 -0
  81. package/assets/init/.qfai/contracts/README.md +10 -4
  82. package/assets/init/.qfai/contracts/design/README.md +32 -0
  83. package/assets/init/.qfai/contracts/ui/README.md +5 -3
  84. package/assets/init/.qfai/discussion/README.md +52 -5
  85. package/assets/init/.qfai/evidence/README.md +143 -116
  86. package/assets/init/.qfai/report/README.md +1 -1
  87. package/assets/init/.qfai/review/README.md +24 -9
  88. package/assets/init/.qfai/specs/README.md +5 -2
  89. package/assets/init/root/qfai.config.yaml +13 -0
  90. package/assets/uix-rev/comparison-review.md +24 -7
  91. package/assets/uix-rev/contracts-review.md +17 -10
  92. package/assets/uix-rev/scoring-review.md +42 -6
  93. package/assets/uix-rev/strategy-review.md +13 -9
  94. package/dist/cli/index.cjs +15618 -11547
  95. package/dist/cli/index.cjs.map +1 -1
  96. package/dist/cli/index.mjs +15487 -11415
  97. package/dist/cli/index.mjs.map +1 -1
  98. package/dist/index.cjs +10486 -6080
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.cts +766 -198
  101. package/dist/index.d.ts +766 -198
  102. package/dist/index.mjs +10823 -6420
  103. package/dist/index.mjs.map +1 -1
  104. package/package.json +11 -3
  105. package/assets/init/.qfai/assistant/agents/architect-reviewer.md +0 -65
  106. package/assets/init/.qfai/assistant/agents/architect.md +0 -49
  107. package/assets/init/.qfai/assistant/agents/atdd-api-implementer.md +0 -49
  108. package/assets/init/.qfai/assistant/agents/atdd-e2e-implementer.md +0 -48
  109. package/assets/init/.qfai/assistant/agents/atdd-integration-implementer.md +0 -48
  110. package/assets/init/.qfai/assistant/agents/backend-reviewer.md +0 -66
  111. package/assets/init/.qfai/assistant/agents/code-reviewer.md +0 -67
  112. package/assets/init/.qfai/assistant/agents/contract-designer.md +0 -49
  113. package/assets/init/.qfai/assistant/agents/coverage-planner.md +0 -49
  114. package/assets/init/.qfai/assistant/agents/design-owner.md +0 -48
  115. package/assets/init/.qfai/assistant/agents/design-review-lead.md +0 -68
  116. package/assets/init/.qfai/assistant/agents/facilitator.md +0 -48
  117. package/assets/init/.qfai/assistant/agents/frontend-reviewer.md +0 -66
  118. package/assets/init/.qfai/assistant/agents/interviewer.md +0 -45
  119. package/assets/init/.qfai/assistant/agents/option-explorer.md +0 -51
  120. package/assets/init/.qfai/assistant/agents/option-reviewer.md +0 -66
  121. package/assets/init/.qfai/assistant/agents/oq-harvester.md +0 -50
  122. package/assets/init/.qfai/assistant/agents/oq-reviewer.md +0 -70
  123. package/assets/init/.qfai/assistant/agents/planner.md +0 -48
  124. package/assets/init/.qfai/assistant/agents/project-lead.md +0 -47
  125. package/assets/init/.qfai/assistant/agents/prototyping-coverage-auditor.md +0 -46
  126. package/assets/init/.qfai/assistant/agents/qa-engineer.md +0 -47
  127. package/assets/init/.qfai/assistant/agents/qa-lead.md +0 -44
  128. package/assets/init/.qfai/assistant/agents/qa-reviewer.md +0 -66
  129. package/assets/init/.qfai/assistant/agents/researcher.md +0 -47
  130. package/assets/init/.qfai/assistant/agents/reviewer.md +0 -62
  131. package/assets/init/.qfai/assistant/agents/runtime-gatekeeper.md +0 -46
  132. package/assets/init/.qfai/assistant/agents/test-case-owner.md +0 -53
  133. package/assets/init/.qfai/assistant/agents/test-engineer.md +0 -50
  134. package/assets/init/.qfai/assistant/agents/test-volume-estimator.md +0 -48
  135. package/assets/init/.qfai/assistant/agents/ui-ux-reviewer.md +0 -71
  136. package/assets/init/.qfai/assistant/agents/unit-test-scope-enforcer.md +0 -46
  137. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +0 -28
  138. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +0 -31
  139. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +0 -31
  140. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +0 -31
  141. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +0 -56
  142. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +0 -45
  143. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +0 -27
  144. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +0 -51
  145. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +0 -31
  146. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +0 -23
  147. package/assets/init/.qfai/assistant/skills/qfai-prototyping-full-harness/SKILL.md +0 -185
  148. package/assets/init/.qfai/assistant/steering/review-roster.yml +0 -128
  149. package/assets/init/.qfai/evidence/.gitignore +0 -3
  150. package/assets/init/.qfai/report/.gitignore +0 -3
  151. package/assets/init/.qfai/review/.gitignore +0 -5
package/README.md CHANGED
@@ -17,8 +17,8 @@ The agent reads the repository, produces the required artifacts, and iterates un
17
17
 
18
18
  ## Release status
19
19
 
20
- - Current package version: `1.7.7`
21
- - Release posture: v1.7.7 is the correction release that aligns the v1.7.6 remediation line before deeper prototyping work.
20
+ - Current package version: `1.7.13`
21
+ - Release posture: v1.7.13 converges init assets, validators, and docs on the canonical sidecar model.
22
22
  - Current repo note: some repo-wide `qfai validate --fail-on error` blockers still come from historical review/evidence/ATDD/TDD artifacts and are being cleaned incrementally.
23
23
 
24
24
  ## Quick start
@@ -53,12 +53,9 @@ npx qfai report
53
53
  - 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.
54
54
  - `npx qfai doctor`
55
55
  - Diagnoses configuration discovery, path resolution, glob scanning, and `validate.json` inputs before running validate/report; use `--fail-on` to enforce failures in CI.
56
- - `npx qfai prototyping --autogen-ui-fidelity --base-url <url>`
57
- - Auto-generates `uiFidelity` evidence by crawling UI routes and collecting DOM labels;
58
- writes to `.qfai/evidence/prototyping.json` (or `--evidence-out <path>`).
59
- Requires `--base-url` or `QFAI_PROTOTYPE_BASE_URL` to specify the running application URL.
60
- Use `--autogen-only` to fail when generation fails (for CI gates).
61
- Enable with `QFAI_PROTOTYPE_FIDELITY_AUTOGEN=1` as an alternative to `--autogen-ui-fidelity`.
56
+ Note: prototyping evidence (`.qfai/evidence/prototyping.json`) is produced by the AI workflow / skills
57
+ (`/qfai-prototyping` with `mode=low-cost|standard|full-harness`), not by a CLI command.
58
+ `qfai validate` consumes the resulting evidence files, including `mode.effective` and `fullHarness` metadata when present.
62
59
 
63
60
  ## ATDD annotation hard gate
64
61
 
@@ -70,43 +67,6 @@ npx qfai report
70
67
  - `tests/api/**` and `tests/e2e/**` must not use `TC` annotations.
71
68
  - `AC` annotations are not required in code; AC coverage is treated as indirect through full `TC` coverage.
72
69
 
73
- ## Prototyping uiFidelity autogen
74
-
75
- `qfai prototyping --autogen-ui-fidelity` auto-generates `uiFidelity` evidence by:
76
-
77
- 1. Extracting expected labels/actions from `contracts/ui/**` (YAML).
78
- 2. Crawling the running application routes via headless fetch + jsdom.
79
- 3. Computing label coverage (found vs. missing).
80
- 4. Heuristically evaluating `mockPaths` (route reachability + navigate targets).
81
- 5. Writing the result to `.qfai/evidence/prototyping.json`.
82
-
83
- ### Prerequisites
84
-
85
- - Labels must be rendered in the DOM (text, aria-label, placeholder, etc.).
86
- - Routes must be reachable (authentication bypass or test fixtures as needed).
87
- - `--base-url` must point to a running instance of the application.
88
-
89
- ### CI integration example
90
-
91
- ```yaml
92
- - name: Start app (background)
93
- run: npm start &
94
- env:
95
- DISABLE_AUTH: "true"
96
-
97
- - name: Wait for app
98
- run: npx wait-on http://localhost:3000
99
-
100
- - name: Run qfai prototyping autogen
101
- run: |
102
- npx qfai prototyping --autogen-ui-fidelity --base-url http://localhost:3000 --autogen-only
103
- ```
104
-
105
- ### Failure handling
106
-
107
- - If autogen fails, `uiFidelityAutogen.status=failed` is recorded in the evidence, but existing `uiFidelity` data is not removed.
108
- - `--autogen-only` causes exit code 1 on failure; without it, exit code is always 0 (safe fallback).
109
-
110
70
  ## Operating model (skills-driven workflow)
111
71
 
112
72
  QFAI assumes you operate the project primarily via prepared custom skills.
@@ -125,9 +85,9 @@ QFAI includes a small set of custom skills (stored under `.qfai/assistant/skills
125
85
  - **qfai-configure**: Analyze the repository (language, frameworks, test layout, directory structure)
126
86
  and tailor `qfai.config.yaml` accordingly (especially `testFileGlobs`).
127
87
  Run this once right after `npx qfai init`, and re-run it when the repository structure changes.
128
- - **qfai-discussion**: Run a unified structured discussion that merges discuss and require into a single 15-file discussion pack under `.qfai/discussion/discussion-<ts>/`.
88
+ - **qfai-discussion**: Run a unified structured discussion that produces and maintains the latest discussion pack as 15 required markdown files plus required prototyping.yaml under `.qfai/discussion/discussion-<ts>/`.
129
89
  - **qfai-sdd**: Unified SDD entrypoint with discussion-pack preflight guard (missing/incomplete/blocking OQ causes stop + next action guidance).
130
- - **qfai-prototyping**: Build an all-spec contract-aligned skeleton and prove runtime coverage before deep coding.
90
+ - **qfai-prototyping**: Build a contract-aligned implementation skeleton with static-first evidence by default, and escalate to full-harness only when explicitly justified.
131
91
  - **qfai-atdd**: Implement acceptance tests driven by specs/scenarios.
132
92
  - **qfai-implement**: Unified TDD micro-cycle (Red/Green/Refactor) one test at a time using `test-list.md` as the execution ledger, including ledger status updates and exception closure.
133
93
  - **qfai-verify**: Run full-scan local quality gates (`validate --fail-on error`, `report`, repo gates) and produce reviewer-approved evidence under `.qfai/evidence/`.
@@ -196,7 +156,7 @@ Operational notes.
196
156
  - Change classification (Primary/Tags) is required in `09_delta.md` and recommended in PRs. See `.qfai/assistant/instructions/change-classification.md`.
197
157
  - Verification planning is recorded in `09_delta.md` (`Verification -> Plan`) and validated in CI (`VFY-*` rules).
198
158
  - Review gate policies (required/optional layers and reviewers) are defined in `.qfai/assistant/steering/review-gate.rules.yml`.
199
- - Review roster SSOT is defined in `.qfai/assistant/steering/review-roster.yml`.
159
+ - Agent taxonomy and invocation SSOT are defined in `.qfai/assistant/steering/agent-catalog.yml`, `.qfai/assistant/steering/agent-routing.yml`, and `.qfai/assistant/steering/review-profiles.yml`.
200
160
 
201
161
  ## Configuration
202
162
 
@@ -229,6 +189,8 @@ Notes.
229
189
 
230
190
  - `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.
231
191
  - Scenario files are expected to use the Gherkin extension `*.feature` (not `*.md`).
192
+ - `prototyping.calibration` in `qfai.config.yaml` connects full-harness scoring thresholds to the report and validator.
193
+ - Observability modules (`src/core/observability/`) exist as foundation code but are **not integrated into blocking validation** in v1.7.13. They are reserved for future operational instrumentation.
232
194
 
233
195
  ## Specifications and contracts (SDD)
234
196
 
@@ -329,18 +291,24 @@ Typical customizations.
329
291
  │ ├── assistant
330
292
  │ │ ├── agents
331
293
  │ │ │ ├── README.md
332
- │ │ │ ├── architect.md
294
+ │ │ │ ├── acceptance-test-engineer.md
295
+ │ │ │ ├── architecture-reviewer.md
333
296
  │ │ │ ├── backend-engineer.md
334
- │ │ │ ├── code-reviewer.md
335
- │ │ │ ├── contract-designer.md
297
+ │ │ │ ├── completion-reviewer.md
298
+ │ │ │ ├── delivery-planner.md
336
299
  │ │ │ ├── devops-ci-engineer.md
337
- │ │ │ ├── facilitator.md
300
+ │ │ │ ├── discovery-analyst.md
338
301
  │ │ │ ├── frontend-engineer.md
339
- │ │ │ ├── interviewer.md
340
- │ │ │ ├── planner.md
341
- │ │ │ ├── qa-engineer.md
302
+ │ │ │ ├── implementation-reviewer.md
303
+ │ │ │ ├── orchestrator.md
304
+ │ │ │ ├── product-experience-architect.md
305
+ │ │ │ ├── product-surface-reviewer.md
306
+ │ │ │ ├── qa-gatekeeper.md
307
+ │ │ │ ├── qa-strategist.md
342
308
  │ │ │ ├── requirements-analyst.md
343
- │ │ │ └── test-engineer.md
309
+ │ │ │ ├── requirements-reviewer.md
310
+ │ │ │ ├── solution-architect.md
311
+ │ │ │ └── test-design-analyst.md
344
312
  │ │ ├── instructions
345
313
  │ │ │ ├── README.md
346
314
  │ │ │ ├── agent-selection.md
@@ -372,18 +340,22 @@ Typical customizations.
372
340
  │ │ │ └── README.md
373
341
  │ │ ├── steering
374
342
  │ │ │ ├── README.md
343
+ │ │ │ ├── agent-catalog.yml
344
+ │ │ │ ├── agent-routing.yml
375
345
  │ │ │ ├── review-gate.rules.yml
376
- │ │ │ ├── review-roster.yml
346
+ │ │ │ ├── review-profiles.yml
377
347
  │ │ │ ├── product.md
378
348
  │ │ │ ├── structure.md
379
349
  │ │ │ └── tech.md
380
350
  │ │ └── README.md
381
- │ ├── discuss
351
+ │ ├── discussion
382
352
  │ │ ├── README.md
383
- │ │ └── discuss-20260215205220203
353
+ │ │ └── discussion-YYYYMMDDhhmmssSSS
384
354
  │ │ ├── 01_Context.md
385
355
  │ │ ├── ...
386
- │ │ └── 09_delta.md
356
+ │ │ ├── 14_Review-Request.md
357
+ │ │ ├── 99_delta.md
358
+ │ │ └── prototyping.yaml
387
359
  │ ├── contracts
388
360
  │ │ ├── api
389
361
  │ │ │ └── README.md
@@ -400,14 +372,6 @@ Typical customizations.
400
372
  │ │ ├── validator.json
401
373
  │ │ ├── traceability.json
402
374
  │ │ └── summary.md
403
- │ ├── require
404
- │ │ ├── README.md
405
- │ │ └── require-20260215205220203
406
- │ │ ├── 01_Sources.md
407
- │ │ ├── 02_Scope.md
408
- │ │ ├── 03_REQ.md
409
- │ │ ├── ...
410
- │ │ └── 09_delta.md
411
375
  │ ├── review
412
376
  │ │ ├── .gitignore
413
377
  │ │ └── README.md
@@ -420,8 +384,8 @@ Typical customizations.
420
384
  Integration wrappers are also generated for immediate use:
421
385
 
422
386
  - Agents/Codex VS Code: `.agents/skills/**`
423
- - Claude Code: `.claude/commands/**`, `.claude/agents/**`
424
- - GitHub Copilot: `.github/prompts/**`, `.github/agents/**`
387
+ - Claude Code: `.claude/skills/**`, `.claude/agents/**`
388
+ - GitHub Copilot: `.github/skills/**`, `.github/agents/**`
425
389
  - Codex: `.codex/skills/**`
426
390
 
427
391
  ## Agent integrations
@@ -28,8 +28,15 @@ flowchart TD
28
28
  ```text
29
29
  .qfai/
30
30
  ├── README.md
31
- ├── discuss/
32
- └── README.md
31
+ ├── discussion/
32
+ ├── README.md
33
+ │ └── discussion-YYYYMMDDhhmmssSSS/
34
+ │ ├── 01_Context.md
35
+ │ ├── 02_Inception-Deck.md
36
+ │ ├── ...
37
+ │ ├── 14_Review-Request.md
38
+ │ ├── 99_delta.md
39
+ │ └── prototyping.yaml
33
40
  ├── assistant/
34
41
  │ ├── skills/ # canonical skills (SSOT)
35
42
  │ ├── skills.local/ # project-specific overrides
@@ -37,18 +44,6 @@ flowchart TD
37
44
  │ ├── templates/ # shared assistant templates (RCP footer SSOT)
38
45
  │ ├── steering/ # project steering inputs and review roster
39
46
  │ └── instructions/ # workflow and guardrail docs
40
- ├── require/
41
- │ ├── README.md
42
- │ └── require-YYYYMMDDhhmmssSSS/
43
- │ ├── 01_Sources.md
44
- │ ├── 02_Scope.md
45
- │ ├── 03_REQ.md
46
- │ ├── 04_NFR.md
47
- │ ├── 05_Glossary.md
48
- │ ├── 06_Constraints.md
49
- │ ├── 07_Policy.md
50
- │ ├── 08_OQ.md
51
- │ └── 09_delta.md
52
47
  ├── report/
53
48
  │ ├── .gitignore
54
49
  │ └── README.md
@@ -104,7 +99,7 @@ It is useful for local review but should not pollute version control.
104
99
 
105
100
  ### R5. init is an empty scaffold
106
101
 
107
- - `qfai init` creates README-centric directories for `discuss`, `require`, `report`, `contracts`, and `specs`.
102
+ - `qfai init` creates README-centric directories for `discussion`, `report`, `contracts`, and `specs`.
108
103
  - Sample artifacts are provided under skill templates (for example, `assistant/skills/qfai-sdd/templates/contracts/`).
109
104
 
110
105
  ## Skills (SSOT)
@@ -114,7 +109,7 @@ Invoke canonical skills from this tree directly.
114
109
 
115
110
  ## Where to look next
116
111
 
117
- - Requirements format: `require/README.md`
112
+ - Discussion format: `discussion/README.md`
118
113
  - Review gate format: `review/README.md`
119
114
  - Contracts format: `contracts/README.md` and child READMEs
120
115
  - Layered spec format: `specs/README.md`
@@ -0,0 +1,51 @@
1
+ # Acceptance Test Engineer
2
+
3
+ ## Mission
4
+
5
+ - Design and implement executable acceptance tests across E2E, API, and integration layers.
6
+
7
+ ## Domain Responsibilities
8
+
9
+ - Implement E2E coverage for required user stories.
10
+ - Implement API coverage for declared `CON-API-*` contracts.
11
+ - Implement integration coverage for required `TC-*` behavior.
12
+ - Keep test-layer responsibilities separated while coordinating shared fixtures and evidence.
13
+
14
+ ## Inputs you must read
15
+
16
+ - .qfai/assistant/instructions/\*
17
+ - .qfai/assistant/steering/\*
18
+ - .qfai/assistant/steering/test-layers.md
19
+ - .qfai/specs/spec-\*/09_delta.md
20
+ - .qfai/specs/spec-\*/02_User-stories.md
21
+ - .qfai/specs/spec-\*/06_Test-Cases.md
22
+ - .qfai/contracts/api/\*\*
23
+
24
+ ## Deliverables
25
+
26
+ - Acceptance test plan and implemented coverage
27
+ - Mapping from US / TC / CON-API to test assets
28
+ - Execution proof and evidence summary
29
+ - Gaps and follow-up actions
30
+
31
+ ## Stop conditions
32
+
33
+ - Governing specs, routing rules, or required source artifacts are missing.
34
+ - The requested output belongs to another specialist's ownership without an explicit handoff.
35
+ - The task would bypass required validation or reviewer gates.
36
+
37
+ ## Sign-off
38
+
39
+ - [ ] Deliverables are complete
40
+ - [ ] Ownership boundaries were respected
41
+ - [ ] Required gates and follow-up evidence are recorded
42
+
43
+ ## When to use
44
+
45
+ - Use when `agent-routing.yml` assigns this domain to the current phase.
46
+ - Use when the task needs this specialist's owned artifacts or decisions.
47
+
48
+ ## When not to use
49
+
50
+ - Do not use when the task is primarily review-only and needs a reviewer instead.
51
+ - Do not use when another specialist owns the main artifact or decision surface.
@@ -0,0 +1,57 @@
1
+ # Architecture Reviewer
2
+
3
+ ## Mission
4
+
5
+ - Review architecture and contract decisions for correctness, consistency, and rejected-option safety.
6
+
7
+ ## Domain Responsibilities
8
+
9
+ - Audit architecture boundaries, trade-offs, and technical consistency.
10
+ - Audit contract decisions across UI, API, and DB surfaces.
11
+ - Block reintroduction of rejected architecture options without RE-OPEN.
12
+ - Review design against SOLID, KISS, YAGNI, DRY, separation of concerns, coupling/cohesion, and composition-over-inheritance where relevant.
13
+ - Check that extensions are justified by current requirements and do not introduce speculative abstraction or over-engineering.
14
+ - Verify contracts, module boundaries, and public interfaces obey least astonishment and design-by-contract expectations.
15
+
16
+ ## Inputs you must read
17
+
18
+ - .qfai/assistant/instructions/\*
19
+ - .qfai/assistant/instructions/drift-protocol.md
20
+ - .qfai/assistant/steering/\*
21
+ - .qfai/assistant/steering/test-layers.md
22
+ - .qfai/specs/spec-\*/09_delta.md
23
+ - .github/instructions/code-review.instructions.md
24
+ - .github/instructions/principles.instructions.md
25
+ - .instruction/00_universal/development-principles-checklist.md
26
+ - .instruction/01_specialties/design.md
27
+ - Architecture decisions, diagrams, and `.qfai/contracts/**`
28
+
29
+ ## Deliverables
30
+
31
+ - Review decision with findings
32
+ - Required changes to architecture or contracts
33
+ - Evidence summary and unresolved technical risks
34
+ - Explicit trade-off notes when principles conflict (for example KISS vs OCP, DRY vs YAGNI)
35
+
36
+ ## Stop conditions
37
+
38
+ - Required evidence, governing specs, or target artifacts are missing.
39
+ - The request requires implementation or file editing instead of independent review.
40
+ - The issue falls outside this review domain and must be rerouted to another specialist first.
41
+ - The design direction depends on hypothetical future use cases rather than accepted scope.
42
+
43
+ ## Sign-off
44
+
45
+ - [ ] Review verdict is explicit
46
+ - [ ] Findings cite concrete artifacts or evidence
47
+ - [ ] Required gates and residual risks are recorded
48
+
49
+ ## When to use
50
+
51
+ - Use when this review domain is required by `agent-routing.yml` or explicitly requested.
52
+ - Use when an independent specialist check is needed before completion.
53
+
54
+ ## When not to use
55
+
56
+ - Do not use as a substitute for implementation or planning work.
57
+ - Do not use when another reviewer domain is the primary concern.
@@ -2,49 +2,58 @@
2
2
 
3
3
  ## Mission
4
4
 
5
- - Implement backend behavior aligned with specs and contracts.
5
+ - Implement backend behavior aligned with specs, contracts, and operational constraints.
6
+
7
+ ## Domain Responsibilities
8
+
9
+ - Build API, domain, persistence, and service boundary behavior.
10
+ - Respect API and DB contracts plus reliability expectations.
11
+ - Coordinate with test and CI agents on runtime and integration implications.
12
+ - Implement with SOLID, KISS, YAGNI, and DRY: prefer simple contracts, explicit invariants, and minimal moving parts over speculative extensibility.
13
+ - Keep business logic, transport, persistence, and infrastructure concerns separated to reduce coupling and surprise.
14
+ - Apply fail-fast validation, defensive programming, and least-privilege thinking to inputs, permissions, data access, and operational behavior.
6
15
 
7
16
  ## Inputs you must read
8
17
 
9
18
  - .qfai/assistant/instructions/\*
10
19
  - .qfai/assistant/steering/\*
11
- - .qfai/assistant/steering/test-layers.md (US/TC/CON-API hard obligations)
12
- - .qfai/specs/spec-\*/09_delta.md (Decision Records; check rejected)
20
+ - .qfai/assistant/steering/test-layers.md
21
+ - .qfai/specs/spec-\*/09_delta.md
13
22
  - .qfai/specs/spec-\*/01_Spec.md
14
- - Optional legacy input: `.qfai/specs/spec-*/scenario.feature`
23
+ - .github/instructions/principles.instructions.md
24
+ - .instruction/00_universal/development-principles-checklist.md
25
+ - .instruction/01_specialties/implementation.md
26
+ - .instruction/01_specialties/design.md
15
27
  - .qfai/contracts/api/\*\*
16
28
  - .qfai/contracts/db/\*\*
17
29
 
18
- ## Deliverables (MANDATORY)
30
+ ## Deliverables
19
31
 
20
- - Decision Records referenced (DR-IDs) + rejected check (or RE-OPEN request)
21
- - Implementation mapping (contract/spec obligations -> file/function)
22
- - Backend code changes (minimal, traceable)
23
- - Validation gate evidence (`qfai validate --fail-on error`) for touched scope
24
- - Execution proof (commands + key outputs)
25
- - Evidence summary for `.qfai/evidence/` (gitignored; do not commit)
32
+ - Backend implementation summary
33
+ - Changed files and affected contracts
34
+ - Local verification notes
35
+ - Evidence summary for `.qfai/evidence/`
36
+ - Notes on invariants, validation, and why added abstractions/configuration are necessary now
26
37
 
27
- ## Stop conditions (Blockers)
38
+ ## Stop conditions
28
39
 
29
- - Rejected option would be reintroduced without RE-OPEN DR
30
- - Required contracts/specs are missing or ambiguous
31
- - Evidence is missing or incomplete
32
- - Tests or quality gates fail and cannot be made green
33
- - Scope ambiguity prevents a safe decision
40
+ - Governing specs, routing rules, or required source artifacts are missing.
41
+ - The requested output belongs to another specialist's ownership without an explicit handoff.
42
+ - The task would bypass required validation or reviewer gates.
43
+ - The requested change would introduce unnecessary indirection, unused extension points, or unverifiable operational complexity.
34
44
 
35
- ## Sign-off checklist (Check Last)
45
+ ## Sign-off
36
46
 
37
47
  - [ ] Deliverables are complete
38
- - [ ] Evidence is present (gitignored)
39
- - [ ] No silent gaps remain
40
- - [ ] Handoff includes actionable next steps
41
-
42
- ## Output format (structured)
43
-
44
- - Decision Records (DR-IDs) / rejected check
45
- - Findings
46
- - Decisions
47
- - Proposed edits (files/sections)
48
- - Evidence summary
49
- - Open Questions / Risks
50
- - Confidence (High/Medium/Low + reason)
48
+ - [ ] Ownership boundaries were respected
49
+ - [ ] Required gates and follow-up evidence are recorded
50
+
51
+ ## When to use
52
+
53
+ - Use when `agent-routing.yml` assigns this domain to the current phase.
54
+ - Use when the task needs this specialist's owned artifacts or decisions.
55
+
56
+ ## When not to use
57
+
58
+ - Do not use when the task is primarily review-only and needs a reviewer instead.
59
+ - Do not use when another specialist owns the main artifact or decision surface.
@@ -0,0 +1,48 @@
1
+ # Completion Reviewer
2
+
3
+ ## Mission
4
+
5
+ - Independently audit Completion Contract, prompt DoD, and drift-protocol compliance.
6
+
7
+ ## Domain Responsibilities
8
+
9
+ - Return pass/fail only with actionable rework instructions.
10
+ - Enforce validate evidence, required coverage obligations, and no self-approval.
11
+ - Verify rejected options are not reintroduced without RE-OPEN.
12
+
13
+ ## Inputs you must read
14
+
15
+ - .qfai/assistant/instructions/\*
16
+ - .qfai/assistant/instructions/drift-protocol.md
17
+ - .qfai/assistant/steering/\*
18
+ - .qfai/assistant/steering/test-layers.md
19
+ - .qfai/specs/spec-\*/09_delta.md
20
+ - Validation evidence and gate results
21
+
22
+ ## Deliverables
23
+
24
+ - PASS or FAIL with concrete rework list
25
+ - Evidence summary and gaps
26
+ - Open risks or blocking assumptions
27
+
28
+ ## Stop conditions
29
+
30
+ - Required evidence, governing specs, or target artifacts are missing.
31
+ - The request requires implementation or file editing instead of independent review.
32
+ - The issue falls outside this review domain and must be rerouted to another specialist first.
33
+
34
+ ## Sign-off
35
+
36
+ - [ ] Review verdict is explicit
37
+ - [ ] Findings cite concrete artifacts or evidence
38
+ - [ ] Required gates and residual risks are recorded
39
+
40
+ ## When to use
41
+
42
+ - Use when this review domain is required by `agent-routing.yml` or explicitly requested.
43
+ - Use when an independent specialist check is needed before completion.
44
+
45
+ ## When not to use
46
+
47
+ - Do not use as a substitute for implementation or planning work.
48
+ - Do not use when another reviewer domain is the primary concern.
@@ -0,0 +1,52 @@
1
+ # Delivery Planner
2
+
3
+ ## Mission
4
+
5
+ - Create phased execution plans with risks, dependencies, ownership, and DoD.
6
+ - Own delivery sequencing, priority decisions, and parallelization policy.
7
+
8
+ ## Domain Responsibilities
9
+
10
+ - Decompose work into phases and checkpoints.
11
+ - Define parallel-safe slices and post-merge verification conditions.
12
+ - Own schedule, priority, and risk trade-offs across roles.
13
+ - Produce actionable work orders for workers and reviewers.
14
+
15
+ ## Inputs you must read
16
+
17
+ - .qfai/assistant/instructions/\*
18
+ - .qfai/assistant/steering/\*
19
+ - .qfai/specs/spec-\*/09_delta.md
20
+ - .qfai/specs/spec-\*/01_Spec.md
21
+ - .qfai/discussion/discussion-\*/04_Sources.md
22
+ - .qfai/discussion/discussion-\*/06_REQ.md
23
+ - .qfai/discussion/discussion-\*/11_OQ-Register.md
24
+
25
+ ## Deliverables
26
+
27
+ - Phased plan with owners, dependencies, and risks
28
+ - Explicit DoD and gate commands
29
+ - Parallelization decision and rerun policy
30
+ - Evidence summary for `.qfai/evidence/`
31
+
32
+ ## Stop conditions
33
+
34
+ - Governing specs, routing rules, or required source artifacts are missing.
35
+ - The requested output belongs to another specialist's ownership without an explicit handoff.
36
+ - The task would bypass required validation or reviewer gates.
37
+
38
+ ## Sign-off
39
+
40
+ - [ ] Deliverables are complete
41
+ - [ ] Ownership boundaries were respected
42
+ - [ ] Required gates and follow-up evidence are recorded
43
+
44
+ ## When to use
45
+
46
+ - Use when `agent-routing.yml` assigns this domain to the current phase.
47
+ - Use when the task needs this specialist's owned artifacts or decisions.
48
+
49
+ ## When not to use
50
+
51
+ - Do not use when the task is primarily review-only and needs a reviewer instead.
52
+ - Do not use when another specialist owns the main artifact or decision surface.
@@ -2,44 +2,47 @@
2
2
 
3
3
  ## Mission
4
4
 
5
- - Run quality gates and provide reproducible CI evidence.
5
+ - Run quality gates and produce reproducible CI and runtime evidence.
6
+
7
+ ## Domain Responsibilities
8
+
9
+ - Execute build, lint, typecheck, test, validate, and report workflows.
10
+ - Record commands, key outputs, environment assumptions, and reproducibility notes.
11
+ - Surface CI/runtime blockers with minimal ambiguity.
6
12
 
7
13
  ## Inputs you must read
8
14
 
9
15
  - .qfai/assistant/instructions/\*
10
16
  - .qfai/assistant/steering/\*
11
- - .qfai/specs/spec-\*/09_delta.md (Decision Records; check rejected)
12
- - package.json scripts and CI config
17
+ - .qfai/specs/spec-\*/09_delta.md
18
+ - package.json scripts, CI config, and runbooks
13
19
  - Evidence summaries under `.qfai/evidence/`
14
20
 
15
- ## Deliverables (MANDATORY)
21
+ ## Deliverables
16
22
 
17
- - Decision Records referenced (DR-IDs) + rejected check (or RE-OPEN request)
18
- - Exact commands executed and key outputs
19
- - Reproducibility notes (env, versions, prerequisites)
20
- - Gate status summary (PASS/FAIL)
21
- - Evidence summary for `.qfai/evidence/` (gitignored; do not commit)
23
+ - Executed commands and key outputs
24
+ - CI / runtime evidence summary
25
+ - Reproducibility notes
26
+ - Blockers and required follow-up
22
27
 
23
- ## Stop conditions (Blockers)
28
+ ## Stop conditions
24
29
 
25
- - Rejected option would be reintroduced without RE-OPEN DR
26
- - Cannot run end-to-end locally
27
- - Missing environment setup instructions
28
- - Evidence is missing or incomplete
30
+ - Governing specs, routing rules, or required source artifacts are missing.
31
+ - The requested output belongs to another specialist's ownership without an explicit handoff.
32
+ - The task would bypass required validation or reviewer gates.
29
33
 
30
- ## Sign-off checklist (Check Last)
34
+ ## Sign-off
31
35
 
32
36
  - [ ] Deliverables are complete
33
- - [ ] Evidence is present (gitignored)
34
- - [ ] No silent gaps remain
35
- - [ ] Gate results are explicit
36
-
37
- ## Output format (structured)
38
-
39
- - Decision Records (DR-IDs) / rejected check
40
- - Commands executed
41
- - Gate results
42
- - Evidence summary
43
- - Risks and blockers
44
- - Open Questions
45
- - Confidence (High/Medium/Low + reason)
37
+ - [ ] Ownership boundaries were respected
38
+ - [ ] Required gates and follow-up evidence are recorded
39
+
40
+ ## When to use
41
+
42
+ - Use when `agent-routing.yml` assigns this domain to the current phase.
43
+ - Use when the task needs this specialist's owned artifacts or decisions.
44
+
45
+ ## When not to use
46
+
47
+ - Do not use when the task is primarily review-only and needs a reviewer instead.
48
+ - Do not use when another specialist owns the main artifact or decision surface.