qfai 1.7.13 → 1.7.15
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 +35 -8
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +2 -2
- package/assets/init/.qfai/assistant/agents/product-experience-architect.md +2 -2
- package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +1 -1
- package/assets/init/.qfai/assistant/instructions/agent-selection.md +2 -0
- package/assets/init/.qfai/assistant/instructions/shared-skill-delegation-baseline.md +88 -0
- package/assets/init/.qfai/assistant/instructions/shared-skill-operating-baseline.md +49 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +28 -88
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +50 -114
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +137 -208
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +90 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +26 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md +18 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md +41 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +22 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +50 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/platform_baselines.md +107 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +104 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +76 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +143 -1005
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +83 -32
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +7 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +12 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +31 -13
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/12_design_system.md +115 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +86 -24
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +27 -27
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +145 -155
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +118 -355
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +30 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +29 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +37 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +32 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +33 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +50 -115
- package/assets/init/.qfai/assistant/steering/agent-catalog.yml +1 -1
- package/assets/init/.qfai/assistant/steering/agent-routing.yml +20 -8
- package/assets/init/.qfai/assistant/steering/manifest.md +4 -7
- package/assets/init/.qfai/assistant/steering/product.md +6 -6
- package/assets/init/.qfai/assistant/steering/review-profiles.yml +3 -0
- package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +7 -7
- package/assets/init/.qfai/contracts/README.md +15 -8
- package/assets/init/.qfai/contracts/ui/README.md +24 -26
- package/assets/init/.qfai/discussion/README.md +35 -32
- package/assets/init/.qfai/evidence/README.md +65 -181
- package/assets/init/.qfai/evidence/calibration.yaml +26 -0
- package/assets/init/.qfai/review/README.md +56 -11
- package/assets/init/.qfai/specs/README.md +2 -2
- package/assets/init/root/qfai.config.yaml +5 -6
- package/assets/scripts/capture-screenshots.js +128 -0
- package/assets/uix-rev/comparison-review.md +3 -15
- package/assets/uix-rev/contracts-review.md +5 -2
- package/assets/uix-rev/scoring-review.md +10 -2
- package/assets/uix-rev/strategy-review.md +11 -7
- package/dist/cli/index.cjs +8532 -4204
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +8599 -4271
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +9808 -5532
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +467 -277
- package/dist/index.d.ts +467 -277
- package/dist/index.mjs +8909 -4647
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/assets/uix-rev/migration-review.md +0 -17
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# SDD Review Cycle Playbook
|
|
2
|
+
|
|
3
|
+
Use this file when you need the detailed review-cycle mechanics for `/qfai-sdd`.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- `.qfai/assistant/steering/agent-routing.yml`
|
|
8
|
+
- `.qfai/assistant/steering/review-profiles.yml`
|
|
9
|
+
- `.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md`
|
|
10
|
+
|
|
11
|
+
## Review Cycle
|
|
12
|
+
|
|
13
|
+
1. Select reviewers from routing and profile rules.
|
|
14
|
+
2. Build one review pack for the current cycle only.
|
|
15
|
+
3. Apply the footer SSOT without rewriting it locally.
|
|
16
|
+
4. Collect verdicts.
|
|
17
|
+
5. If any blocking reviewer returns `FAIL`, fix only the affected scope and rerun the failed reviewer plus any reviewer whose scope changed.
|
|
18
|
+
6. Mark the cycle fixed only when all routed blocking reviewers return `PASS`.
|
|
19
|
+
|
|
20
|
+
## Required Outputs
|
|
21
|
+
|
|
22
|
+
- `review_request.md`
|
|
23
|
+
- `Rxx_<reviewer>.md`
|
|
24
|
+
- evidence updates showing what changed after each failed cycle
|
|
25
|
+
|
|
26
|
+
## Guardrails
|
|
27
|
+
|
|
28
|
+
- Do not self-approve.
|
|
29
|
+
- Do not collapse `PASS` and `FAIL` into informal prose.
|
|
30
|
+
- Do not rerun unrelated reviewers after a localized fix.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# SDD Execution Playbook
|
|
2
|
+
|
|
3
|
+
Use this file for the detailed sequencing rules behind `/qfai-sdd`.
|
|
4
|
+
|
|
5
|
+
## Preflight
|
|
6
|
+
|
|
7
|
+
1. Identify the latest discussion-pack.
|
|
8
|
+
2. Stop if required files are missing.
|
|
9
|
+
3. Stop if blocking OQ remain.
|
|
10
|
+
4. Stop if the latest UI-bearing pack is missing valid `prototyping.yaml`.
|
|
11
|
+
|
|
12
|
+
## Shared-before-Slice Rule
|
|
13
|
+
|
|
14
|
+
- Contracts-first and Outline are shared work.
|
|
15
|
+
- Slice, Plan, and Delta are target-spec work.
|
|
16
|
+
- In no-argument mode, shared work runs once and per-spec work fans out after shared outputs stabilize.
|
|
17
|
+
|
|
18
|
+
## Update Policy
|
|
19
|
+
|
|
20
|
+
- Update existing artifacts in place when the current target already exists.
|
|
21
|
+
- Create new spec artifacts only after approval.
|
|
22
|
+
- Delete only after approval and after recording the rationale.
|
|
23
|
+
|
|
24
|
+
## Stop Conditions
|
|
25
|
+
|
|
26
|
+
- Missing or stale `_policies/11_Slice-Policy.md`
|
|
27
|
+
- Missing Contract Index alignment
|
|
28
|
+
- Unresolvable preflight blockers
|
|
29
|
+
- Validate errors that point to unresolved source-layer gaps
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# SDD Phase Checklists
|
|
2
|
+
|
|
3
|
+
Use these checklists as the detailed operational guide for `/qfai-sdd`.
|
|
4
|
+
|
|
5
|
+
## Phase 0: Contracts-first
|
|
6
|
+
|
|
7
|
+
- Confirm impacted contract kinds: API, DB, UI.
|
|
8
|
+
- Create or update declared contract files.
|
|
9
|
+
- Ensure each contract has `QFAI-CONTRACT-ID`.
|
|
10
|
+
- Refresh `_policies/05_Contracts.md` Contract Index.
|
|
11
|
+
- Stop if an indexed contract file is missing.
|
|
12
|
+
|
|
13
|
+
## Phase 1: Outline
|
|
14
|
+
|
|
15
|
+
- Refresh `_policies/01..11`.
|
|
16
|
+
- Keep Mermaid inside fenced code blocks only.
|
|
17
|
+
- Mirror every unresolved shared issue into `_policies/09_Open-questions.md`.
|
|
18
|
+
- Record `0 items` explicitly when decisions or delta are empty.
|
|
19
|
+
|
|
20
|
+
## Phase 2: Slice
|
|
21
|
+
|
|
22
|
+
- Create or update `spec-XXXX/01..08`.
|
|
23
|
+
- Check `US -> AC -> BR -> EX -> TC`.
|
|
24
|
+
- Ensure `01_Spec.md` remains the execution Primary SSOT.
|
|
25
|
+
- Stop if slice gate fails.
|
|
26
|
+
|
|
27
|
+
## Phase 3: Plan finalize
|
|
28
|
+
|
|
29
|
+
- Create or update `spec-XXXX/10_Plan.md`.
|
|
30
|
+
- Keep the file How-only.
|
|
31
|
+
- Do not finalize the plan before at least one slice gate passes.
|
|
32
|
+
|
|
33
|
+
## Phase 4: Delta update
|
|
34
|
+
|
|
35
|
+
- Update `09_delta.md` or `*_delta.md`.
|
|
36
|
+
- Record adoption and rejection rationale.
|
|
37
|
+
- When rejections exist, include `DO NOT` and `Temptation`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# SDD Quality Gate
|
|
2
|
+
|
|
3
|
+
Use this file for the full quality gate checklist behind `/qfai-sdd`.
|
|
4
|
+
|
|
5
|
+
## Structural Checks
|
|
6
|
+
|
|
7
|
+
- Required `_policies` files exist.
|
|
8
|
+
- Required `spec-XXXX` files exist.
|
|
9
|
+
- `_policies/11_Slice-Policy.md` matches the current repo slice model.
|
|
10
|
+
- `_policies/04_Business-Flow.md` contains Mermaid `flowchart` or `sequenceDiagram`.
|
|
11
|
+
- `10_Plan.md` exists and remains How-only.
|
|
12
|
+
- `specs/plan.md` does not exist.
|
|
13
|
+
|
|
14
|
+
## Traceability Checks
|
|
15
|
+
|
|
16
|
+
- `US -> AC -> BR -> EX -> TC` edges exist.
|
|
17
|
+
- `05_Examples.md` includes `EX-ID` and `BR-Ref`.
|
|
18
|
+
- `06_Test-Cases.md` includes `TC-ID`, `EX-Ref`, `AC-Refs`, and `Type`.
|
|
19
|
+
- Error or boundary coverage is present, not only normal-path coverage.
|
|
20
|
+
|
|
21
|
+
## Validation Checks
|
|
22
|
+
|
|
23
|
+
- `qfai validate --fail-on error --format github | tee .qfai/report/validate.log`
|
|
24
|
+
- `error=0`
|
|
25
|
+
- `.qfai/report/specs-coverage/spec-*.md` reviewed
|
|
26
|
+
- Density-smell warnings triaged
|
|
27
|
+
|
|
28
|
+
## Evidence Checks
|
|
29
|
+
|
|
30
|
+
- Evidence file exists.
|
|
31
|
+
- Work Orders Summary exists.
|
|
32
|
+
- Reviewer result exists.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Spec Traceability Rules
|
|
2
|
+
|
|
3
|
+
Use this file when working on traceability-heavy parts of `/qfai-sdd`.
|
|
4
|
+
|
|
5
|
+
## Required Edge Model (Conceptual Decomposition)
|
|
6
|
+
|
|
7
|
+
Conceptual decomposition / realization hierarchy (how specs are _authored_, not how
|
|
8
|
+
IDs reference each other):
|
|
9
|
+
|
|
10
|
+
- `US` conceptually decomposes into `AC`
|
|
11
|
+
- `AC` conceptually decomposes into `BR`
|
|
12
|
+
- `BR` is conceptually concretized by `EX`
|
|
13
|
+
- `EX` is conceptually realized by `TC`
|
|
14
|
+
|
|
15
|
+
## Reference Direction (`Refs` ID fields)
|
|
16
|
+
|
|
17
|
+
ID reference direction (the value of `Refs:` columns) must be lower-to-upper only:
|
|
18
|
+
|
|
19
|
+
- Upper-to-lower ID references are forbidden (`US.Refs: AC-0001` is not allowed).
|
|
20
|
+
- Lower-to-upper ID references are allowed (`AC.Refs: US-0001` is the canonical form).
|
|
21
|
+
- The conceptual hierarchy above describes authoring direction; the `Refs` direction
|
|
22
|
+
is the _inverse_ so downstream specs cite upstream IDs, never the other way round.
|
|
23
|
+
|
|
24
|
+
## Depth Expectations
|
|
25
|
+
|
|
26
|
+
- `BR` captures decision-level rules.
|
|
27
|
+
- `EX` demonstrates how `BR` behaves.
|
|
28
|
+
- `TC` proves `EX` in executable terms.
|
|
29
|
+
|
|
30
|
+
## When Sparse Coverage Is Intentional
|
|
31
|
+
|
|
32
|
+
- State the reason explicitly.
|
|
33
|
+
- Record the mitigation or next step in open questions or delta.
|
|
@@ -30,25 +30,22 @@ QFAI Skill Body (SSOT)
|
|
|
30
30
|
|
|
31
31
|
## User Questions (AskUserQuestion Protocol)
|
|
32
32
|
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
The agent SHOULD preserve structured choice semantics (enumerated options, selection constraints).
|
|
40
|
-
The reason for unavailability MUST be stated.
|
|
33
|
+
Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#user-questions-askuserquestion-protocol`.
|
|
34
|
+
|
|
35
|
+
Skill-specific examples:
|
|
36
|
+
|
|
37
|
+
- gate failure triage
|
|
38
|
+
- fix approach confirmation
|
|
41
39
|
|
|
42
40
|
## FORMAT SSOT (Mandatory)
|
|
43
41
|
|
|
44
|
-
-
|
|
42
|
+
- Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#format-ssot-mandatory`.
|
|
43
|
+
|
|
44
|
+
- Before writing or editing any `.qfai/**` artifact, read and follow the relevant directory README template and sample:
|
|
45
45
|
- `.qfai/discussion/README.md`
|
|
46
46
|
- `.qfai/specs/README.md`
|
|
47
47
|
- `.qfai/contracts/**/README.md`
|
|
48
48
|
- `.qfai/evidence/README.md`
|
|
49
|
-
- **Do NOT copy** templates/samples into this prompt or into other prompt markdown.
|
|
50
|
-
- The generated artifacts must match the README-defined structure (headings, ordering, table columns).
|
|
51
|
-
- Completion requires a **Format Self-Check** in the evidence: list each artifact and confirm “matches README template”.
|
|
52
49
|
|
|
53
50
|
## Inputs Priority (Preflight)
|
|
54
51
|
|
|
@@ -67,36 +64,24 @@ When unsure, read inputs in this order:
|
|
|
67
64
|
|
|
68
65
|
## Sub-agent Delegation (MANDATORY)
|
|
69
66
|
|
|
70
|
-
|
|
67
|
+
Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md`.
|
|
71
68
|
|
|
72
69
|
### Orchestrator Protocol (MUST)
|
|
73
70
|
|
|
74
|
-
-
|
|
75
|
-
- Orchestrator MUST NOT generate the primary artifact first draft.
|
|
76
|
-
- Orchestrator MUST NOT serve as Reviewer or skip delegation for convenience.
|
|
71
|
+
- No additional overrides.
|
|
77
72
|
|
|
78
73
|
### Capability Probe (MUST)
|
|
79
74
|
|
|
80
|
-
|
|
81
|
-
2. If subagents are unavailable, explicitly ask the user for Simulation mode approval.
|
|
82
|
-
3. Without explicit approval, stop the stage and do not continue.
|
|
75
|
+
- No additional overrides.
|
|
83
76
|
|
|
84
|
-
###
|
|
77
|
+
### Delegation Failure (Hard Stop)
|
|
85
78
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- `Subagents: simulated (reason: <why unavailable>)`
|
|
89
|
-
- `User approval: <quote or reference>`
|
|
79
|
+
- No additional overrides.
|
|
80
|
+
- Do not simulate roles. If the first required delegation fails, stop the stage and report remediation.
|
|
90
81
|
|
|
91
82
|
### Work Orders Summary (MANDATORY evidence)
|
|
92
83
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
| Step | Role (sub-agent) | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE) |
|
|
96
|
-
| ---- | ---------------- | ---------- | ------------ | ------------- | -------------------- |
|
|
97
|
-
| 1 | <role> | <task> | <refs> | <refs> | PASS/REVISE |
|
|
98
|
-
|
|
99
|
-
- `Output (refs)` must point to in-file anchors or relative evidence file paths.
|
|
84
|
+
Use the shared schema.
|
|
100
85
|
|
|
101
86
|
### Stage Minimum Roles (MUST)
|
|
102
87
|
|
|
@@ -107,81 +92,36 @@ Every major artifact in this stage MUST include a `## Work Orders Summary` secti
|
|
|
107
92
|
|
|
108
93
|
### Reviewer Gate (MUST)
|
|
109
94
|
|
|
110
|
-
-
|
|
111
|
-
- Reviewer checks
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
- No upstream artifact edits were made without an explicit user-approved Change Request.
|
|
117
|
-
- If upstream changes exist, the correct owner skill was re-run after approval; downstream did not patch upstream directly.
|
|
118
|
-
- **Test-layer policy enforced**:
|
|
119
|
-
- E2E/API/Integration coverage aligns with `steering/test-layers.md` and the project’s plan.
|
|
120
|
-
- Do not use pyramid ratios as a gate; use floors/ratios only as signals. Coverage obligations are the gate.
|
|
95
|
+
- Follow `.qfai/assistant/instructions/shared-skill-delegation-baseline.md#reviewer-gate-baseline`.
|
|
96
|
+
- Reviewer checks:
|
|
97
|
+
- required roles were delegated;
|
|
98
|
+
- validate evidence exists: `qfai validate --fail-on error` completed with `error=0`;
|
|
99
|
+
- Drift Protocol enforced;
|
|
100
|
+
- test-layer policy enforced against `test-layers.md`.
|
|
121
101
|
- Route specialist reviewers from `.qfai/assistant/steering/agent-routing.yml`.
|
|
122
102
|
- Default verify review set:
|
|
123
103
|
- `qa-gatekeeper`
|
|
124
104
|
- `completion-reviewer`
|
|
125
105
|
- Add `implementation-reviewer` only when code fixes are in scope.
|
|
126
106
|
- Do not declare DONE or handoff until all routed blocking reviewers return `PASS`.
|
|
127
|
-
- Every reviewer MUST provide a concrete alternative or fix proposal when returning FAIL.
|
|
128
107
|
|
|
129
108
|
### Work order template (copy/paste)
|
|
130
109
|
|
|
131
|
-
|
|
132
|
-
Task title: <short>
|
|
133
|
-
Role: <sub-agent role>
|
|
134
|
-
Goal: <what to decide/produce>
|
|
135
|
-
Inputs (refs):
|
|
136
|
-
- <file/section>
|
|
137
|
-
Constraints:
|
|
138
|
-
- must: enforce Drift Protocol (no upstream edits without user approval + CR)
|
|
139
|
-
- must: verify plan/test-layer adherence (`steering/test-layers.md` + plan)
|
|
140
|
-
- must: check `qfai validate --fail-on error` passes with evidence (`error=0`)
|
|
141
|
-
- must: enforce `.qfai/assistant/steering/test-layers.md` hard gates
|
|
142
|
-
- must_not: accept test-volume ratios/floors as a hard gate
|
|
143
|
-
- must_not: accept upstream edits made directly by downstream phase
|
|
144
|
-
Output format:
|
|
145
|
-
- <headings / bullet schema>
|
|
146
|
-
Quality bar:
|
|
147
|
-
- PASS if ...
|
|
148
|
-
- REVISE if ...
|
|
149
|
-
```
|
|
110
|
+
Use the shared template.
|
|
150
111
|
|
|
151
112
|
### Reviewer response template
|
|
152
113
|
|
|
153
|
-
|
|
154
|
-
Result: PASS | REVISE
|
|
155
|
-
Findings:
|
|
156
|
-
- <issue>
|
|
157
|
-
Required fixes:
|
|
158
|
-
- <action>
|
|
159
|
-
Evidence checked:
|
|
160
|
-
- <refs>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Stage 0 — Steering completion refresh (mandatory)
|
|
164
|
-
|
|
165
|
-
Before moving forward in this stage, refresh these files:
|
|
114
|
+
Use the shared template.
|
|
166
115
|
|
|
167
|
-
- `.
|
|
168
|
-
- `.qfai/assistant/steering/product.md`
|
|
169
|
-
- `.qfai/assistant/steering/structure.md`
|
|
170
|
-
- `.qfai/assistant/steering/tech.md`
|
|
116
|
+
- Required field: `Status (PASS/REVISE)`.
|
|
171
117
|
|
|
172
|
-
|
|
118
|
+
## Stage 0 — Steering completion refresh (mandatory)
|
|
173
119
|
|
|
174
|
-
|
|
175
|
-
- Fill what is verifiable from repository evidence (tree, docs, require/spec artifacts, package.json, CI definitions).
|
|
176
|
-
- If something cannot be verified, record it as an Open Question and ask the user.
|
|
177
|
-
- Even if steering is already complete, update it when new facts are discovered in this stage.
|
|
120
|
+
Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#stage-0---steering-completion-refresh-mandatory`.
|
|
178
121
|
|
|
179
122
|
## Delta Rejected Guard (Mandatory)
|
|
180
123
|
|
|
181
|
-
-
|
|
182
|
-
- If a rejected option must be reconsidered, create a **[RE-OPEN]** Decision
|
|
183
|
-
Record in 09_delta.md that references the prior DR-ID, states what changed +
|
|
184
|
-
new criteria, and includes explicit approval (user or instructions/steering).
|
|
124
|
+
Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#delta-rejected-guard-mandatory`.
|
|
185
125
|
|
|
186
126
|
## CRITICAL CONSTRAINTS (Read First)
|
|
187
127
|
|
|
@@ -197,19 +137,7 @@ Rules:
|
|
|
197
137
|
|
|
198
138
|
## Completion Contract (Shared)
|
|
199
139
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
- OQ / undefined resolution: detect undefined or ambiguous items; resolve them or explicitly defer them with documented rationale and (when required by this prompt) user approval.
|
|
203
|
-
- Deliverable completeness: verify every expected artifact listed in this prompt (and required README templates) exists and is fully populated; no missing required sections.
|
|
204
|
-
- OQ / placeholder scan: scan all generated artifacts (including evidence) for
|
|
205
|
-
placeholders such as "TBD", "TODO", "TBA", "TBC", "XXX", "???", "OQ",
|
|
206
|
-
"OPEN QUESTION", "UNDEFINED", "PLACEHOLDER", and localized equivalents in
|
|
207
|
-
the user's language. Resolve or explicitly defer; do not leave silent
|
|
208
|
-
placeholders.
|
|
209
|
-
- Smoke check (if applicable): when the prompt produces runnable code, tests,
|
|
210
|
-
or configs, execute the smallest command that proves basic run/start/operate
|
|
211
|
-
and record evidence. If not applicable, state "not applicable" with a short
|
|
212
|
-
rationale.
|
|
140
|
+
Follow `.qfai/assistant/instructions/shared-skill-operating-baseline.md#completion-contract-shared`.
|
|
213
141
|
|
|
214
142
|
## Goal
|
|
215
143
|
|
|
@@ -280,29 +208,36 @@ Do not edit any `.qfai/**/README.md` file; raise an Open Question instead.
|
|
|
280
208
|
|
|
281
209
|
## Multi‑Role Orchestration (Subagents)
|
|
282
210
|
|
|
283
|
-
|
|
211
|
+
Use the platform's native sub-agent delegation mechanism for Claude Code, GitHub Copilot, and Codex.
|
|
284
212
|
|
|
285
|
-
###
|
|
213
|
+
### Delegation order
|
|
286
214
|
|
|
287
|
-
|
|
215
|
+
Use `.qfai/assistant/steering/agent-routing.yml` as the routing SSOT.
|
|
288
216
|
|
|
289
|
-
-
|
|
217
|
+
- First required delegation / Capability Probe: `delivery-planner` in the `plan` phase.
|
|
218
|
+
- Then follow routed phases in order: `plan` (`delivery-planner`, `qa-strategist`) -> `execution` (`devops-ci-engineer`) -> `review` (`qa-gatekeeper`, `completion-reviewer`, optional `implementation-reviewer` when code fixes are in scope).
|
|
219
|
+
- Do not prepend non-routed roles before the first required delegation attempt.
|
|
290
220
|
|
|
291
|
-
|
|
221
|
+
### Delegation contract (tool-neutral)
|
|
292
222
|
|
|
293
223
|
```text
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
224
|
+
Role: delivery-planner
|
|
225
|
+
Task title: Create an execution plan and DoD
|
|
226
|
+
Goal: sequence quality gates and evidence work
|
|
227
|
+
Inputs:
|
|
228
|
+
- current change context
|
|
229
|
+
- required gates
|
|
230
|
+
Constraints:
|
|
231
|
+
- evidence-first
|
|
232
|
+
- no self-approval
|
|
233
|
+
Return:
|
|
234
|
+
- phases + risks + DoD
|
|
299
235
|
```
|
|
300
236
|
|
|
301
|
-
###
|
|
302
|
-
|
|
303
|
-
Only with explicit user approval (`Simulation mode allowed`), simulate roles by running the same sequence yourself:
|
|
237
|
+
### Failure rule
|
|
304
238
|
|
|
305
|
-
-
|
|
239
|
+
- The first required delegation attempt doubles as the capability check.
|
|
240
|
+
- If that delegation fails, stop immediately. Do not simulate roles or continue with self-execution.
|
|
306
241
|
|
|
307
242
|
## Completion Separation (mandatory)
|
|
308
243
|
|
|
@@ -65,7 +65,7 @@ agents:
|
|
|
65
65
|
- id: frontend-engineer
|
|
66
66
|
kind: worker
|
|
67
67
|
domain: frontend
|
|
68
|
-
mission: Implement frontend behavior aligned with selected
|
|
68
|
+
mission: Implement frontend behavior aligned with selected anchor, strategy, screen contracts, and product-surface decisions.
|
|
69
69
|
owned_artifacts: [ui-implementation, surface-evidence]
|
|
70
70
|
tool_profile: frontend
|
|
71
71
|
permission_profile: authoring
|
|
@@ -16,10 +16,13 @@ routing:
|
|
|
16
16
|
blocking_agents: [requirements-analyst]
|
|
17
17
|
rerun_policy: changed-scope-dependents
|
|
18
18
|
- id: review
|
|
19
|
+
# requirements-heavy always_required is
|
|
20
|
+
# [completion-reviewer, requirements-reviewer]; both must be blocking.
|
|
21
|
+
# See scripts/check-review-profile-consistency.mjs for the drift guard.
|
|
19
22
|
mandatory_agents: [completion-reviewer, requirements-reviewer]
|
|
20
23
|
conditional_agents: [architecture-reviewer, product-surface-reviewer]
|
|
21
24
|
parallel_groups: []
|
|
22
|
-
blocking_agents: [completion-reviewer]
|
|
25
|
+
blocking_agents: [completion-reviewer, requirements-reviewer]
|
|
23
26
|
rerun_policy: changed-scope-dependents
|
|
24
27
|
review_profile: requirements-heavy
|
|
25
28
|
|
|
@@ -118,18 +121,27 @@ routing:
|
|
|
118
121
|
blocking_agents: []
|
|
119
122
|
rerun_policy: changed-scope-dependents
|
|
120
123
|
- id: evidence
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
# product-surface-reviewer is mandatory here (surface sign-off must
|
|
125
|
+
# be collected as part of evidence). Keep it blocking so a surface
|
|
126
|
+
# FAIL/REVISE blocks the phase — drops the mandatory+non-blocking
|
|
127
|
+
# drift flagged during PR review.
|
|
128
|
+
mandatory_agents: [product-surface-reviewer, qa-gatekeeper]
|
|
129
|
+
conditional_agents: [devops-ci-engineer, product-experience-architect]
|
|
123
130
|
parallel_groups: []
|
|
124
|
-
blocking_agents: [qa-gatekeeper]
|
|
131
|
+
blocking_agents: [product-surface-reviewer, qa-gatekeeper]
|
|
125
132
|
rerun_policy: changed-scope-dependents
|
|
126
133
|
- id: review
|
|
127
|
-
|
|
128
|
-
|
|
134
|
+
# full-harness always_required set (see review-profiles.yml →
|
|
135
|
+
# profiles.full-harness.always_required) is
|
|
136
|
+
# [completion-reviewer, product-surface-reviewer, qa-gatekeeper].
|
|
137
|
+
# Mirror that set as mandatory + blocking so agent-routing and
|
|
138
|
+
# review-profiles stay on one SSOT.
|
|
139
|
+
mandatory_agents: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
|
|
140
|
+
conditional_agents: []
|
|
129
141
|
parallel_groups: []
|
|
130
|
-
blocking_agents: [completion-reviewer]
|
|
142
|
+
blocking_agents: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
|
|
131
143
|
rerun_policy: changed-scope-dependents
|
|
132
|
-
review_profile:
|
|
144
|
+
review_profile: full-harness
|
|
133
145
|
|
|
134
146
|
- skill: qfai-configure
|
|
135
147
|
phases:
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
## Compatibility vs Change Rubric
|
|
20
20
|
|
|
21
21
|
- Criteria (Compatibility): validate.json is an internal contract (not a stable API). CLI command system follows semver.
|
|
22
|
-
- Criteria (Change): Breaking changes
|
|
22
|
+
- Criteria (Change): canonical consistency, validator alignment, and shipped SSOT alignment take priority. Breaking changes are allowed when required to restore canonical consistency.
|
|
23
23
|
- Examples: `_shared/` -> `_policies/` rename (v1.5.3), spec-pack -> layered migration (v1.4.17)
|
|
24
|
-
- Evidence: CHANGELOG.md
|
|
24
|
+
- Evidence: CHANGELOG.md
|
|
25
25
|
|
|
26
26
|
## Governance (Ownership / Review / Evidence)
|
|
27
27
|
|
|
@@ -54,14 +54,11 @@
|
|
|
54
54
|
## Non-goals / Not-now (Optional)
|
|
55
55
|
|
|
56
56
|
- IDE plugin / GUI development
|
|
57
|
-
- Plugin architecture
|
|
57
|
+
- Plugin architecture
|
|
58
58
|
- Automated test generation
|
|
59
59
|
- browser QA full audit / screenshot diff / repair loop / external critique adapter (v1.7.1)
|
|
60
60
|
- auto-fix / rewrite for design findings (v1.7.2)
|
|
61
|
-
-
|
|
62
|
-
- browser QA output normalization shape (deferred to v1.7.6, OQ-0002 of discussion-20260329130000123)
|
|
63
|
-
- external critique provider / full-harness orchestration / calibration pack / cost observability / long-running handoff (v1.7.5 out of scope → v1.7.6 IN scope)
|
|
64
|
-
- Evidence: 05_Scope.md (Out of Scope), OQ-0001, OQ-0002, discussion-20260329175059391
|
|
61
|
+
- Evidence: 05_Scope.md (Out of Scope)
|
|
65
62
|
|
|
66
63
|
## References (Optional)
|
|
67
64
|
|
|
@@ -37,8 +37,9 @@
|
|
|
37
37
|
|
|
38
38
|
## Release posture
|
|
39
39
|
|
|
40
|
-
- Compatibility policy:
|
|
41
|
-
- Breaking
|
|
40
|
+
- Compatibility policy: current canonical contract only.
|
|
41
|
+
- Breaking changes are allowed when required to restore canonical consistency.
|
|
42
|
+
- CLI/skill/docs/validator must match current package semantics.
|
|
42
43
|
- Evidence: CHANGELOG.md, 09_Constraints.md (DL-02)
|
|
43
44
|
|
|
44
45
|
## Milestones
|
|
@@ -64,11 +65,10 @@
|
|
|
64
65
|
| v1.7.7 (完了) | Remediation & Prototyping Readiness — static-first prototyping default + full-harness mode exposure + 3-layer eval reconciliation + strategy/contract upgrade + UI-bearing detection fix + render evidence wiring + browser QA findings + doc normalization + migration support |
|
|
65
66
|
| v1.7.8 (完了) | Canonical Convergence — design taste interview + trend research + 3-layer evaluation convergence + scoring-ready schema + strategy/screen contract upgrade + UI-bearing detection unification + static-first prototyping rewrite + full-harness mode convergence + render evidence wiring + browser QA MVP + reviewer extension + migration normalization + docs normalization |
|
|
66
67
|
| v1.7.9 (完了) | Convergence Correction Release — canonical validator registration, discussion completion convergence, honest render evidence/browser QA wiring, reviewer routing alignment, docs maturity normalization |
|
|
67
|
-
| v1.7.13 (
|
|
68
|
+
| v1.7.13 (完了) | Canonical Sidecar Convergence — selected anchor SSOT moved to 31_selected_anchor_screen.md, option comparison remains in 30_option_comparison.md, sidecar-first read order, DDS/anchor vocabulary removal, validator semantics rewrite, template-validator self-consistency |
|
|
69
|
+
| v1.7.14 (進行中) | Canonical Convergence Finalization — strict classification enforcement, namespaced-only prototyping.yaml, current-only shipped SSOT, regression net hardening |
|
|
68
70
|
|
|
69
71
|
## Open questions
|
|
70
72
|
|
|
71
73
|
- Blocking: none
|
|
72
|
-
- Non-blocking:
|
|
73
|
-
- OQ-0003: validate.json external API stability (deferred to v2.0)
|
|
74
|
-
- OQ-0004: Legacy spec-pack deprecation schedule (deferred to v2.0)
|
|
74
|
+
- Non-blocking: none
|
|
@@ -16,6 +16,9 @@ profiles:
|
|
|
16
16
|
runtime-heavy:
|
|
17
17
|
always_required: [completion-reviewer, qa-gatekeeper]
|
|
18
18
|
conditional_required: [implementation-reviewer]
|
|
19
|
+
full-harness:
|
|
20
|
+
always_required: [completion-reviewer, product-surface-reviewer, qa-gatekeeper]
|
|
21
|
+
conditional_required: []
|
|
19
22
|
|
|
20
23
|
optional_modes:
|
|
21
24
|
devils-advocate:
|
|
@@ -9,10 +9,10 @@ spec-0013 (CAP-0013) で定義された、下流 skill(prototyping / ATDD / TD
|
|
|
9
9
|
|
|
10
10
|
1. **Discussion-side UI/UX Sidecar Artifacts** (`discussion-*/uiux/`) — **primary source of truth**
|
|
11
11
|
- `30_option_comparison.md` — オプション比較(比較 artifact)
|
|
12
|
-
- `31_selected_anchor_screen.md` — 選定結果 + selected
|
|
12
|
+
- `31_selected_anchor_screen.md` — 選定結果 + selected anchor の SSOT
|
|
13
13
|
- `10_implementation_strategy.md` — 実装戦略(strict canonical schema)
|
|
14
14
|
- `11_design_taste_interview.md` — デザインテイストインタビュー
|
|
15
|
-
- `20-24` — 3-layer
|
|
15
|
+
- `20-24` — 3-layer 評価ファミリー(**invariant / trend-derived / product-specific / aggregate / dynamic overrides** の 5 sidecar のみ。`20` は invariant axes, **Trend Scan は sidecar ではなく `04_Sources.md#Trend Scan` が正本**。旧 `uiux/20_trend_scan.md` は廃止。)
|
|
16
16
|
- `40_screen_contracts.md` — スクリーンコントラクト(strong schema)
|
|
17
17
|
- `50_review_input_bundle.md` — レビュー入力バンドル
|
|
18
18
|
|
|
@@ -47,8 +47,8 @@ spec-0013 (CAP-0013) で定義された、下流 skill(prototyping / ATDD / TD
|
|
|
47
47
|
|
|
48
48
|
## Priority and Override Semantics
|
|
49
49
|
|
|
50
|
-
- sidecar artifacts
|
|
51
|
-
- UI Contracts と Design Token は **存在する場合のみ読む supporting input**(primary truth
|
|
52
|
-
- Optional fallback mock はさらに後順位の **fallback
|
|
53
|
-
- Design Token の値と HTML Mock の fallback 値が矛盾する場合は warning
|
|
54
|
-
- UI Contract の screen ID と sidecar contracts の対応がない場合は warning
|
|
50
|
+
- discussion sidecar artifacts が **primary truth**。具体的には (a) `uiux/30_option_comparison.md`(option comparison)、(b) `uiux/31_selected_anchor_screen.md`(selected anchor)、(c) `uiux/10_implementation_strategy.md`(implementation strategy)、(d) `uiux/40_screen_contracts.md`(screen contracts / 強スキーマ)の順で読む。
|
|
51
|
+
- `.qfai/contracts/ui/` の UI Contracts と Design Token は **存在する場合のみ読む supporting input**(primary truth ではない)。
|
|
52
|
+
- Optional fallback mock はさらに後順位の **fallback**。
|
|
53
|
+
- Design Token の値と HTML Mock の fallback 値が矛盾する場合は warning を発行。
|
|
54
|
+
- UI Contract の screen ID と sidecar screen contracts の対応がない場合は warning を発行。
|
|
@@ -1,30 +1,37 @@
|
|
|
1
|
-
# contracts
|
|
1
|
+
# .qfai/contracts (contracts + supporting inputs)
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
They are the boundary between "what we promise" and "how we implement".
|
|
5
|
+
This directory holds two related categories of inputs:
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
- **Contracts** (`api/`, `db/`, `ui/`) define the **stable surface** that
|
|
8
|
+
specs and tests may reference. Each contract file requires a
|
|
9
|
+
`QFAI-CONTRACT-ID` header and participates in the traceability ledger.
|
|
10
|
+
- **Supporting inputs** (`design/`) supplement contracts — they do **not**
|
|
11
|
+
carry contract IDs and are not directly cited by specs. Design tokens are
|
|
12
|
+
referenced indirectly from `ui/*.yaml` via token IDs.
|
|
13
|
+
|
|
14
|
+
QFAI organizes this directory into four subdirectories:
|
|
9
15
|
|
|
10
16
|
```text
|
|
11
|
-
contracts/
|
|
17
|
+
.qfai/contracts/
|
|
12
18
|
├── api/ # OpenAPI YAML (endpoints, request/response)
|
|
13
19
|
├── db/ # SQL schema contracts (tables, columns, constraints)
|
|
14
20
|
├── design/ # Design token YAML — optional supporting input
|
|
15
21
|
└── ui/ # UI contract YAML (screens, elements, user actions)
|
|
16
22
|
```
|
|
17
23
|
|
|
18
|
-
> **Note:** `ui/`
|
|
24
|
+
> **Note:** `ui/` is a contract (QFAI-CONTRACT-ID required, cited by specs), but the **primary truth** for UI/UX definitions still lives in the discussion sidecar artifacts (`discussion-*/uiux/*`). UI contracts cite sidecar content by ID and exist specifically to make that sidecar machine-consumable for prototyping and selectors. `design/` is supporting input only (design tokens referenced indirectly from `ui/*.yaml`). After `qfai init`, these directories may contain only placeholder READMEs — this is the normal initial state.
|
|
19
25
|
|
|
20
26
|
## Directory rules
|
|
21
27
|
|
|
22
28
|
- Contract files are **minimal**: only what specs actually need.
|
|
23
|
-
- Each contract file must declare `QFAI-CONTRACT-ID` at the top (`CON-UI-*` / `CON-API-*` / `CON-DB-*`).
|
|
29
|
+
- Each contract file in `api/`, `db/`, and `ui/` must declare `QFAI-CONTRACT-ID` at the top (`CON-UI-*` / `CON-API-*` / `CON-DB-*`).
|
|
30
|
+
- `design/` (design token YAML) is a supporting input — **not** a contract in the traceability ledger. It does not require a `QFAI-CONTRACT-ID` header and is referenced indirectly from `ui/*.yaml` contracts via token IDs.
|
|
24
31
|
- Prefer additive changes; breaking changes require delta notes.
|
|
25
32
|
|
|
26
33
|
```text
|
|
27
|
-
contracts/
|
|
34
|
+
.qfai/contracts/
|
|
28
35
|
├── README.md
|
|
29
36
|
├── api/
|
|
30
37
|
│ ├── README.md
|