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
@@ -1,45 +0,0 @@
1
- # Option Comparison
2
-
3
- ## Purpose
4
-
5
- Compare 2+ design options against scoring axes to support anchor screen selection.
6
-
7
- ## Comparison Matrix
8
-
9
- ### Invariant Axes
10
-
11
- | Axis | Option A: [Name] | Option B: [Name] | Notes |
12
- | ------------------ | ---------------- | ---------------- | ----------- |
13
- | Usability (20) | [score 1-5] | [score 1-5] | [rationale] |
14
- | Consistency (21) | [score 1-5] | [score 1-5] | [rationale] |
15
- | Accessibility (22) | [score 1-5] | [score 1-5] | [rationale] |
16
- | Delight (23) | [score 1-5] | [score 1-5] | [rationale] |
17
-
18
- ### Trend-derived Axes
19
-
20
- | Axis | Option A: [Name] | Option B: [Name] | Source Translation |
21
- | --------------- | ---------------- | ---------------- | ------------------ |
22
- | (trend-derived) | [score 1-5] | [score 1-5] | [research source] |
23
-
24
- ### Product-specific Axes
25
-
26
- | Axis | Option A: [Name] | Option B: [Name] | Notes |
27
- | ------------------ | ---------------- | ---------------- | ----------- |
28
- | (product-specific) | [score 1-5] | [score 1-5] | [rationale] |
29
-
30
- ## Aggregate Scoring
31
-
32
- | Option | Weights | Normalized Total | Threshold | Rank |
33
- | -------- | ------------------------------------- | ---------------- | --------------------- | ------ |
34
- | Option A | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
35
- | Option B | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
36
-
37
- ## Recommendation
38
-
39
- Selected: [Option X] — [rationale for selection based on scores and constraints]
40
-
41
- ## Cross-references
42
-
43
- - Invariant axes: `20_eval_axis_usability.md`, `21_eval_axis_consistency.md`, `22_eval_axis_accessibility.md`, `23_eval_axis_delight.md`
44
- - 3-layer model & aggregate rules: `23_eval_axis_delight.md` (Aggregate Scoring Rules section)
45
- - Anchor selection: `31_anchor.md`
@@ -1,27 +0,0 @@
1
- # Anchor Screen Selection
2
-
3
- ## Purpose
4
-
5
- Document the selected anchor screen and rationale for the design direction.
6
-
7
- ## Selected Anchor
8
-
9
- - Screen: [Screen name/identifier]
10
- - Source option: [Option X from 30_comparison.md]
11
- - Rationale: [Why this screen was selected as the anchor]
12
-
13
- ## Anchor Screen Description
14
-
15
- - Primary purpose: [What the user accomplishes on this screen]
16
- - Key interactions: [List of primary interactions]
17
- - Entry points: [How users reach this screen]
18
- - Exit points: [Where users go from this screen]
19
-
20
- ## Design Constraints
21
-
22
- - [Constraint derived from comparison and scoring]
23
-
24
- ## Cross-references
25
-
26
- - Option comparison: `30_comparison.md`
27
- - Screen contracts: `40_contracts.md`
@@ -1,51 +0,0 @@
1
- # Screen Contracts
2
-
3
- ## Purpose
4
-
5
- Draft interaction contracts for the anchor screen and key screens.
6
-
7
- ## Anchor Screen Contract
8
-
9
- ### Screen: [Screen name]
10
-
11
- - Route: [/path-to-screen]
12
- - Actor: [primary user role]
13
- - Purpose: [what the user accomplishes on this screen]
14
-
15
- #### Primary Tasks
16
-
17
- | Task | Trigger | Success Criteria |
18
- | ---------------- | ------------- | -------------------- |
19
- | [primary task] | [user action] | [observable outcome] |
20
- | [secondary task] | [user action] | [observable outcome] |
21
-
22
- #### Required States
23
-
24
- | State | Trigger | Display |
25
- | --------- | ---------------------- | --------------------------- |
26
- | empty | Initial load, no data | [empty state description] |
27
- | loading | Data fetch in progress | [loading indicator] |
28
- | error | Fetch failure | [error message + retry CTA] |
29
- | populated | Data available | [primary content layout] |
30
-
31
- #### Transitions
32
-
33
- | From | To | Trigger |
34
- | --------- | --------- | -------------------- |
35
- | empty | loading | Data fetch initiated |
36
- | loading | populated | Data received |
37
- | loading | error | Fetch failure |
38
- | error | loading | Retry action |
39
- | populated | empty | Clear action |
40
-
41
- #### Observable Outcomes
42
-
43
- | Outcome | Verification Method |
44
- | -------------------------- | ------------------- |
45
- | [expected user outcome] | [how to verify] |
46
- | [expected system behavior] | [how to verify] |
47
-
48
- ## Cross-references
49
-
50
- - Anchor selection: `31_anchor.md`
51
- - State coverage: see `../03_Story-Workshop.md` Design Direction Summary
@@ -1,31 +0,0 @@
1
- # Review Input Bundle
2
-
3
- ## Purpose
4
-
5
- Consolidate all sidecar artifacts into a review-ready bundle for design reviewers.
6
-
7
- ## Bundle Contents
8
-
9
- | Artifact | Path | Status |
10
- | ------------------ | ------------------------------------ | ------------------------- |
11
- | Strategy | `uiux/10_strategy.md` | [draft/reviewed/approved] |
12
- | Usability axis | `uiux/20_eval_axis_usability.md` | [draft/reviewed/approved] |
13
- | Consistency axis | `uiux/21_eval_axis_consistency.md` | [draft/reviewed/approved] |
14
- | Accessibility axis | `uiux/22_eval_axis_accessibility.md` | [draft/reviewed/approved] |
15
- | Delight axis | `uiux/23_eval_axis_delight.md` | [draft/reviewed/approved] |
16
- | Comparison | `uiux/30_comparison.md` | [draft/reviewed/approved] |
17
- | Anchor selection | `uiux/31_anchor.md` | [draft/reviewed/approved] |
18
- | Screen contracts | `uiux/40_contracts.md` | [draft/reviewed/approved] |
19
-
20
- ## Review Checklist
21
-
22
- - [ ] Strategy aligns with surface type and project constraints
23
- - [ ] All 4 invariant scoring axes defined with measurable criteria
24
- - [ ] 2+ options compared against all axes
25
- - [ ] Anchor screen selected with rationale
26
- - [ ] Screen contracts cover all 4 required states (empty/loading/error/populated)
27
- - [ ] Critique loop entries addressed or deferred with rationale
28
-
29
- ## Reviewer Notes
30
-
31
- <!-- Reviewer feedback is captured here during the review cycle. -->
@@ -1,23 +0,0 @@
1
- # Critique Loop Tracking
2
-
3
- ## Purpose
4
-
5
- Track iterative design critique rounds and resolutions.
6
-
7
- ## Critique Log
8
-
9
- | Round | Source | Finding | Severity | Resolution | Status |
10
- | ----- | ------------------------- | --------------------- | ----------------- | -------------------------------------- | ------------------------ |
11
- | 1 | [reviewer/self/automated] | [finding description] | [high/medium/low] | [resolution or rationale for deferral] | [open/resolved/deferred] |
12
-
13
- ## Resolution Summary
14
-
15
- - Total findings: 0
16
- - Resolved: 0
17
- - Deferred: 0 (with rationale in Deferred column)
18
- - Open: 0
19
-
20
- ## Cross-references
21
-
22
- - Review bundle: `50_review_bundle.md`
23
- - Design decisions: see `../03_Story-Workshop.md` Design Direction Summary
@@ -1,185 +0,0 @@
1
- # /qfai-prototyping-full-harness
2
-
3
- [DRIFT-PROTOCOL:MANDATORY]
4
-
5
- Premium prototyping skill with planner/generator/evaluator iteration loop.
6
- Full-harness mode is an **explicit, non-default** path activated only via
7
- `qfai prototyping --mode full-harness` or discussion artifact recommendation.
8
-
9
- > This skill defines a real execution workflow — it is NOT a routing-only redirect.
10
-
11
- ## When to Use
12
-
13
- - Projects requiring L3–L5 fidelity evidence (production-ready prototypes).
14
- - Evaluation needs: weighted multi-dimension scoring with decision gates.
15
- - Explicit opt-in only; never auto-activated from config, env, or standard mode.
16
-
17
- ## Workflow Loop
18
-
19
- The full-harness iteration loop proceeds through four phases per cycle:
20
-
21
- ### Planner Phase
22
-
23
- - Generate strategy from spec constraints, budget, and prior iteration feedback.
24
- - Produce a ranked plan with target dimensions, expected quality floor, and cost estimate.
25
- - Constraints propagated from discussion artifact recommendation.
26
-
27
- ### Generator Phase
28
-
29
- - Execute prototyping output production based on planner strategy.
30
- - Incorporate refinement notes from prior evaluator feedback.
31
- - Produce render evidence, test results, and validator output as artifacts.
32
-
33
- ### Evaluator Phase
34
-
35
- - Apply weighted scoring across configured dimensions (floor enforcement).
36
- - Decision gate: converge, refine, or pivot based on scoring-ready schema.
37
- - Record scoring trace with dimension-level breakdown for auditability.
38
-
39
- ### Decision Gate
40
-
41
- - Convergence criteria: all dimension floors met AND aggregate score above threshold.
42
- - Refinement: loop back to generator with evaluator feedback.
43
- - Pivot: loop back to planner with strategic reassessment.
44
- - Termination: max iterations reached OR convergence achieved.
45
-
46
- ## Evidence Collection
47
-
48
- Every full-harness run MUST produce:
49
-
50
- - Render evidence with `captured / skipped / failed` status (3-state vocabulary).
51
- - Iteration history (planner input → generator output → evaluator score per cycle).
52
- - Scoring trace with dimension-level breakdown.
53
- - Termination reason (converged / max-iterations / manual-stop).
54
- - Validator output from `qfai validate` at each iteration.
55
-
56
- ## Reviewer Invocation
57
-
58
- - Generate review summary at convergence or termination.
59
- - Review findings must reference iteration history and scoring trace.
60
- - Reviewer sign-off is a required gate before evidence is finalized.
61
-
62
- ### Reviewer Gate (MUST)
63
-
64
- - Final completion gate MUST be delegated to an independent Reviewer sub-agent.
65
- - Reviewer checks (minimum):
66
- - evidence completeness and iteration history integrity,
67
- - scoring trace auditability and calibration adherence,
68
- - Drift Protocol was enforced,
69
- - test-layer obligations match `test-layers.md` and plan,
70
- - floors and ratios are **signals, not gates**.
71
- - Reviewer returns only `PASS` or `REVISE`.
72
- - Every `REVISE` must include a concrete alternative proposal.
73
-
74
- ## Calibration Integration
75
-
76
- - Scoring-ready schema defines dimension weights and floor thresholds.
77
- - Calibration config is read from `qfai.config.yaml` under `prototyping.calibration`.
78
- - Threshold adjustments are logged in iteration history for traceability.
79
-
80
- ## Three-Mode Positioning
81
-
82
- This skill covers **full-harness** mode only. See also:
83
-
84
- | Mode | Scope | Skill |
85
- | ---------------- | --------------------------------------- | --------------------------------------------- |
86
- | **low-cost** | Static checks only (L1/L2) | `/qfai-prototyping` |
87
- | **standard** | Static + optional light runtime (L2/L3) | `/qfai-prototyping` |
88
- | **full-harness** | Static + runtime-heavy (L3/L4/L5) | `/qfai-prototyping-full-harness` (this skill) |
89
-
90
- Standard and low-cost modes are handled by the standard `/qfai-prototyping` skill.
91
- Full-harness adds runtime-heavy obligations: API non-404 checks, DB existence verification,
92
- and UI route reachability — these are NOT imposed on standard or low-cost modes.
93
-
94
- ## Non-UI Projects
95
-
96
- For non-UI projects (`surface: non-ui`), this skill returns n/a.
97
- Full-harness obligations assume a UI-bearing surface.
98
-
99
- ## Sub-agent Delegation (MANDATORY)
100
-
101
- This section is mandatory and overrides conflicting fallback text.
102
-
103
- ### Orchestrator Protocol (MUST)
104
-
105
- - Orchestrator may only create work orders, delegate tasks, integrate outputs, and present results to the user.
106
- - Orchestrator MUST NOT generate the primary artifact first draft.
107
- - Orchestrator MUST NOT serve as Reviewer or skip delegation for convenience.
108
-
109
- ### Capability Probe (MUST)
110
-
111
- 1. Run one harmless Probe Task (for example: "reply with ok") once at stage start.
112
- 2. If subagents are unavailable, explicitly ask the user for Simulation mode approval.
113
- 3. Without explicit approval, stop the stage.
114
-
115
- ### Simulation mode (Opt-in only)
116
-
117
- - Allowed only when the user explicitly states `Simulation mode allowed`.
118
- - Record both in evidence:
119
- - `Subagents: simulated (reason: <why unavailable>)`
120
- - `User approval: <quote or reference>`
121
-
122
- ## Work Orders Summary
123
-
124
- Every major artifact in this stage MUST include this table:
125
-
126
- | Step | Role (sub-agent) | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE) |
127
- | ---- | ---------------- | ---------- | ------------ | ------------- | -------------------- |
128
- | 1 | <role> | <task> | <refs> | <refs> | PASS/REVISE |
129
-
130
- ## CRITICAL CONSTRAINTS (Read First)
131
-
132
- - Scope is full-harness prototyping only — do not run standard/low-cost validation.
133
- - Contracts are strict inputs in this stage.
134
- - Runtime checks are mandatory for this mode (UI reachability, endpoint liveness, DB presence).
135
- - Evidence must capture iteration-level detail including scoring traces.
136
- - DONE is forbidden when iteration loop has not converged or max-iterations is not reached.
137
-
138
- ## Completion Contract (Shared)
139
-
140
- Before declaring completion, you MUST:
141
-
142
- - resolve or explicitly defer ambiguous items,
143
- - verify every required artifact exists and is complete,
144
- - scan outputs for placeholders (TBD/TODO/OPEN QUESTION and equivalents),
145
- - run the smallest executable smoke proof and record outcomes.
146
-
147
- ## Evidence (MANDATORY)
148
-
149
- Create/update both artifacts in `.qfai/evidence/`:
150
-
151
- 1. Markdown evidence with sections:
152
- - Iteration History (planner/generator/evaluator per cycle)
153
- - Scoring Trace (dimension-level breakdown)
154
- - Termination Reason
155
- - Work Orders Summary
156
- 2. JSON evidence with minimum fields:
157
- - `iterations[]` with per-cycle scoring and decision
158
- - `meta.generatedAt`, `meta.toolVersion`, `meta.commands[]`
159
-
160
- ## FINAL CHECKLIST (Check Last)
161
-
162
- - [ ] All iteration cycles are recorded with scoring traces.
163
- - [ ] Convergence or termination condition was met.
164
- - [ ] Reviewer returned PASS.
165
- - [ ] Evidence artifacts are updated.
166
- - [ ] `qfai validate --fail-on error` passes.
167
-
168
- ## Completion Checklist (MUST)
169
-
170
- - [ ] This skill's Definition of Done is satisfied.
171
- - [ ] Required artifacts were produced or updated.
172
- - [ ] Open questions were logged when needed.
173
- - [ ] Completion message was presented to the user.
174
- - [ ] Next actions were enumerated.
175
-
176
- ## Completion Message & Next Actions (MUST)
177
-
178
- When complete, provide a final user-facing completion message and list actions.
179
-
180
- - Proceed (recommended): `/qfai-atdd`.
181
- Action: implement acceptance tests against the full-harness prototype.
182
- - Quality gate run: `/qfai-verify`.
183
- Action: run full validation/report flow and publish gate evidence.
184
- - Rework prototyping: rerun `/qfai-prototyping-full-harness`.
185
- Action: fix convergence failures or scoring trace gaps.
@@ -1,128 +0,0 @@
1
- schema_version: "1.0"
2
-
3
- feedback_policy:
4
- alternative_required: true
5
- description: "All reviewers MUST provide a concrete alternative or fix proposal when returning FAIL. Feedback without a concrete alternative is invalid and triggers re-judgment."
6
-
7
- roster:
8
- - id: qa-lead
9
- name: Quality Lead
10
- scope: [discuss, require, sdd]
11
- must_check:
12
- - Verify scope, objectives, and requirement completeness.
13
- - Verify risk, quality, and acceptance readiness.
14
- can_be_na: false
15
- na_rule: "N/A is not allowed for this reviewer."
16
-
17
- - id: qa-gatekeeper
18
- name: QA Gatekeeper
19
- scope: [discuss, require, sdd]
20
- must_check:
21
- - Verify gate criteria and blocker handling rules.
22
- - Verify review-cycle restart behavior on failure.
23
- can_be_na: false
24
- na_rule: "N/A is not allowed for this reviewer."
25
-
26
- - id: reviewer
27
- name: Independent Reviewer
28
- scope: [discuss, require, sdd]
29
- must_check:
30
- - Verify consistency and independent pass/fail judgment.
31
- - Verify evidence and rationale are reviewable.
32
- can_be_na: false
33
- na_rule: "N/A is not allowed for this reviewer."
34
-
35
- - id: code-reviewer
36
- name: Code Reviewer
37
- scope: [discuss, require, sdd]
38
- must_check:
39
- - Verify maintainability and implementation-risk signals.
40
- - Verify design intent is actionable for downstream coding.
41
- can_be_na: true
42
- na_rule: "Allowed only if no implementation-impacting decision exists."
43
-
44
- - id: architect-reviewer
45
- name: Architect Reviewer
46
- scope: [discuss, require, sdd]
47
- must_check:
48
- - Verify architecture constraints and technical consistency.
49
- - Verify decision trade-offs and rejected-option rationale.
50
- can_be_na: true
51
- na_rule: "Allowed only if no architecture-affecting decision exists."
52
-
53
- - id: qa-reviewer
54
- name: QA Reviewer
55
- scope: [discuss, require, sdd]
56
- must_check:
57
- - Verify testability, edge cases, and failure-path coverage.
58
- - Verify open/deferred items are explicit and actionable.
59
- can_be_na: true
60
- na_rule: "Allowed only if no quality-impacting change exists."
61
-
62
- - id: frontend-reviewer
63
- name: Frontend Reviewer
64
- scope: [discuss, require, sdd]
65
- must_check:
66
- - Verify UI/UX, accessibility, and interaction implications.
67
- - Verify user-facing flows and exception paths.
68
- can_be_na: true
69
- na_rule: "Allowed only if no frontend or UX impact exists."
70
-
71
- - id: backend-reviewer
72
- name: Backend Reviewer
73
- scope: [discuss, require, sdd]
74
- must_check:
75
- - Verify backend/API/data consistency implications.
76
- - Verify operational and reliability concerns.
77
- can_be_na: true
78
- na_rule: "Allowed only if no backend or data impact exists."
79
-
80
- - id: design-review-lead
81
- name: Design Review Lead
82
- scope: [discuss, require, sdd]
83
- must_check:
84
- - Verify requirement/design coherence and structure quality.
85
- - Verify information architecture and decision clarity.
86
- can_be_na: true
87
- na_rule: "Allowed only if no product/design decision changed."
88
-
89
- - id: runtime-gatekeeper
90
- name: Runtime Gatekeeper
91
- scope: [discuss, require, sdd]
92
- must_check:
93
- - Verify operational readiness and runtime risk controls.
94
- - Verify mitigation and rollback assumptions.
95
- can_be_na: true
96
- na_rule: "Allowed only if no runtime/operations impact exists."
97
-
98
- - id: devils-advocate
99
- name: Devil's Advocate
100
- scope: [discuss, require, sdd]
101
- must_check:
102
- - Challenge every assumption, conclusion, and design decision as if it were fundamentally wrong.
103
- - Provide a concrete desired-state alternative for every issue raised; bare negation without an alternative is invalid.
104
- - Persist with objections using any rhetorical means (nitpicking, reductio ad absurdum, forced analogy) to surface hidden risks.
105
- can_be_na: false
106
- na_rule: "N/A is not allowed for this reviewer."
107
- behavioral_principles:
108
- premise: "Assume the current state is fundamentally incorrect."
109
- stance: "Challenge assumptions aggressively and present objections clearly, even under uncertainty."
110
- requirement: "When returning FAIL, always provide a concrete alternative proposal."
111
- escalation:
112
- consecutive_fail_limit: 3
113
- demotion: advisory
114
- demotion_scope: current_review_cycle
115
-
116
- - id: pattern-doubler
117
- name: Pattern Doubler
118
- scope: [discuss, require, sdd]
119
- must_check:
120
- - Count all ID-bearing items (US, AC, BR, EX, TC) in the target spec and demand at least 2x the current count.
121
- - Identify missing perspectives (boundary, negative, permission, state-transition, idempotency) and propose concrete additions with rationale.
122
- - Persist with demands using any rhetorical means (edge-case invention, combinatorial explosion, analogy) to maximize pattern coverage.
123
- can_be_na: true
124
- na_rule: "Allowed only if the target artifact contains no ID-bearing spec items (US/AC/BR/EX/TC)."
125
- behavioral_principles:
126
- premise: "Current pattern coverage is insufficient."
127
- stance: "Push clearly for at least 2x pattern coverage and challenge under-specified cases."
128
- requirement: "Justify added patterns and set the doubling target from counts of ID-bearing items."
@@ -1,3 +0,0 @@
1
- *
2
- !.gitignore
3
- !README.md
@@ -1,3 +0,0 @@
1
- *
2
- !.gitignore
3
- !README.md
@@ -1,5 +0,0 @@
1
- *
2
- !.gitignore
3
- !README.md
4
- !review-*/
5
- !review-*/**