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.
Files changed (123) hide show
  1. package/README.md +48 -2
  2. package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +1 -0
  3. package/assets/init/.qfai/assistant/agents/backend-engineer.md +1 -0
  4. package/assets/init/.qfai/assistant/agents/completion-reviewer.md +13 -2
  5. package/assets/init/.qfai/assistant/agents/delivery-planner.md +9 -0
  6. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +1 -0
  7. package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +6 -0
  8. package/assets/init/.qfai/assistant/agents/orchestrator.md +2 -2
  9. package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +96 -3
  10. package/assets/init/.qfai/assistant/agents/test-design-analyst.md +20 -3
  11. package/assets/init/.qfai/assistant/catalog/cli-ux-guidelines.md +2 -2
  12. package/assets/init/.qfai/assistant/catalog/spec_required_files.json +2 -1
  13. package/assets/init/.qfai/assistant/catalog/test-layers.md +355 -14
  14. package/assets/init/.qfai/assistant/catalog/worklog-entry.schema.md +165 -0
  15. package/assets/init/.qfai/assistant/constitution/communication.md +1 -1
  16. package/assets/init/.qfai/assistant/constitution/drift-protocol.md +304 -10
  17. package/assets/init/.qfai/assistant/constitution/quality.md +35 -5
  18. package/assets/init/.qfai/assistant/constitution/requirements-decomposition.md +37 -0
  19. package/assets/init/.qfai/assistant/constitution/shared-skill-delegation-baseline.md +244 -8
  20. package/assets/init/.qfai/assistant/constitution/shared-skill-operating-baseline.md +122 -5
  21. package/assets/init/.qfai/assistant/constitution/workflow.md +53 -7
  22. package/assets/init/.qfai/assistant/manifest/agent-catalog.yml +316 -945
  23. package/assets/init/.qfai/assistant/manifest/agent-routing.yml +50 -4
  24. package/assets/init/.qfai/assistant/manifest/review-profiles.yml +9 -0
  25. package/assets/init/.qfai/assistant/process/migrations/v1.4.27-atdd-alignment.md +1 -1
  26. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +61 -21
  27. package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +23 -4
  28. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +15 -7
  29. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +8 -4
  30. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +2 -2
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +17 -7
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +10 -4
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +1 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +4 -4
  35. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +1 -1
  36. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +1 -1
  37. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +17 -7
  38. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +1 -1
  39. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
  40. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +11 -3
  41. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/05_Scope.md +5 -2
  42. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
  43. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +7 -4
  44. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
  45. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
  46. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
  47. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +14 -7
  48. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
  49. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +16 -7
  50. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +9 -6
  51. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +3 -2
  52. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +4 -2
  53. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +250 -128
  54. package/assets/init/.qfai/assistant/skills/qfai-implement/references/change-request-reset.md +93 -0
  55. package/assets/init/.qfai/assistant/skills/qfai-implement/references/checkpoint-verification.md +106 -0
  56. package/assets/init/.qfai/assistant/skills/qfai-implement/references/cross-spec-ownership.md +73 -0
  57. package/assets/init/.qfai/assistant/skills/qfai-implement/references/evidence-revision.md +77 -0
  58. package/assets/init/.qfai/assistant/skills/qfai-implement/references/execution-ledger.md +303 -0
  59. package/assets/init/.qfai/assistant/skills/qfai-implement/references/final-checklist.md +19 -0
  60. package/assets/init/.qfai/assistant/skills/qfai-implement/references/finding-classification.md +49 -0
  61. package/assets/init/.qfai/assistant/skills/qfai-implement/references/ledger-preconditions.md +55 -0
  62. package/assets/init/.qfai/assistant/skills/qfai-implement/references/oracle-strength.md +81 -0
  63. package/assets/init/.qfai/assistant/skills/qfai-implement/references/parallelization-policy.md +235 -0
  64. package/assets/init/.qfai/assistant/skills/qfai-implement/references/red-admissibility.md +91 -0
  65. package/assets/init/.qfai/assistant/skills/qfai-implement/references/red-not-observable.md +70 -0
  66. package/assets/init/.qfai/assistant/skills/qfai-implement/references/relevant-test-suite.md +87 -0
  67. package/assets/init/.qfai/assistant/skills/qfai-implement/references/review-artifact-layout.md +31 -0
  68. package/assets/init/.qfai/assistant/skills/qfai-implement/references/round-evidence.md +102 -0
  69. package/assets/init/.qfai/assistant/skills/qfai-implement/references/selector-granularity.md +24 -0
  70. package/assets/init/.qfai/assistant/skills/qfai-implement/references/volume-policy.md +149 -0
  71. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +35 -18
  72. package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/evidence-requirements.md +1 -1
  73. package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/generator-prompt.md +106 -7
  74. package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/handoff.md +40 -11
  75. package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/iteration-loop.md +48 -1
  76. package/assets/init/.qfai/assistant/skills/qfai-prototyping/templates/DESIGN.md.sample +6 -0
  77. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +82 -22
  78. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/contract-artifact-rules.md +148 -0
  79. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +10 -4
  80. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +1 -1
  81. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +4 -2
  82. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +18 -0
  83. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +44 -3
  84. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-triage.md +60 -7
  85. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +157 -5
  86. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/change-request.md +125 -0
  87. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/db-contract.sample.sql +6 -0
  88. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/sdd-spec.md +92 -0
  89. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/01_Objective.md +27 -0
  90. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/02_Initiative.md +30 -0
  91. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/05_Contracts.md +16 -6
  92. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/06_Glossary.md +19 -0
  93. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/07_Constraints.md +25 -0
  94. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/08_Decisions.md +22 -2
  95. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +37 -10
  96. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/02_User-stories.md +20 -0
  97. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/03_Acceptance-Criteria.md +19 -0
  98. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/04_Business-Rules.md +32 -3
  99. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +56 -0
  100. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/07_Decisions.md +29 -2
  101. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/10_Plan.md +41 -0
  102. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/16_Traceability-ledger.md +58 -0
  103. package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/tdd/test-list.md +56 -0
  104. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +57 -102
  105. package/assets/init/.qfai/assistant/skills/qfai-verify/references/articles.md +24 -0
  106. package/assets/init/.qfai/assistant/skills/qfai-verify/references/context-load.md +22 -0
  107. package/assets/init/.qfai/assistant/skills/qfai-verify/references/verify-output-contract.md +48 -0
  108. package/assets/init/.qfai/assistant/skills/qfai-verify/templates/verify-evidence.md +48 -0
  109. package/assets/init/.qfai/assistant/skills/web-research/SKILL.md +25 -7
  110. package/assets/init/.qfai/waivers.yml +11 -5
  111. package/assets/init/root/DESIGN.md +6 -0
  112. package/assets/init/root/qfai.config.yaml +15 -12
  113. package/dist/cli/index.cjs +11023 -7139
  114. package/dist/cli/index.cjs.map +1 -1
  115. package/dist/cli/index.mjs +10963 -7080
  116. package/dist/cli/index.mjs.map +1 -1
  117. package/dist/index.cjs +8782 -5257
  118. package/dist/index.cjs.map +1 -1
  119. package/dist/index.d.cts +280 -8
  120. package/dist/index.d.ts +280 -8
  121. package/dist/index.mjs +11776 -8264
  122. package/dist/index.mjs.map +1 -1
  123. package/package.json +18 -19
