qfai 1.6.4 → 1.7.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.
@@ -108,6 +108,24 @@ Every major artifact in this stage MUST include this table schema:
108
108
  - `02_Inception-Deck.md` MUST contain at least one Mermaid diagram in ` ```mermaid ` fences.
109
109
  - `03_Story-Workshop.md` MUST contain at least one Mermaid diagram in ` ```mermaid ` fences.
110
110
  - If UI requirements exist, include an HTML+CSS visual mock in `03_Story-Workshop.md`.
111
+ - **UI-bearing Authoring Requirements**:
112
+ - A pack is UI-bearing if `03_Story-Workshop.md` contains HTML tags (`<style>`, `<div>`, etc.) or Mermaid screen flow diagrams.
113
+ - UI-bearing packs MUST include a `## Design Direction Summary` section in `03_Story-Workshop.md` with all 6 subsections:
114
+ 1. `### Option Comparison` — 2+ distinct design options (QFAI-DDP-020)
115
+ 2. `### Anchor Screen Selection` — explicit selection referencing a compared option (QFAI-DDP-021)
116
+ 3. `### Competitive References` — summary referencing 04_Sources.md (QFAI-DDP-022 validates 04_Sources.md fields)
117
+ 4. `### CTA Hierarchy` — must define at least a primary CTA (QFAI-DDP-023)
118
+ 5. `### State Coverage` — must define empty, loading, error, populated states (QFAI-DDP-024)
119
+ 6. `### Design Anti-goals` — 1+ patterns to intentionally avoid (QFAI-DDP-025)
120
+ - `04_Sources.md` must include a `## Competitive Reference Registry` with entries containing:
121
+ - `adopted_points`: what was adopted and why
122
+ - `rejected_points`: what was not adopted and why
123
+ - `local_translation`: how adopted points were adapted
124
+ - Placeholder values (TBD, N/A, TODO, empty) are treated as missing (QFAI-DDP-022)
125
+ - `14_Review-Request.md` must include a `## Design Direction Decisions` section with anchor, rejections, and adopted refs.
126
+ - `99_delta.md` must include a `## Rejected Visual Directions` section with rationale and recurrence prevention.
127
+ - All 7 validators (QFAI-DDP-019..025) emit `severity: error` — violations block validation.
128
+ - Non-UI packs are exempt from all DDS validators (zero new issues).
111
129
  - Review roster is fixed by `.qfai/assistant/steering/review-roster.yml` and must be executed in full.
112
130
  - RCP wording must be sourced from `.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md`.
113
131
  - Discussion artifacts are logs/rationale and must not duplicate spec SSOT.
@@ -65,3 +65,48 @@ flowchart TD
65
65
  border-radius: 12px;
66
66
  }
67
67
  ```
68
+
69
+ ## Design Direction Summary
70
+
71
+ <!-- Required for UI-bearing packs. Validated by QFAI-DDP-019..025. -->
72
+
73
+ ### Option Comparison
74
+
75
+ <!-- List 2+ design options. Each must be a separate entry. (QFAI-DDP-020) -->
76
+
77
+ - **Option A**: [Name and description]
78
+ - **Option B**: [Name and description]
79
+
80
+ ### Anchor Screen Selection
81
+
82
+ <!-- Select one of the compared options as the anchor. (QFAI-DDP-021) -->
83
+
84
+ Selected: [Option X] — [Reason for selection]
85
+
86
+ ### Competitive References
87
+
88
+ <!-- Summarize competitive references from 04_Sources.md. (QFAI-DDP-022) -->
89
+
90
+ See 04_Sources.md for full competitive reference registry.
91
+
92
+ ### CTA Hierarchy
93
+
94
+ <!-- Define CTA hierarchy with at least a primary CTA. (QFAI-DDP-023) -->
95
+
96
+ - Primary: [CTA label and placement]
97
+ - Secondary: [CTA label and placement]
98
+
99
+ ### State Coverage
100
+
101
+ <!-- Define all 4 required states. (QFAI-DDP-024) -->
102
+
103
+ - empty: [Empty state display]
104
+ - loading: [Loading state display]
105
+ - error: [Error state display]
106
+ - populated: [Populated state display]
107
+
108
+ ### Design Anti-goals
109
+
110
+ <!-- List 1+ design patterns to intentionally avoid. (QFAI-DDP-025) -->
111
+
112
+ - Anti-goal: [Pattern to avoid and reason]
@@ -12,6 +12,16 @@
12
12
  - `secondary`: Derived information (summaries, analyses).
13
13
  - `external`: Third-party references (specs, RFCs, vendor docs).
14
14
 
15
+ ## Competitive Reference Registry
16
+
17
+ <!-- Required for UI-bearing packs. Each entry must have all 3 fields populated. (QFAI-DDP-022) -->
18
+
19
+ ### Reference: [Product/Service Name]
20
+
21
+ - adopted_points: [What was adopted from this reference and why]
22
+ - rejected_points: [What was not adopted and why]
23
+ - local_translation: [How adopted points were adapted for this project]
24
+
15
25
  ## Traceability
16
26
 
17
27
  - Each REQ/NFR should reference at least one SRC-ID.
@@ -40,6 +40,14 @@
40
40
  - OQ register exit condition (open count = 0)
41
41
  - Deferred items have full metadata
42
42
 
43
+ ## Design Direction Decisions
44
+
45
+ <!-- Required for UI-bearing packs. Populated from DDS in 03_Story-Workshop.md. -->
46
+
47
+ - Anchor screen: [Selected option reference]
48
+ - Rejection rationale: [Why other options were not selected]
49
+ - Adopted competitive references: [Key references adopted from 04_Sources.md]
50
+
43
51
  ## Required Reviewers
44
52
 
45
53
  - Load all reviewers from `.qfai/assistant/steering/review-roster.yml`.
@@ -19,6 +19,14 @@
19
19
  | ---------- | ------- | --------------- | ------ | --------------------- |
20
20
  | YYYY-MM-DD | OQ-0001 | Option B | TBD | TBD |
21
21
 
22
+ ## Rejected Visual Directions
23
+
24
+ <!-- Required for UI-bearing packs when visual directions are rejected. -->
25
+
26
+ | Date | Direction | Rationale | Recurrence Prevention |
27
+ | ---------- | -------------- | --------- | --------------------- |
28
+ | YYYY-MM-DD | [Option/Style] | [Why] | [How to prevent] |
29
+
22
30
  ## Drift Events
23
31
 
24
32
  | Date | Trigger | Impact Assessment | Files Updated |