qfai 1.10.0 → 1.10.2
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 +95 -25
- package/assets/init/.qfai/assistant/README.md +27 -0
- package/assets/init/.qfai/assistant/agents/completion-reviewer.md +17 -1
- package/assets/init/.qfai/assistant/agents/delivery-planner.md +8 -0
- package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +12 -1
- package/assets/init/.qfai/assistant/agents/orchestrator.md +2 -2
- package/assets/init/.qfai/assistant/agents/product-experience-architect.md +2 -1
- package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +1 -1
- package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +99 -14
- package/assets/init/.qfai/assistant/agents/test-design-analyst.md +4 -1
- package/assets/init/.qfai/assistant/catalog/cli-ux-guidelines.md +3 -0
- package/assets/init/.qfai/assistant/catalog/test-layers-ci-lanes.md +60 -0
- package/assets/init/.qfai/assistant/catalog/test-layers.md +169 -87
- package/assets/init/.qfai/assistant/catalog/worklog-entry.schema.md +4 -3
- package/assets/init/.qfai/assistant/constitution/agent-selection.md +7 -1
- package/assets/init/.qfai/assistant/constitution/communication.md +1 -1
- package/assets/init/.qfai/assistant/constitution/constitution.md +8 -2
- package/assets/init/.qfai/assistant/constitution/drift-protocol.md +177 -14
- package/assets/init/.qfai/assistant/constitution/review-convergence.md +121 -0
- package/assets/init/.qfai/assistant/constitution/shared-skill-delegation-baseline.md +205 -89
- package/assets/init/.qfai/assistant/constitution/shared-skill-operating-baseline.md +59 -5
- package/assets/init/.qfai/assistant/manifest/agent-catalog.yml +145 -21
- package/assets/init/.qfai/assistant/manifest/agent-routing.yml +69 -3
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +131 -74
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/credential-reuse.md +146 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/red-provenance.md +498 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/review-fix-rounds.md +128 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/scaffolding.md +71 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/shared-test-artifacts.md +124 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/stale-manifest.md +34 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +38 -1
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +4 -3
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +10 -8
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +23 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +16 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +47 -11
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +6 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +2 -2
- 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 +40 -6
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +7 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +3 -3
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +4 -3
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +3 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +14 -5
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +17 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +13 -8
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +83 -84
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/checkpoint-verification.md +339 -39
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/cross-spec-ownership.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/evidence-revision.md +348 -15
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/execution-ledger.md +203 -32
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/final-checklist.md +159 -12
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/finding-classification.md +70 -5
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/ledger-preconditions.md +55 -14
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/parallelization-policy.md +92 -3
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/red-not-observable.md +48 -6
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/relevant-test-suite.md +13 -1
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/review-artifact-layout.md +71 -9
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/round-evidence.md +31 -7
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/upstream-artifact-ordering.md +33 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/references/volume-policy.md +19 -12
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +76 -8
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/design-md-spec.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/evidence-requirements.md +7 -4
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/generator-prompt.md +83 -22
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md +29 -4
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +134 -20
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/contract-artifact-rules.md +31 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +22 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +41 -5
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +16 -4
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-triage.md +77 -7
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +60 -11
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/ui-design-contract-normalization.md +9 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/change-request.md +14 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/contracts/ui-contract.sample.yaml +13 -3
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/sdd-spec.md +5 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/report/preflight_summary.md +3 -2
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/04_Business-Flow.md +4 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/05_Contracts.md +12 -5
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +8 -9
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/02_User-stories.md +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/tdd/test-list.md +68 -23
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +4 -4
- package/assets/init/.qfai/assistant/skills/qfai-verify/references/articles.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-verify/references/validate-json-schema.md +79 -0
- package/assets/init/.qfai/assistant/skills/web-research/SKILL.md +3 -2
- package/assets/init/root/.github/workflows/qfai-tests.yml +318 -0
- package/assets/init/root/.github/workflows/qfai-validate.yml +327 -24
- package/assets/init/root/qfai.config.yaml +11 -2
- package/dist/cli/index.cjs +25083 -11488
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +25216 -11589
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +16731 -8386
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +407 -17
- package/dist/index.d.ts +407 -17
- package/dist/index.mjs +16701 -8370
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -1
|
@@ -12,6 +12,40 @@
|
|
|
12
12
|
- `secondary`: Derived information (summaries, analyses).
|
|
13
13
|
- `external`: Third-party references (specs, RFCs, vendor docs).
|
|
14
14
|
|
|
15
|
+
## Research Summary
|
|
16
|
+
|
|
17
|
+
Research-First Protocol output. Schema: `constitution/research-first-protocol.md`.
|
|
18
|
+
Replace every `[...]` placeholder with real research: validation rejects
|
|
19
|
+
bracketed `title` / `url` / `reason` values and requires `published` to be a
|
|
20
|
+
real `YYYY-MM-DD` date, so an unfilled block below reports errors rather than
|
|
21
|
+
passing.
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
research_summary:
|
|
25
|
+
sources:
|
|
26
|
+
- id: SRC-0001
|
|
27
|
+
title: [Source title]
|
|
28
|
+
url: [https://example.com/reference]
|
|
29
|
+
published: [YYYY-MM-DD]
|
|
30
|
+
best_practices:
|
|
31
|
+
- id: BP-0001
|
|
32
|
+
category: [Category]
|
|
33
|
+
title: [Best practice title]
|
|
34
|
+
description: [What to do and why]
|
|
35
|
+
source_id: SRC-0001
|
|
36
|
+
anti_patterns:
|
|
37
|
+
- id: AP-0001
|
|
38
|
+
category: [Category]
|
|
39
|
+
title: [Anti-pattern title]
|
|
40
|
+
description: [What to avoid and why]
|
|
41
|
+
source_id: SRC-0001
|
|
42
|
+
reflection:
|
|
43
|
+
- source_id: SRC-0001
|
|
44
|
+
finding: [What the source implies for this project]
|
|
45
|
+
action: apply
|
|
46
|
+
reason: [Why this action was chosen]
|
|
47
|
+
```
|
|
48
|
+
|
|
15
49
|
## Trend Scan
|
|
16
50
|
|
|
17
51
|
### user expectation / market norm
|
|
@@ -62,7 +96,7 @@
|
|
|
62
96
|
- reference: [Source name or URL]
|
|
63
97
|
- observation: [What color trend or signal was observed]
|
|
64
98
|
- decision_connection: [How the color signal translates into this project]
|
|
65
|
-
- evaluation_connection: [
|
|
99
|
+
- evaluation_connection: [How the color signal should be evaluated in design review]
|
|
66
100
|
- local_implication: [What color choices should change locally]
|
|
67
101
|
|
|
68
102
|
### typography
|
|
@@ -73,7 +107,7 @@
|
|
|
73
107
|
- reference: [Source name or URL]
|
|
74
108
|
- observation: [What typographic trend or signal was observed]
|
|
75
109
|
- decision_connection: [How the typography signal translates into this project]
|
|
76
|
-
- evaluation_connection: [
|
|
110
|
+
- evaluation_connection: [How the typography signal should be evaluated in design review]
|
|
77
111
|
- local_implication: [What typeface or scale choices should change locally]
|
|
78
112
|
|
|
79
113
|
### Visual
|
|
@@ -84,7 +118,7 @@
|
|
|
84
118
|
- reference: [Source name or URL]
|
|
85
119
|
- observation: [What visual motif trend or signal was observed]
|
|
86
120
|
- decision_connection: [How the visual motif translates into this project]
|
|
87
|
-
- evaluation_connection: [
|
|
121
|
+
- evaluation_connection: [How the visual motif should be evaluated in design review]
|
|
88
122
|
- local_implication: [What visual motif choices should change locally]
|
|
89
123
|
|
|
90
124
|
### spacing
|
|
@@ -95,7 +129,7 @@
|
|
|
95
129
|
- reference: [Source name or URL]
|
|
96
130
|
- observation: [What spacing convention or density trend was observed]
|
|
97
131
|
- decision_connection: [How the spacing signal translates into this project]
|
|
98
|
-
- evaluation_connection: [
|
|
132
|
+
- evaluation_connection: [How the spacing signal should be evaluated in design review]
|
|
99
133
|
- local_implication: [What spacing or density choices should change locally]
|
|
100
134
|
|
|
101
135
|
### shape
|
|
@@ -106,7 +140,7 @@
|
|
|
106
140
|
- reference: [Source name or URL]
|
|
107
141
|
- observation: [What shape language trend was observed (border-radius, geometric vs organic, etc.)]
|
|
108
142
|
- decision_connection: [How the shape language translates into this project]
|
|
109
|
-
- evaluation_connection: [
|
|
143
|
+
- evaluation_connection: [How the shape signal should be evaluated in design review]
|
|
110
144
|
- local_implication: [What shape-language choices should change locally]
|
|
111
145
|
|
|
112
146
|
### imagery
|
|
@@ -117,7 +151,7 @@
|
|
|
117
151
|
- reference: [Source name or URL]
|
|
118
152
|
- observation: [What imagery or illustration style trend was observed]
|
|
119
153
|
- decision_connection: [How the imagery signal translates into this project]
|
|
120
|
-
- evaluation_connection: [
|
|
154
|
+
- evaluation_connection: [How the imagery signal should be evaluated in design review]
|
|
121
155
|
- local_implication: [What imagery or illustration choices should change locally]
|
|
122
156
|
|
|
123
157
|
### design_guideline_research
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
- Acceptance criteria are consistent with flows/state transitions
|
|
42
42
|
- Security/operations risks are reflected in diagrams where relevant
|
|
43
43
|
- Mermaid diagrams use ` ```mermaid ` fences only
|
|
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
|
|
45
|
-
- Reference pool freshness and translation quality into `DESIGN.md
|
|
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 a visual-prototyping surface — `web`/`mobile`/`desktop`/`mixed` — is classified as primary or secondary; a cli-only pack authors no root `DESIGN.md`, so skip this line for it)
|
|
45
|
+
- Reference pool freshness and translation quality — into root `DESIGN.md` when a visual-prototyping surface is classified, otherwise into `uiux/40_screen_contracts.md` — and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
|
|
46
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)
|
|
47
|
-
- Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed in
|
|
47
|
+
- Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed by the review validation the QFAI CLI applies (restated in `.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`) (when UI-bearing)
|
|
48
48
|
- Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
|
|
49
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)
|
|
50
50
|
- Screen contract sufficiency and strong schema completeness (when UI-bearing)
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
|
|
57
57
|
<!-- Required for UI-bearing packs. Verifies brand SSOT and sidecar alignment. -->
|
|
58
58
|
|
|
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
|
|
60
|
-
- Evaluator axes: confirm reviewers will score against the four canonical UX axes (information architecture / navigation flow / usability / functionality) — these are fixed in
|
|
59
|
+
- Brand SSOT (skip on a cli-only pack; required as soon as `web`/`mobile`/`desktop`/`mixed` appears as primary or secondary surface): 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
|
|
60
|
+
- Evaluator axes: confirm reviewers will score against the four canonical UX axes (information architecture / navigation flow / usability / functionality) — these are fixed by the review validation the QFAI CLI applies (restated in `.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`) and no longer authored as sidecar files
|
|
61
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
|
|
62
62
|
|
|
63
63
|
## Sidecar Artifact Review Scope
|
|
64
64
|
|
|
65
|
-
<!-- Required for UI-bearing packs. Reviews root DESIGN.md + uiux/ sidecar artifacts. -->
|
|
65
|
+
<!-- Required for UI-bearing packs. Reviews root DESIGN.md (visual-prototyping surfaces) + uiux/ sidecar artifacts (every UI-bearing surface, cli included). -->
|
|
66
66
|
|
|
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)
|
|
67
|
+
- Verify root `DESIGN.md` is specific enough (skip on a cli-only pack, which authors none) to support divergent exploration (front-matter populated, `# Brand Philosophy` body written, do/don't and reference notes framed as deviate-from inputs)
|
|
68
68
|
- Verify `uiux/50_review_input_bundle.md` states the one-lineage handling (latest iteration accepted, no best-of-history)
|
|
69
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
|
|
70
70
|
|
|
@@ -13,10 +13,10 @@
|
|
|
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
|
-
- [ ] 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
|
|
17
|
-
- [ ] Reference pool freshness and translation quality into `DESIGN.md
|
|
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 a visual-prototyping surface — `web`/`mobile`/`desktop`/`mixed` — is classified as primary or secondary; a cli-only pack authors no root `DESIGN.md`, so skip this line for it)
|
|
17
|
+
- [ ] Reference pool freshness and translation quality — into root `DESIGN.md` when a visual-prototyping surface is classified, otherwise into `uiux/40_screen_contracts.md` — and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
|
|
18
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
|
|
19
|
+
- [ ] Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed by the review validation the QFAI CLI applies (restated in `.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`) (when UI-bearing)
|
|
20
20
|
- [ ] Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
|
|
21
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
22
|
- [ ] Screen contract sufficiency and strong schema completeness (when UI-bearing)
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Scope
|
|
4
4
|
|
|
5
|
+
- Producer: `discussion`
|
|
5
6
|
- scope: `discussion-YYYYMMDDhhmmssSSS`
|
|
6
7
|
- layer: `discussion`
|
|
7
8
|
- review-pack: `review-YYYYMMDDhhmmssSSS`
|
|
@@ -22,10 +23,10 @@
|
|
|
22
23
|
- Acceptance criteria are consistent with flows/state transitions
|
|
23
24
|
- Security/operations risks are reflected in diagrams where relevant
|
|
24
25
|
- Mermaid diagrams use ` ```mermaid ` fences only (no ` ```text ` or language-less fences)
|
|
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
|
|
26
|
-
- Reference pool freshness and translation quality into `DESIGN.md
|
|
26
|
+
- 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 a visual-prototyping surface — `web`/`mobile`/`desktop`/`mixed` — is classified as primary or secondary; a cli-only pack authors no root `DESIGN.md`, so skip this line for it)
|
|
27
|
+
- Reference pool freshness and translation quality — into root `DESIGN.md` when a visual-prototyping surface is classified, otherwise into `uiux/40_screen_contracts.md` — and Trend Scan freshness and evidence traceability at `04_Sources.md#Trend Scan` (when UI-bearing)
|
|
27
28
|
- 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
|
|
29
|
+
- Evaluator scoring covers all four canonical UX axes — information architecture / navigation flow / usability / functionality, fixed by the review validation the QFAI CLI applies (restated in `.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`) (when UI-bearing)
|
|
29
30
|
- Evaluator critique skepticism and blandness rejection quality applied against the four axes (when UI-bearing)
|
|
30
31
|
- 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
32
|
- Screen contract sufficiency and strong schema completeness (when UI-bearing)
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "2.0",
|
|
3
|
+
"revision_form": "content-hash",
|
|
4
|
+
"revision": "<git rev, or working-tree+<content hash>>",
|
|
3
5
|
"created_at": "YYYY-MM-DDThh:mm:ssZ",
|
|
6
|
+
"producer": "discussion",
|
|
4
7
|
"target": {
|
|
5
8
|
"kind": "discussion",
|
|
6
9
|
"path": ".qfai/discussion/discussion-YYYYMMDDhhmmssSSS"
|
|
@@ -9,7 +9,9 @@ Manifest of all UI/UX sidecar artifacts produced during a UI-bearing discussion.
|
|
|
9
9
|
Brand-level intent (product intent, brand signals, anti-goals,
|
|
10
10
|
reference pool framed as deviate-from inputs) lives in root
|
|
11
11
|
`DESIGN.md` (front-matter + `# Brand Philosophy` body), not in this
|
|
12
|
-
sidecar family
|
|
12
|
+
sidecar family — on a visual-prototyping surface (`web`, `mobile`,
|
|
13
|
+
`desktop`, `mixed`). A cli-only pack has no root `DESIGN.md` at all,
|
|
14
|
+
so it has no brand-level intent layer either.
|
|
13
15
|
|
|
14
16
|
| File | Purpose | Required |
|
|
15
17
|
| ------------------------- | ---------------------------------------- | -------- |
|
|
@@ -19,8 +21,15 @@ sidecar family.
|
|
|
19
21
|
|
|
20
22
|
## Completeness Rule
|
|
21
23
|
|
|
22
|
-
All required files MUST be present for
|
|
23
|
-
|
|
24
|
+
All three required files above MUST be present for every UI-bearing pack.
|
|
25
|
+
Partial generation is not permitted.
|
|
26
|
+
|
|
27
|
+
Root `DESIGN.md` sits alongside them **only** on a visual-prototyping surface
|
|
28
|
+
(`web`, `mobile`, `desktop`, `mixed`). A cli-only pack — `primary_surface: cli`
|
|
29
|
+
with no visual surface in `secondary_surfaces` — is complete without it:
|
|
30
|
+
`/qfai-discussion` authors no root `DESIGN.md` for such a pack, `/qfai-sdd`
|
|
31
|
+
Phase 0 skips the freeze, and `/qfai-prototyping` does not run on `cli`. Do not
|
|
32
|
+
report a cli-only pack as incomplete for a missing `DESIGN.md`.
|
|
24
33
|
|
|
25
34
|
## Forbidden Legacy Files
|
|
26
35
|
|
|
@@ -28,8 +37,8 @@ The following files are NOT part of the canonical family and must NOT be created
|
|
|
28
37
|
|
|
29
38
|
- `30_option_comparison.md` — replaced by root `DESIGN.md`
|
|
30
39
|
- `31_selected_anchor_screen.md` — replaced by root `DESIGN.md`
|
|
31
|
-
- `33_exploration_rubric.md` — replaced by
|
|
32
|
-
- `34_evaluator_calibration.md` — replaced by
|
|
40
|
+
- `33_exploration_rubric.md` — replaced by the fixed evaluator axes (`.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`)
|
|
41
|
+
- `34_evaluator_calibration.md` — replaced by the fixed evaluator axes (`.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`)
|
|
33
42
|
- `40_contracts.md` — replaced by `40_screen_contracts.md`
|
|
34
43
|
- `50_review_bundle.md` — replaced by `50_review_input_bundle.md`
|
|
35
44
|
- `60_critique_loop.md` — removed (critique integrated into review bundle)
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
Draft interaction contracts for key screens using the strong screen contract schema (11 required fields).
|
|
6
6
|
|
|
7
|
+
`route:` is required on every surface — `validators/uix/screenContract.ts` demands a
|
|
8
|
+
non-empty string, not a URL — but what it names is surface-specific. Record the real
|
|
9
|
+
navigation identifier for the surface you are on; never invent a URL for a product that
|
|
10
|
+
has none:
|
|
11
|
+
|
|
12
|
+
| Surface | `route:` names | Example |
|
|
13
|
+
| ------------------ | ---------------------------------------------------------------------- | ------------------------ |
|
|
14
|
+
| `web` | URL path | `/orders/:id` |
|
|
15
|
+
| `mobile` (native) | navigation destination, or the deep link when one exists | `OrderDetail` |
|
|
16
|
+
| `desktop` (native) | window / view identifier, or the app-scheme deep link | `main:order-detail` |
|
|
17
|
+
| `cli` | command invocation | `myapp deploy --dry-run` |
|
|
18
|
+
| `mixed` | the identifier of the surface that owns the screen, per the rows above | `/orders/:id` |
|
|
19
|
+
|
|
20
|
+
Use one convention per surface consistently across the whole file so downstream
|
|
21
|
+
`.qfai/contracts/ui/*.yaml` normalization stays deterministic.
|
|
22
|
+
|
|
7
23
|
### Screen: [Screen Name]
|
|
8
24
|
|
|
9
25
|
- screen_id: SCR-001
|
|
@@ -40,6 +56,6 @@ Draft interaction contracts for key screens using the strong screen contract sch
|
|
|
40
56
|
|
|
41
57
|
## Cross-references
|
|
42
58
|
|
|
43
|
-
- Brand SSOT (product intent, brand signals, anti-goals): root `DESIGN.md`
|
|
59
|
+
- Brand SSOT (product intent, brand signals, anti-goals): root `DESIGN.md` — visual-prototyping surfaces only; a cli-only pack has none
|
|
44
60
|
- Sidecar manifest: `00_index.md`
|
|
45
61
|
- Review handoff: `50_review_input_bundle.md`
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md
CHANGED
|
@@ -4,27 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
Consolidate all sidecar artifacts into a review-ready bundle for design reviewers.
|
|
6
6
|
|
|
7
|
+
A **cli-only** pack (`primary_surface: cli`, no visual `secondary_surfaces` entry) still
|
|
8
|
+
ships this bundle. It has no root `DESIGN.md` and no `prototyping.yaml`, so mark those two
|
|
9
|
+
rows `n-a: cli-only pack` rather than leaving the bundle incomplete — see
|
|
10
|
+
`references/ui-bearing-playbook.md#visual-prototyping-surfaces-vs-cli`.
|
|
11
|
+
|
|
7
12
|
## Bundle Contents
|
|
8
13
|
|
|
9
|
-
| Artifact | Path | Status
|
|
10
|
-
| -------------------------- | ----------------------------- |
|
|
11
|
-
| Brand SSOT (root) | `DESIGN.md` | [draft/reviewed/approved] |
|
|
12
|
-
| Screen contracts | `uiux/40_screen_contracts.md` | [draft/reviewed/approved]
|
|
13
|
-
| Prototyping recommendation | `../prototyping.yaml` | [draft/reviewed/approved] |
|
|
14
|
+
| Artifact | Path | Status |
|
|
15
|
+
| -------------------------- | ----------------------------- | ---------------------------------------------- |
|
|
16
|
+
| Brand SSOT (root) | `DESIGN.md` | [draft/reviewed/approved / n-a: cli-only pack] |
|
|
17
|
+
| Screen contracts | `uiux/40_screen_contracts.md` | [draft/reviewed/approved] |
|
|
18
|
+
| Prototyping recommendation | `../prototyping.yaml` | [draft/reviewed/approved / n-a: cli-only pack] |
|
|
14
19
|
|
|
15
20
|
## Trend-derived review focus
|
|
16
21
|
|
|
17
22
|
- Required references are all present and complete.
|
|
18
23
|
- Stale / overused AI slop patterns are explicitly avoided.
|
|
19
|
-
- Reference research is translated into local design decisions on root `DESIGN.md` and screen contracts.
|
|
24
|
+
- Reference research is translated into local design decisions on root `DESIGN.md` (visual-prototyping surfaces) and on screen contracts (every UI-bearing surface). A cli-only pack has no root `DESIGN.md`: the screen contracts carry the whole translation.
|
|
20
25
|
- Iteration handling follows the one-lineage rule in `qfai-prototyping/SKILL.md`: no parallel
|
|
21
26
|
candidates and no best-of-history — the latest iteration is the accepted one. A middle iteration
|
|
22
27
|
that looked stronger is addressed by pivoting the next cycle, not by reaching back for it.
|
|
23
28
|
|
|
24
29
|
## Review Checklist
|
|
25
30
|
|
|
26
|
-
- [ ] Root `DESIGN.md` aligns with surface type and project constraints
|
|
31
|
+
- [ ] Root `DESIGN.md` aligns with surface type and project constraints (skip on a cli-only pack, which authors none)
|
|
27
32
|
- [ ] Reference pool is complete and translated into local design decisions
|
|
28
|
-
- [ ] Evaluator scoring covers all four canonical UX axes (information architecture / navigation flow / usability / functionality) — fixed in
|
|
33
|
+
- [ ] Evaluator scoring covers all four canonical UX axes (information architecture / navigation flow / usability / functionality) — fixed by the review validation the QFAI CLI applies (restated in `.qfai/assistant/skills/qfai-prototyping/references/reviewer-prompt.md`)
|
|
29
34
|
- [ ] One-lineage handling is explicit (latest iteration accepted; no best-of-history)
|
|
30
35
|
- [ ] Screen contracts cover all required states
|