@@ -2,7 +2,15 @@
2
2
 
3
3
  ## User Stories
4
4
 
5
- ### US-001: <Story Title>
5
+ > Discussion-layer IDs use the `D` prefix (`DUS-`, `DAC-`) so they can never be read as
6
+ > spec-layer IDs (`US-0001`, `AC-0001`) or as a traceability scenario tag (`SC-NNNN-NNNN`).
7
+ > Carry these IDs into the spec layer as `<pack-id>#<discussion-id>`: the `- Source:` line of
8
+ > the matching `## US-NNNN` block in `qfai-sdd/templates/specs/spec/02_User-stories.md`, and
9
+ > the `# Source:` comment inside the AC's Gherkin block in `03_Acceptance-Criteria.md`. The
10
+ > AC Catalog table has no `Source` column — provenance lives in the required Gherkin block so
11
+ > a spec that omits the optional catalog still carries it.
12
+
13
+ ### DUS-001: <Story Title>
6
14
 
7
15
  - As a: <role>
8
16
  - I want: <action>
@@ -10,8 +18,8 @@
10
18
 
11
19
  #### Acceptance Criteria
12
20
 
13
- - AC-001-01:
14
- - AC-001-02:
21
+ - DAC-001-01:
22
+ - DAC-001-02:
15
23
 
