qfai 1.9.2 → 1.10.0
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 -2
- package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +1 -0
- package/assets/init/.qfai/assistant/agents/backend-engineer.md +1 -0
- package/assets/init/.qfai/assistant/agents/completion-reviewer.md +13 -2
- package/assets/init/.qfai/assistant/agents/delivery-planner.md +9 -0
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +1 -0
- package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +6 -0
- package/assets/init/.qfai/assistant/agents/orchestrator.md +2 -2
- package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +96 -3
- package/assets/init/.qfai/assistant/agents/test-design-analyst.md +20 -3
- package/assets/init/.qfai/assistant/catalog/cli-ux-guidelines.md +2 -2
- package/assets/init/.qfai/assistant/catalog/spec_required_files.json +2 -1
- package/assets/init/.qfai/assistant/catalog/test-layers.md +355 -14
- package/assets/init/.qfai/assistant/catalog/worklog-entry.schema.md +165 -0
- package/assets/init/.qfai/assistant/constitution/communication.md +1 -1
- package/assets/init/.qfai/assistant/constitution/drift-protocol.md +304 -10
- package/assets/init/.qfai/assistant/constitution/quality.md +35 -5
- package/assets/init/.qfai/assistant/constitution/requirements-decomposition.md +37 -0
- package/assets/init/.qfai/assistant/constitution/shared-skill-delegation-baseline.md +244 -8
- package/assets/init/.qfai/assistant/constitution/shared-skill-operating-baseline.md +122 -5
- package/assets/init/.qfai/assistant/constitution/workflow.md +53 -7
- package/assets/init/.qfai/assistant/manifest/agent-catalog.yml +316 -945
- package/assets/init/.qfai/assistant/manifest/agent-routing.yml +50 -4
- package/assets/init/.qfai/assistant/manifest/review-profiles.yml +9 -0
- package/assets/init/.qfai/assistant/process/migrations/v1.4.27-atdd-alignment.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +61 -21
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +23 -4
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +15 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +8 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +17 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +10 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +4 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +17 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +11 -3
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/05_Scope.md +5 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +7 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +14 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +16 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +9 -6
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +3 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +4 -2
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +250 -128
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/change-request-reset.md +93 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/checkpoint-verification.md +106 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/cross-spec-ownership.md +73 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/evidence-revision.md +77 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/execution-ledger.md +303 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/final-checklist.md +19 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/finding-classification.md +49 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/ledger-preconditions.md +55 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/oracle-strength.md +81 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/parallelization-policy.md +235 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/red-admissibility.md +91 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/red-not-observable.md +70 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/relevant-test-suite.md +87 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/review-artifact-layout.md +31 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/round-evidence.md +102 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/selector-granularity.md +24 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/volume-policy.md +149 -0
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +35 -18
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/evidence-requirements.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/generator-prompt.md +106 -7
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/handoff.md +40 -11
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/iteration-loop.md +48 -1
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/templates/DESIGN.md.sample +6 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +82 -22
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/contract-artifact-rules.md +148 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +10 -4
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +4 -2
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +18 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +44 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-triage.md +60 -7
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +157 -5
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/change-request.md +125 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/db-contract.sample.sql +6 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/sdd-spec.md +92 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/01_Objective.md +27 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/02_Initiative.md +30 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/05_Contracts.md +16 -6
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/06_Glossary.md +19 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/07_Constraints.md +25 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/08_Decisions.md +22 -2
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +37 -10
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/02_User-stories.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/03_Acceptance-Criteria.md +19 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/04_Business-Rules.md +32 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +56 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/07_Decisions.md +29 -2
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/10_Plan.md +41 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/16_Traceability-ledger.md +58 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/tdd/test-list.md +56 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +57 -102
- package/assets/init/.qfai/assistant/skills/qfai-verify/references/articles.md +24 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/references/context-load.md +22 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/references/verify-output-contract.md +48 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/templates/verify-evidence.md +48 -0
- package/assets/init/.qfai/assistant/skills/web-research/SKILL.md +25 -7
- package/assets/init/.qfai/waivers.yml +11 -5
- package/assets/init/root/DESIGN.md +6 -0
- package/assets/init/root/qfai.config.yaml +15 -12
- package/dist/cli/index.cjs +11023 -7139
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +10963 -7080
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +8782 -5257
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +280 -8
- package/dist/index.d.ts +280 -8
- package/dist/index.mjs +11776 -8264
- package/dist/index.mjs.map +1 -1
- package/package.json +18 -19
|
@@ -20,6 +20,10 @@ QFAI Skill Body (SSOT)
|
|
|
20
20
|
|
|
21
21
|
## Sub-agent Delegation (MANDATORY)
|
|
22
22
|
|
|
23
|
+
Follow `.qfai/assistant/constitution/shared-skill-delegation-baseline.md`.
|
|
24
|
+
The sections below add only pipeline-specific detail; where they and the
|
|
25
|
+
baseline overlap, the baseline governs.
|
|
26
|
+
|
|
23
27
|
### Orchestrator Protocol (MUST)
|
|
24
28
|
|
|
25
29
|
- Orchestrator may only create work orders, delegate tasks, integrate outputs, and present results.
|
|
@@ -38,19 +42,33 @@ QFAI Skill Body (SSOT)
|
|
|
38
42
|
|
|
39
43
|
## Work Orders Summary
|
|
40
44
|
|
|
41
|
-
Every major research artifact
|
|
45
|
+
Every major research artifact MUST include a `## Work Orders Summary` table.
|
|
46
|
+
Use the shared schema from `shared-skill-delegation-baseline.md` — including the
|
|
47
|
+
`Agent instance` column, without which an author-reviewed-their-own-work
|
|
48
|
+
collision cannot be detected from the evidence afterwards. Typical pipeline
|
|
49
|
+
steps:
|
|
42
50
|
|
|
43
|
-
| Step | Role (sub-agent) | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE) |
|
|
44
|
-
| ---- | ---------------- | -------------------------- | --------------------- | ----------------- |
|
|
45
|
-
| 1 | Researcher | Discover candidate sources | User request + config | Candidate list | PASS/REVISE
|
|
46
|
-
| 2 | Analyst | Prepare research notes | Candidate URLs | Research notes | PASS/REVISE
|
|
47
|
-
| 3 | Reviewer | Review evidence and claims | Notes + sources | Approval decision | PASS/REVISE
|
|
51
|
+
| Step | Role (sub-agent) | Agent instance | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE/PENDING) |
|
|
52
|
+
| ---- | ---------------- | --------------- | -------------------------- | --------------------- | ----------------- | ---------------------------- |
|
|
53
|
+
| 1 | Researcher | `<instance id>` | Discover candidate sources | User request + config | Candidate list | PASS/REVISE |
|
|
54
|
+
| 2 | Analyst | `<instance id>` | Prepare research notes | Candidate URLs | Research notes | PASS/REVISE |
|
|
55
|
+
| 3 | Reviewer | `<instance id>` | Review evidence and claims | Notes + sources | Approval decision | PASS/REVISE |
|
|
48
56
|
|
|
49
57
|
### Reviewer Gate (MUST)
|
|
50
58
|
|
|
51
|
-
- Final completion gate MUST be performed by an independent
|
|
59
|
+
- Final completion gate MUST be performed by an independent reviewer, as defined
|
|
60
|
+
normatively in `shared-skill-delegation-baseline.md#definition-independent-reviewer-normative`.
|
|
61
|
+
Being routed as `Reviewer` does not by itself make an agent independent: an agent
|
|
62
|
+
that drafted or edited any artifact under review is disqualified for the whole run,
|
|
63
|
+
and MUST hand the same evidence set to a non-participating reviewer instead of
|
|
64
|
+
returning `PASS`.
|
|
65
|
+
- Reviewer responses use the response template in
|
|
66
|
+
`shared-skill-delegation-baseline.md#reviewer-response-template`, including the
|
|
67
|
+
REQUIRED `Authored/edited under review:` line. A response omitting that line is
|
|
68
|
+
not a valid verdict; anything other than `none` cannot be a `PASS`.
|
|
52
69
|
- Reviewer checks the Drift Protocol, verifies alignment with `test-layers.md`, and treats ratios as signals, not gates.
|
|
53
70
|
- Reviewer returns only `PASS` or `REVISE` with a concrete fix proposal when returning `REVISE`.
|
|
71
|
+
- A gate that could not be run at all is recorded as `PENDING` in the Work Orders Summary. `PENDING` never counts as `PASS`.
|
|
54
72
|
|
|
55
73
|
## CRITICAL CONSTRAINTS (Read First)
|
|
56
74
|
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
waivers: []
|
|
3
|
-
#
|
|
3
|
+
# Write `rule:` exactly as the finding's `code` appears in
|
|
4
|
+
# `.qfai/report/validate.json` and in the CLI output — `QFAI-ATDD-112`,
|
|
5
|
+
# `TDDLIST_UNKNOWN_LEVEL`, `E_TC_ORPHAN`. Do not strip the `QFAI-` prefix; the
|
|
6
|
+
# stripped form is kept working only for older waiver files.
|
|
7
|
+
#
|
|
8
|
+
# Waivers apply to `warning` and `info` findings only. A waiver aimed at an
|
|
9
|
+
# `error` is a configuration error and fails the run.
|
|
10
|
+
#
|
|
11
|
+
# Example — a project that deliberately ships its own `Level` vocabulary:
|
|
4
12
|
# - id: WVR-20260207-01
|
|
5
|
-
# rule:
|
|
13
|
+
# rule: TDDLIST_UNKNOWN_LEVEL
|
|
6
14
|
# scope:
|
|
7
15
|
# paths: [".qfai/specs/spec-0001/**"]
|
|
8
|
-
#
|
|
9
|
-
# dl_ids: ["DL-20260207-01"]
|
|
10
|
-
# reason: "Legacy acceptance tests are being migrated; suppress until migration completes."
|
|
16
|
+
# reason: "Level vocabulary is owned by this project; migration tracked in DL-20260207-01."
|
|
11
17
|
# expires: "2026-03-01"
|
|
12
18
|
# evidence: "delta.md#DL-20260207-01"
|
|
13
19
|
# owner: "team-foo"
|
|
@@ -52,6 +52,12 @@ accessibility:
|
|
|
52
52
|
motion: "respect-reduced-motion"
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
+
<!-- QFAI-SAMPLE-DESIGN-MD: this is the qfai sample brand, NOT your product's brand.
|
|
56
|
+
Replace the front-matter and the body below with this product's own brand SSOT
|
|
57
|
+
(`/qfai-discussion` emits the draft), then DELETE this comment. While this comment
|
|
58
|
+
is present `qfai validate` reports QFAI-DCON-034 and /qfai-sdd Phase 0 refuses to
|
|
59
|
+
freeze the file's sha256 as the project's brand contract. -->
|
|
60
|
+
|
|
55
61
|
# Brand Philosophy
|
|
56
62
|
|
|
57
63
|
Acme Ledger is a calm, confident financial comparison surface. The interface
|
|
@@ -18,17 +18,20 @@ validation:
|
|
|
18
18
|
traceability:
|
|
19
19
|
brMustHaveSc: true
|
|
20
20
|
scMustHaveTest: true
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
# Intentionally empty: this matches the in-code default and must be set to the
|
|
22
|
+
# repository's real test layout before the SC traceability gate means anything.
|
|
23
|
+
# Seeding a language-specific list here makes the gate silently pass on every
|
|
24
|
+
# other stack. Run /qfai-configure to populate it; `qfai validate` reports
|
|
25
|
+
# QFAI-TRACE-124 while this is unset or matches zero files.
|
|
26
|
+
#
|
|
27
|
+
# Examples:
|
|
28
|
+
# TypeScript: tests/**/*.test.ts, src/**/*.spec.ts
|
|
29
|
+
# Python: tests/**/test_*.py, tests/**/*_test.py
|
|
30
|
+
# Go: **/*_test.go
|
|
31
|
+
# Java/Kotlin: src/test/**/*.java, src/test/**/*.kt
|
|
32
|
+
# Rust: tests/**/*.rs
|
|
33
|
+
# Cucumber: features/**/*.feature
|
|
34
|
+
testFileGlobs: []
|
|
32
35
|
testFileExcludeGlobs: []
|
|
33
36
|
scNoTestSeverity: error
|
|
34
37
|
orphanContractsPolicy: error
|
|
@@ -40,4 +43,4 @@ prototyping:
|
|
|
40
43
|
packPath: .qfai/evidence/calibration.yaml
|
|
41
44
|
execution:
|
|
42
45
|
targetUrl: null
|
|
43
|
-
browserTool: playwright
|
|
46
|
+
browserTool: playwright
|