16
24
  #### Example Seeds
17
25
 
@@ -20,10 +20,13 @@
20
20
 
21
21
  ## Success Criteria
22
22
 
23
+ > IDs use the `DSC-` prefix. Bare `SC-NNNN-NNNN` is reserved for the traceability
24
+ > scenario tag (`QFAI:SC-...`) and must not be used for a success criterion.
25
+
23
26
  | Criterion | Measurement | Target | Priority |
24
27
  | --------- | ----------- | ------- | -------- |
25
- | SC-001 | <metric> | <value> | must |
26
- | SC-002 | <metric> | <value> | should |
28
+ | DSC-001 | <metric> | <value> | must |
29
+ | DSC-002 | <metric> | <value> | should |
27
30
 
28
31
  ## Assumptions
29
32
 
@@ -1,6 +1,6 @@
1
1
  # 07 NFR (Non-Functional Requirements)
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, see uiux/20_design_eval_invariant.md for usability measurement targets -->
3
+ <!-- UX-INTENT: If UI-bearing, see uiux/40_screen_contracts.md for usability measurement targets -->
4
4
 
5
5
  ## Requirements Table
6
6
 
@@ -1,12 +1,15 @@
1
1
  # 09 Constraints
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, see uiux/20_design_eval_invariant.md for accessibility constraints (invariant layer) -->
3
+ <!-- UX-INTENT: If UI-bearing, see root DESIGN.md (top-level `accessibility`) and uiux/40_screen_contracts.md for accessibility constraints -->
4
4
 
5
5
  ## Technical Constraints
6
6
 
7
- | ID | Constraint | Rationale | Impact |
8
- | ---- | ---------- | --------- | ------ |
9
- | TC-1 | TBD | TBD | TBD |
7
+ > IDs use the `DTC-` prefix. Bare `TC-NNNN` is the spec-layer Test Case ID and must not
8
+ > be used for a technical constraint.
9
+
10
+ | ID | Constraint | Rationale | Impact |
11
+ | ----- | ---------- | --------- | ------ |
12
+ | DTC-1 | TBD | TBD | TBD |
10
13
 
11
14
  ## Operational Constraints
12
15
 
@@ -1,6 +1,6 @@
1
1
  # 10 Policy
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, see uiux/10_implementation_strategy.md for design policy alignment -->
3
+ <!-- UX-INTENT: If UI-bearing, see root DESIGN.md for design policy alignment (brand SSOT) -->
4
4
 
5
5
  ## Security Policy
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 11 OQ Register
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, track design direction OQs from uiux/30_option_comparison.md and uiux/31_selected_anchor_screen.md -->
3
+ <!-- UX-INTENT: If UI-bearing, track design direction OQs against root DESIGN.md and uiux/40_screen_contracts.md -->
4
4
 
5
5
  ## OQ Table
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 12 OQ Resolution Log
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, log design critique resolutions from uiux/30_option_comparison.md and uiux/31_selected_anchor_screen.md -->
3
+ <!-- UX-INTENT: If UI-bearing, log design critique resolutions from uiux/50_review_input_bundle.md -->
4
4
 
5
5
  ## Resolution Timeline
6
6
 
@@ -4,7 +4,13 @@
4
4
 
5
5
  - scope: `discussion-YYYYMMDDhhmmssSSS`
6
6
  - layer: `discussion`
7
- - review-pack: `review-YYYYMMDDhhmmssSSS`
7
+ - review-pack: `assigned per review cycle` — see `.qfai/review/`
8
+
9
+ <!-- Do NOT record a single review-pack id here. `references/review-cycle-playbook.md`
10
+ requires a new review pack per cycle, so one discussion pack is reviewed by N packs.
11
+ The authoritative pointer for a given cycle is that pack's own
12
+ `.qfai/review/review-<id>/review_request.md#Scope`, which names the directory that
13
+ contains it. -->
8
14
 
9
15
  ## Target Files
10
16
 
@@ -35,11 +41,12 @@
35
41
  - Acceptance criteria are consistent with flows/state transitions
36
42
  - Security/operations risks are reflected in diagrams where relevant
37
43
  - Mermaid diagrams use ` ```mermaid ` fences only
38
- - Root `DESIGN.md` completeness and differentiation clarity (when UI-bearing)
39
- - Reference pool freshness and translation quality into `DESIGN.md` (when UI-bearing)
44
+ - Root `DESIGN.md` completeness and differentiation clarity — it parses, and its `# Brand Philosophy` body carries do/don't, brand signals, and exploration references framed as **deviate-from** inputs (when UI-bearing)
45
+ - Reference pool freshness and translation quality into `DESIGN.md`, and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
46
+ - Canonical `uiux/` family complete — `00_index.md`, `40_screen_contracts.md`, `50_review_input_bundle.md` — with no forbidden legacy sidecar (when UI-bearing)
40
47
  - Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed in `core/prototyping/evaluatorReview.ts#ORDINAL_AXES` (when UI-bearing)
41
48
  - Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
42
- - Best-of-history handling and winner selection consistency (when UI-bearing)
49
+ - Planner-first discipline — exploration directions stay unranked, no single visual winner was selected (`qfai-discussion/SKILL.md`), and latest-iteration handling matches the one-lineage / no-best-of-history rule in `qfai-prototyping/SKILL.md` (when UI-bearing)
43
50
  - Screen contract sufficiency and strong schema completeness (when UI-bearing)
44
51
  - Generic fallback risk — ensure no unreviewed generic/placeholder UI remains (when UI-bearing)
45
52
  - OQ register exit condition (open count = 0)
@@ -51,14 +58,14 @@
51
58
 
52
59
  - Brand SSOT: verify root `DESIGN.md` defines `brand`, `audience`, and `visual.*` tokens, and that `# Brand Philosophy` body documents product intent, must-preserve interactions, brand signals, and differentiation targets
53
60
  - Evaluator axes: confirm reviewers will score against the four canonical UX axes (information architecture / navigation flow / usability / functionality) — these are fixed in `core/prototyping/evaluatorReview.ts#ORDINAL_AXES` and no longer authored as sidecar files
54
- - History handling: verify `uiux/50_review_input_bundle.md` documents best-of-history comparison instead of latest-only preference
61
+ - History handling: verify `uiux/50_review_input_bundle.md` matches the one-lineage rule in `qfai-prototyping/SKILL.md` — no parallel candidates, no best-of-history, the latest iteration is accepted
55
62
 
56
63
  ## Sidecar Artifact Review Scope
57
64
 
58
65
  <!-- Required for UI-bearing packs. Reviews root DESIGN.md + uiux/ sidecar artifacts. -->
59
66
 
60
67
  - Verify root `DESIGN.md` is specific enough to support divergent exploration (front-matter populated, `# Brand Philosophy` body written, do/don't and reference notes framed as deviate-from inputs)
61
- - Verify `uiux/50_review_input_bundle.md` preserves best-of-history handling
68
+ - Verify `uiux/50_review_input_bundle.md` states the one-lineage handling (latest iteration accepted, no best-of-history)
62
69
  - Verify screen contracts use nested strong schema with all 4 required states (default/loading/empty/error) and treat `uiux/40_screen_contracts.md` as the state SSOT
63
70
 
64
71
  ## Required Reviewers
@@ -67,7 +74,7 @@
67
74
  - Always run reviewers listed in `profiles.<routing_profile>.always_required` in `review-profiles.yml`.
68
75
  - Add `architecture-reviewer` only when architecture-affecting decisions exist.
69
76
  - Add `product-surface-reviewer` only when the pack is UI-bearing.
70
- - Allowed verdicts: `PASS`, `FAIL`.
77
+ - Allowed in-flight verdicts: `PASS`, `REVISE`. `REVISE` is what starts the fix-and-rerun cycle; it serializes to `status: "FAIL"` when the pack's `summary.json` is written (see `.qfai/assistant/constitution/shared-skill-delegation-baseline.md#verdict-vocabulary`).
71
78
 
72
79
  ## RCP Rules (Mandatory)
73
80
 
@@ -1,6 +1,6 @@
1
1
  # 99 Delta
2
2
 
3
- <!-- UX-INTENT: If UI-bearing, record design direction changes from uiux/30_option_comparison.md and uiux/31_selected_anchor_screen.md -->
3
+ <!-- UX-INTENT: If UI-bearing, record design direction changes against root DESIGN.md and uiux/40_screen_contracts.md -->
4
4
 
5
5
  ## Change History
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  - reviewer_id: `Rxx`
4
4
  - reviewer_role: `<reviewer-name>`
5
- - verdict: `PASS` <!-- PASS | FAIL -->
5
+ - Result: `PASS` <!-- PASS | REVISE -->
6
6
  - reviewed_at: `YYYY-MM-DDThh:mm:ssZ`
7
7
 
8
8
  ## Checked
@@ -13,11 +13,14 @@
13
13
  - [ ] Clarity and actionability
14
14
  - [ ] Mermaid diagrams are sufficient for decisions (scope/AC/risk consistency)
15
15
  - [ ] Mermaid diagrams use ` ```mermaid ` fences only
16
- - [ ] Taste interview completeness (when UI-bearing)
17
- - [ ] Trend freshness and evidence traceability (when UI-bearing)
18
- - [ ] 3-layer evaluation quality and traceability (when UI-bearing)
19
- - [ ] Option comparison integrity and selected anchor clarity (when UI-bearing)
20
- - [ ] Strong screen contract completeness (when UI-bearing)
16
+ - [ ] Root `DESIGN.md` completeness and differentiation clarity — it parses, and its `# Brand Philosophy` body carries do/don't, brand signals, and exploration references framed as **deviate-from** inputs (when UI-bearing)
17
+ - [ ] Reference pool freshness and translation quality into `DESIGN.md`, and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
18
+ - [ ] Canonical `uiux/` family complete — `00_index.md`, `40_screen_contracts.md`, `50_review_input_bundle.md` — with no forbidden legacy sidecar (when UI-bearing)
19
+ - [ ] Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed in `core/prototyping/evaluatorReview.ts#ORDINAL_AXES` (when UI-bearing)
20
+ - [ ] Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
21
+ - [ ] Planner-first discipline — exploration directions stay unranked, no single visual winner was selected (`qfai-discussion/SKILL.md`), and latest-iteration handling matches the one-lineage / no-best-of-history rule in `qfai-prototyping/SKILL.md` (when UI-bearing)
22
+ - [ ] Screen contract sufficiency and strong schema completeness (when UI-bearing)
23
+ - [ ] Generic fallback risk — ensure no unreviewed generic/placeholder UI remains (when UI-bearing)
21
24
  - [ ] OQ register exit condition (open count = 0)
22
25
  - [ ] Deferred items have full metadata
23
26
 
@@ -27,4 +30,10 @@
27
30
 
28
31
  ## Decision
29
32
 
30
- - PASS / FAIL
33
+ - PASS / REVISE
34
+
35
+ > In-flight reviewer responses use `PASS` / `REVISE`, per
36
+ > `.qfai/assistant/constitution/shared-skill-delegation-baseline.md#reviewer-response-template`.
37
+ > A `REVISE` verdict maps to `status: "FAIL"` when the review pack's `summary.json` is written
38
+ > — see `.qfai/assistant/constitution/shared-skill-delegation-baseline.md#verdict-vocabulary`.
39
+ > Do not invent a third verdict.
@@ -22,11 +22,14 @@
22
22
  - Acceptance criteria are consistent with flows/state transitions
23
23
  - Security/operations risks are reflected in diagrams where relevant
24
24
  - Mermaid diagrams use ` ```mermaid ` fences only (no ` ```text ` or language-less fences)
25
- - Taste interview completeness and clarity (when UI-bearing)
26
- - Trend freshness and evidence traceability (when UI-bearing)
27
- - 3-layer evaluation quality and traceability (when UI-bearing)
28
- - Option comparison integrity and selected anchor clarity (when UI-bearing)
29
- - Strong screen contract completeness (when UI-bearing)
25
+ - Root `DESIGN.md` completeness and differentiation clarity — it parses, and its `# Brand Philosophy` body carries do/don't, brand signals, and exploration references framed as **deviate-from** inputs (when UI-bearing)
26
+ - Reference pool freshness and translation quality into `DESIGN.md`, and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
27
+ - Canonical `uiux/` family complete — `00_index.md`, `40_screen_contracts.md`, `50_review_input_bundle.md` — with no forbidden legacy sidecar (when UI-bearing)
28
+ - Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed in `core/prototyping/evaluatorReview.ts#ORDINAL_AXES` (when UI-bearing)
29
+ - Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
30
+ - Planner-first discipline — exploration directions stay unranked, no single visual winner was selected (`qfai-discussion/SKILL.md`), and latest-iteration handling matches the one-lineage / no-best-of-history rule in `qfai-prototyping/SKILL.md` (when UI-bearing)
31
+ - Screen contract sufficiency and strong schema completeness (when UI-bearing)
32
+ - Generic fallback risk — ensure no unreviewed generic/placeholder UI remains (when UI-bearing)
30
33
  - OQ register exit condition (open count = 0)
31
34
  - Deferred items have full metadata in `13_Deferred.md`
32
35
  - Validate hard gate evidence exists (`.qfai/report/validate.log`).
@@ -37,7 +40,7 @@
37
40
  - Resolve reviewers from `.qfai/assistant/manifest/agent-routing.yml` and `.qfai/assistant/manifest/review-profiles.yml`.
38
41
  - Always run reviewers listed in `profiles.<routing_profile>.always_required` in `review-profiles.yml`.
39
42
  - Add conditional reviewers according to `conditional_required` and related routing rules defined in `agent-routing.yml` and `review-profiles.yml` (do not introduce additional ad-hoc conditions in this template).
40
- - Allowed verdicts: `PASS`, `FAIL`.
43
+ - Allowed in-flight verdicts: `PASS`, `REVISE`. `REVISE` is what starts the fix-and-rerun cycle; it serializes to `status: "FAIL"` when the pack's `summary.json` is written (see `.qfai/assistant/constitution/shared-skill-delegation-baseline.md#verdict-vocabulary`).
41
44
 
42
45
  ## RCP Rules (Mandatory)
43
46
 
@@ -40,5 +40,6 @@ Draft interaction contracts for key screens using the strong screen contract sch
40
40
 
41
41
  ## Cross-references
42
42
 
43
- - Selected anchor: `31_selected_anchor_screen.md`
44
- - Option comparison: `30_option_comparison.md`
43
+ - Brand SSOT (product intent, brand signals, anti-goals): root `DESIGN.md`
44
+ - Sidecar manifest: `00_index.md`
45
+ - Review handoff: `50_review_input_bundle.md`
@@ -17,12 +17,14 @@ Consolidate all sidecar artifacts into a review-ready bundle for design reviewer
17
17
  - Required references are all present and complete.
18
18
  - Stale / overused AI slop patterns are explicitly avoided.
19
19
  - Reference research is translated into local design decisions on root `DESIGN.md` and screen contracts.
20
- - Later iterations are not automatically preferred over stronger middle iterations.
20
+ - Iteration handling follows the one-lineage rule in `qfai-prototyping/SKILL.md`: no parallel
21
+ candidates and no best-of-history — the latest iteration is the accepted one. A middle iteration
22
+ that looked stronger is addressed by pivoting the next cycle, not by reaching back for it.
21
23
 
22
24
  ## Review Checklist
23
25
 
24
26
  - [ ] Root `DESIGN.md` aligns with surface type and project constraints
25
27
  - [ ] Reference pool is complete and translated into local design decisions
26
28
  - [ ] Evaluator scoring covers all four canonical UX axes (information architecture / navigation flow / usability / functionality) — fixed in `core/prototyping/evaluatorReview.ts#ORDINAL_AXES`
27
- - [ ] Best-of-history handling is explicit
29
+ - [ ] One-lineage handling is explicit (latest iteration accepted; no best-of-history)
28
30
  - [ ] Screen contracts cover all required states