qualia-framework 2.4.0 → 2.4.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/bin/collect-metrics.sh +62 -0
- package/framework/agents/qualia-phase-researcher.md +6 -3
- package/framework/agents/qualia-planner.md +10 -7
- package/framework/agents/qualia-research-synthesizer.md +110 -147
- package/framework/agents/red-team-qa.md +130 -0
- package/framework/hooks/auto-format.sh +9 -1
- package/framework/hooks/migration-validate.sh +21 -16
- package/framework/hooks/pre-commit.sh +13 -5
- package/framework/hooks/pre-deploy-gate.sh +23 -1
- package/framework/hooks/retention-cleanup.sh +4 -4
- package/framework/hooks/save-session-state.sh +18 -10
- package/framework/hooks/session-context-loader.sh +21 -0
- package/framework/hooks/skill-announce.sh +2 -0
- package/framework/install.ps1 +6 -6
- package/framework/install.sh +6 -4
- package/framework/qualia-engine/VERSION +1 -1
- package/framework/qualia-engine/bin/collect-metrics.sh +71 -0
- package/framework/qualia-engine/bin/qualia-tools.js +104 -63
- package/framework/qualia-engine/references/continuation-prompt.md +97 -0
- package/framework/qualia-engine/references/employee-guide.md +167 -0
- package/framework/qualia-engine/templates/lab-notes.md +16 -0
- package/framework/qualia-engine/templates/roadmap.md +2 -8
- package/framework/qualia-engine/workflows/execute-phase.md +17 -17
- package/framework/qualia-engine/workflows/new-project.md +37 -114
- package/framework/qualia-engine/workflows/progress.md +63 -28
- package/framework/skills/client-handoff/SKILL.md +13 -3
- package/framework/skills/deep-research/SKILL.md +34 -71
- package/framework/skills/learn/SKILL.md +29 -5
- package/framework/skills/qualia/SKILL.md +57 -17
- package/framework/skills/qualia-complete-milestone/SKILL.md +29 -7
- package/framework/skills/qualia-evolve/SKILL.md +200 -0
- package/framework/skills/qualia-execute-phase/SKILL.md +1 -1
- package/framework/skills/qualia-guide/SKILL.md +32 -0
- package/framework/skills/qualia-help/SKILL.md +62 -60
- package/framework/skills/qualia-new-project/SKILL.md +32 -30
- package/framework/skills/qualia-report/SKILL.md +217 -0
- package/framework/skills/qualia-start/SKILL.md +31 -59
- package/framework/skills/qualia-verify-work/SKILL.md +20 -3
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
**Load progress context:**
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
INIT=$(node /home/qualia/.claude/qualia-
|
|
15
|
+
INIT=$(node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js init progress)
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`.
|
|
@@ -22,18 +22,18 @@ If `project_exists` is false (no `.planning/` directory):
|
|
|
22
22
|
```
|
|
23
23
|
No planning structure found.
|
|
24
24
|
|
|
25
|
-
Run /qualia
|
|
25
|
+
Run /qualia-new-project to start a new project.
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Exit.
|
|
29
29
|
|
|
30
|
-
If missing STATE.md: suggest `/qualia
|
|
30
|
+
If missing STATE.md: suggest `/qualia-new-project`.
|
|
31
31
|
|
|
32
32
|
**If ROADMAP.md missing but PROJECT.md exists:**
|
|
33
33
|
|
|
34
34
|
This means a milestone was completed and archived. Go to **Route F** (between milestones).
|
|
35
35
|
|
|
36
|
-
If missing both ROADMAP.md and PROJECT.md: suggest `/qualia
|
|
36
|
+
If missing both ROADMAP.md and PROJECT.md: suggest `/qualia-new-project`.
|
|
37
37
|
</step>
|
|
38
38
|
|
|
39
39
|
<step name="load">
|
|
@@ -71,6 +71,7 @@ If missing both ROADMAP.md and PROJECT.md: suggest `/qualia:new-project`.
|
|
|
71
71
|
# [Project Name]
|
|
72
72
|
|
|
73
73
|
**Progress:** [████████░░] 8/10 plans complete
|
|
74
|
+
**Overall:** [██████░░░░] ~70% to client-ready {only show if all phases done}
|
|
74
75
|
**Profile:** [quality/balanced/budget]
|
|
75
76
|
|
|
76
77
|
## Recent Work
|
|
@@ -90,10 +91,10 @@ CONTEXT: [✓ if CONTEXT.md exists | - if not]
|
|
|
90
91
|
- [any blockers or concerns from STATE.md]
|
|
91
92
|
|
|
92
93
|
## Pending Todos
|
|
93
|
-
- [count] pending — /qualia
|
|
94
|
+
- [count] pending — /qualia-check-todos to review
|
|
94
95
|
|
|
95
96
|
## Active Debug Sessions
|
|
96
|
-
- [count] active — /qualia
|
|
97
|
+
- [count] active — /qualia-debug to continue
|
|
97
98
|
(Only show this section if count > 0)
|
|
98
99
|
|
|
99
100
|
## What's Next
|
|
@@ -152,7 +153,7 @@ Read its `<objective>` section.
|
|
|
152
153
|
|
|
153
154
|
**{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
154
155
|
|
|
155
|
-
`/qualia
|
|
156
|
+
`/qualia-execute-phase {phase}`
|
|
156
157
|
|
|
157
158
|
<sub>`/clear` first → fresh context window</sub>
|
|
158
159
|
|
|
@@ -175,7 +176,7 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
|
175
176
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
176
177
|
<sub>✓ Context gathered, ready to plan</sub>
|
|
177
178
|
|
|
178
|
-
`/qualia
|
|
179
|
+
`/qualia-plan-phase {phase-number}`
|
|
179
180
|
|
|
180
181
|
<sub>`/clear` first → fresh context window</sub>
|
|
181
182
|
|
|
@@ -191,15 +192,15 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
|
191
192
|
|
|
192
193
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
193
194
|
|
|
194
|
-
`/qualia
|
|
195
|
+
`/qualia-discuss-phase {phase}` — gather context and clarify approach
|
|
195
196
|
|
|
196
197
|
<sub>`/clear` first → fresh context window</sub>
|
|
197
198
|
|
|
198
199
|
---
|
|
199
200
|
|
|
200
201
|
**Also available:**
|
|
201
|
-
- `/qualia
|
|
202
|
-
- `/qualia
|
|
202
|
+
- `/qualia-plan-phase {phase}` — skip discussion, plan directly
|
|
203
|
+
- `/qualia-list-phase-assumptions {phase}` — see Claude's assumptions
|
|
203
204
|
|
|
204
205
|
---
|
|
205
206
|
```
|
|
@@ -217,15 +218,15 @@ UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
|
|
|
217
218
|
|
|
218
219
|
**{phase}-UAT.md** has {N} gaps requiring fixes.
|
|
219
220
|
|
|
220
|
-
`/qualia
|
|
221
|
+
`/qualia-plan-phase {phase} --gaps`
|
|
221
222
|
|
|
222
223
|
<sub>`/clear` first → fresh context window</sub>
|
|
223
224
|
|
|
224
225
|
---
|
|
225
226
|
|
|
226
227
|
**Also available:**
|
|
227
|
-
- `/qualia
|
|
228
|
-
- `/qualia
|
|
228
|
+
- `/qualia-execute-phase {phase}` — execute phase plans
|
|
229
|
+
- `/qualia-verify-work {phase}` — run more UAT testing
|
|
229
230
|
|
|
230
231
|
---
|
|
231
232
|
```
|
|
@@ -264,46 +265,80 @@ Read ROADMAP.md to get the next phase's name and goal.
|
|
|
264
265
|
|
|
265
266
|
**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
266
267
|
|
|
267
|
-
`/qualia
|
|
268
|
+
`/qualia-discuss-phase {Z+1}` — gather context and clarify approach
|
|
268
269
|
|
|
269
270
|
<sub>`/clear` first → fresh context window</sub>
|
|
270
271
|
|
|
271
272
|
---
|
|
272
273
|
|
|
273
274
|
**Also available:**
|
|
274
|
-
- `/qualia
|
|
275
|
-
- `/qualia
|
|
275
|
+
- `/qualia-plan-phase {Z+1}` — skip discussion, plan directly
|
|
276
|
+
- `/qualia-verify-work {Z}` — user acceptance test before continuing
|
|
276
277
|
|
|
277
278
|
---
|
|
278
279
|
```
|
|
279
280
|
|
|
280
281
|
---
|
|
281
282
|
|
|
282
|
-
**Route D: Milestone complete**
|
|
283
|
+
**Route D: Milestone complete (needs archiving)**
|
|
283
284
|
|
|
284
285
|
```
|
|
285
286
|
---
|
|
286
287
|
|
|
287
|
-
##
|
|
288
|
+
## Milestone phases done!
|
|
288
289
|
|
|
289
|
-
All {N} phases finished
|
|
290
|
+
All {N} phases finished. Time to archive.
|
|
290
291
|
|
|
291
292
|
## ▶ Next Up
|
|
292
293
|
|
|
293
|
-
**
|
|
294
|
+
**Archive Milestone** — then the finish line begins
|
|
294
295
|
|
|
295
|
-
`/qualia
|
|
296
|
+
`/qualia-complete-milestone`
|
|
296
297
|
|
|
297
298
|
<sub>`/clear` first → fresh context window</sub>
|
|
298
299
|
|
|
299
300
|
---
|
|
301
|
+
```
|
|
300
302
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
**Route G: Finish Line (post-milestone, 70% → 100%)**
|
|
306
|
+
|
|
307
|
+
Check STATE.md for `finish_line` field. If milestone is archived but `finish_line` is not `"complete"`, the project is in the finish line.
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## ── FINISH LINE ── Getting Client-Ready
|
|
313
|
+
|
|
314
|
+
Features are built. Now polish, review, and ship.
|
|
315
|
+
|
|
316
|
+
── Progress to Client-Ready ──────────
|
|
317
|
+
✓ Build phases complete
|
|
318
|
+
✓ Milestone audit passed
|
|
319
|
+
✓ Milestone archived
|
|
320
|
+
{▶ or ✓} Design polish {← you are here | done}
|
|
321
|
+
{▶ or · or ✓} Code review
|
|
322
|
+
{▶ or · or ✓} Pull request
|
|
323
|
+
{· or ✓} Deploy (Fawzi reviews + deploys)
|
|
324
|
+
{· or ✓} Client handoff
|
|
325
|
+
|
|
326
|
+
## ▶ Next Up
|
|
327
|
+
|
|
328
|
+
{Based on finish_line value in STATE.md:}
|
|
329
|
+
"needs_polish" → `/critique` — then `/polish` then `/harden`
|
|
330
|
+
"needs_review" → `/qualia-review --web` (or `--ai` for AI/voice projects)
|
|
331
|
+
"needs_pr" → `/pr` — create pull request for Fawzi
|
|
332
|
+
"ready_for_deploy" → "Waiting for Fawzi to review PR and deploy."
|
|
333
|
+
"deployed" → `/client-handoff` — prepare delivery document
|
|
303
334
|
|
|
304
335
|
---
|
|
305
336
|
```
|
|
306
337
|
|
|
338
|
+
**Skip logic for finish line steps:**
|
|
339
|
+
- If project has NO frontend (AI agent, voice agent, edge functions) → skip design polish, set `finish_line: "needs_review"`
|
|
340
|
+
- If finish_line field doesn't exist but milestone is archived → set `finish_line: "needs_polish"` and show Route G
|
|
341
|
+
|
|
307
342
|
---
|
|
308
343
|
|
|
309
344
|
**Route F: Between milestones (ROADMAP.md missing, PROJECT.md exists)**
|
|
@@ -323,7 +358,7 @@ Ready to plan the next milestone.
|
|
|
323
358
|
|
|
324
359
|
**Start Next Milestone** — questioning → research → requirements → roadmap
|
|
325
360
|
|
|
326
|
-
`/qualia
|
|
361
|
+
`/qualia-new-milestone`
|
|
327
362
|
|
|
328
363
|
<sub>`/clear` first → fresh context window</sub>
|
|
329
364
|
|
|
@@ -335,10 +370,10 @@ Ready to plan the next milestone.
|
|
|
335
370
|
<step name="edge_cases">
|
|
336
371
|
**Handle edge cases:**
|
|
337
372
|
|
|
338
|
-
- Phase complete but next phase not planned → offer `/qualia
|
|
373
|
+
- Phase complete but next phase not planned → offer `/qualia-plan-phase [next]`
|
|
339
374
|
- All work complete → offer milestone completion
|
|
340
375
|
- Blockers present → highlight before offering to continue
|
|
341
|
-
- Handoff file exists → mention it, offer `/qualia
|
|
376
|
+
- Handoff file exists → mention it, offer `/qualia-resume-work`
|
|
342
377
|
</step>
|
|
343
378
|
|
|
344
379
|
</process>
|
|
@@ -348,7 +383,7 @@ Ready to plan the next milestone.
|
|
|
348
383
|
- [ ] Rich context provided (recent work, decisions, issues)
|
|
349
384
|
- [ ] Current position clear with visual progress
|
|
350
385
|
- [ ] What's next clearly explained
|
|
351
|
-
- [ ] Smart routing: /qualia
|
|
386
|
+
- [ ] Smart routing: /qualia-execute-phase if plans exist, /qualia-plan-phase if not
|
|
352
387
|
- [ ] User confirms before any action
|
|
353
388
|
- [ ] Seamless handoff to appropriate qualia command
|
|
354
389
|
</success_criteria>
|
|
@@ -107,14 +107,24 @@ git add HANDOFF.md
|
|
|
107
107
|
git commit -m "docs: add client handoff document"
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
### Step 5:
|
|
110
|
+
### Step 5: Collect Framework Metrics
|
|
111
|
+
|
|
112
|
+
Auto-collect performance metrics for this project (feeds the `/qualia-evolve` optimization loop):
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
bash ~/.claude/qualia-framework/bin/collect-metrics.sh "$(pwd)"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
This is silent — no user interaction needed.
|
|
119
|
+
|
|
120
|
+
### Step 6: Route Next Steps
|
|
111
121
|
|
|
112
122
|
After saving, present options:
|
|
113
123
|
|
|
114
|
-
> "Handoff document saved. Next steps:"
|
|
124
|
+
> "Handoff document saved. Framework metrics collected. Next steps:"
|
|
115
125
|
> - "Share `HANDOFF.md` content with the client (email, PDF, or portal)"
|
|
116
126
|
> - "Run `/qualia-production-check` to verify everything works before handoff"
|
|
117
|
-
> - "Run `/
|
|
127
|
+
> - "Run `/qualia-evolve` to analyze this project and improve the framework for next time"
|
|
118
128
|
|
|
119
129
|
## Guidelines
|
|
120
130
|
|
|
@@ -166,82 +166,45 @@ Agent(
|
|
|
166
166
|
|
|
167
167
|
## Phase 3: Synthesize Reports
|
|
168
168
|
|
|
169
|
-
After all agents return,
|
|
169
|
+
After all 6 agents return, **spawn the synthesizer agent** to consolidate findings. Do NOT synthesize inline — this prevents context bloat in the parent.
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
# Deep Research Report: [Project Name]
|
|
171
|
+
Each agent's report will be in the tool result. Write each one to a temp file, then spawn the synthesizer:
|
|
173
172
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
## Executive Summary
|
|
179
|
-
[2-3 paragraph synthesis of all findings]
|
|
180
|
-
|
|
181
|
-
## Critical Issues (Fix Before Production)
|
|
182
|
-
1. [Issue with severity and impact]
|
|
183
|
-
2. ...
|
|
184
|
-
|
|
185
|
-
## High Priority Improvements
|
|
186
|
-
1. [Improvement with effort estimate]
|
|
187
|
-
2. ...
|
|
188
|
-
|
|
189
|
-
## Medium Priority Enhancements
|
|
190
|
-
1. [Enhancement with benefit]
|
|
191
|
-
2. ...
|
|
192
|
-
|
|
193
|
-
## Low Priority / Nice to Have
|
|
194
|
-
1. [Future improvement]
|
|
195
|
-
2. ...
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Detailed Analysis
|
|
200
|
-
|
|
201
|
-
### Frontend Architecture
|
|
202
|
-
[Agent 1 findings]
|
|
203
|
-
|
|
204
|
-
### Backend Architecture
|
|
205
|
-
[Agent 2 findings]
|
|
206
|
-
|
|
207
|
-
### Database & Data Layer
|
|
208
|
-
[Agent 3 findings]
|
|
209
|
-
|
|
210
|
-
### Security & DevOps
|
|
211
|
-
[Agent 4 findings]
|
|
212
|
-
|
|
213
|
-
### Performance & Scalability
|
|
214
|
-
[Agent 5 findings]
|
|
215
|
-
|
|
216
|
-
### Code Quality & Testing
|
|
217
|
-
[Agent 6 findings]
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## Implementation Roadmap
|
|
222
|
-
|
|
223
|
-
### Phase 1: Critical Fixes (Week 1)
|
|
224
|
-
- [ ] Task 1
|
|
225
|
-
- [ ] Task 2
|
|
226
|
-
|
|
227
|
-
### Phase 2: Security Hardening (Week 2)
|
|
228
|
-
- [ ] Task 1
|
|
229
|
-
- [ ] Task 2
|
|
230
|
-
|
|
231
|
-
### Phase 3: Performance Optimization (Week 3)
|
|
232
|
-
- [ ] Task 1
|
|
233
|
-
- [ ] Task 2
|
|
234
|
-
|
|
235
|
-
### Phase 4: Code Quality (Ongoing)
|
|
236
|
-
- [ ] Task 1
|
|
237
|
-
- [ ] Task 2
|
|
173
|
+
```bash
|
|
174
|
+
# Write each agent's output to a temp file
|
|
175
|
+
# (use the actual tool result content from each agent)
|
|
176
|
+
```
|
|
238
177
|
|
|
239
|
-
|
|
178
|
+
Then spawn the synthesizer agent:
|
|
240
179
|
|
|
241
|
-
## Resources & References
|
|
242
|
-
- [Relevant best practices docs]
|
|
243
|
-
- [Framework-specific guides]
|
|
244
180
|
```
|
|
181
|
+
Agent(
|
|
182
|
+
subagent_type="qualia-research-synthesizer",
|
|
183
|
+
prompt="
|
|
184
|
+
Synthesize these specialist reports:
|
|
185
|
+
- [path to frontend report]
|
|
186
|
+
- [path to backend report]
|
|
187
|
+
- [path to database report]
|
|
188
|
+
- [path to security report]
|
|
189
|
+
- [path to performance report]
|
|
190
|
+
- [path to code quality report]
|
|
191
|
+
|
|
192
|
+
Downstream consumer: The user needs a prioritized Deep Research Report with:
|
|
193
|
+
- Overall production readiness score (/100)
|
|
194
|
+
- Critical/High/Medium/Low severity findings with file:line references
|
|
195
|
+
- Cross-cutting patterns across all 6 areas
|
|
196
|
+
- Implementation roadmap grouped by week
|
|
197
|
+
- Resources and references
|
|
198
|
+
|
|
199
|
+
Output path: docs/research/[YYYY-MM-DD]-deep-research.md
|
|
200
|
+
(also return the full report in your response)
|
|
201
|
+
|
|
202
|
+
Do NOT commit.
|
|
203
|
+
"
|
|
204
|
+
)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
The synthesizer handles deduplication, cross-cutting pattern detection, and severity ranking — producing a single unified report.
|
|
245
208
|
|
|
246
209
|
## Phase 4: Offer Next Steps
|
|
247
210
|
|
|
@@ -25,28 +25,52 @@ Does this apply beyond the immediate case?
|
|
|
25
25
|
- Other similar situations where this could happen
|
|
26
26
|
- Related edge cases to watch for
|
|
27
27
|
|
|
28
|
-
### 4. Classify
|
|
28
|
+
### 4. Classify & Route
|
|
29
29
|
Which category fits best?
|
|
30
|
+
|
|
31
|
+
**If `.planning/` directory exists in the current project**, also check if this is a **project-level lab note** (a failed approach specific to this project's implementation):
|
|
32
|
+
- Is this about a specific approach that was tried and failed?
|
|
33
|
+
- Is this about a library, API, or pattern that didn't work for THIS project?
|
|
34
|
+
- Would knowing this prevent a planner/researcher from repeating the same dead-end?
|
|
35
|
+
|
|
36
|
+
If yes → route to **Lab Notes** (see step 5b below).
|
|
37
|
+
|
|
38
|
+
Otherwise classify as:
|
|
30
39
|
- **Always Rules** — things to always do
|
|
31
40
|
- **Never Rules** — things to never do
|
|
32
41
|
- **Project-Specific Gotchas** — quirks of a specific project
|
|
33
42
|
|
|
34
|
-
###
|
|
43
|
+
### 5a. Propose Rule (Global)
|
|
35
44
|
Draft rule in this format:
|
|
36
45
|
```
|
|
37
46
|
- [ALWAYS/NEVER] [specific action] [context/when]
|
|
38
47
|
```
|
|
39
48
|
|
|
49
|
+
### 5b. Propose Lab Note (Project-Level)
|
|
50
|
+
Draft lab note in this format:
|
|
51
|
+
```markdown
|
|
52
|
+
### Phase [N]: [Phase Title]
|
|
53
|
+
|
|
54
|
+
**Tried:** [approach that was attempted]
|
|
55
|
+
**Failed because:** [root cause — be specific]
|
|
56
|
+
**Better approach:** [what actually worked, or what to try next]
|
|
57
|
+
**Date:** [today's date]
|
|
58
|
+
```
|
|
59
|
+
|
|
40
60
|
### 6. Confirm
|
|
41
|
-
Ask the user if the rule should be added. Do not save without confirmation.
|
|
61
|
+
Ask the user if the rule/lab note should be added. Do not save without confirmation.
|
|
42
62
|
|
|
43
63
|
## Output
|
|
44
64
|
|
|
45
|
-
|
|
46
|
-
|
|
65
|
+
**For global rules** — after user approval, save to **both** locations:
|
|
47
66
|
1. Append to `~/.claude/knowledge/learned-patterns.md` under the appropriate category section
|
|
48
67
|
2. Add to `~/.claude/CLAUDE.md` under "## Learned Patterns" for immediate loading in every session
|
|
49
68
|
|
|
69
|
+
**For project lab notes** — after user approval:
|
|
70
|
+
1. If `.planning/LAB-NOTES.md` doesn't exist, create it from template at `~/.claude/qualia-framework/templates/lab-notes.md`
|
|
71
|
+
2. Append the lab note entry to `.planning/LAB-NOTES.md`
|
|
72
|
+
3. Do NOT add to global learned-patterns.md (these are project-specific dead-ends, not global rules)
|
|
73
|
+
|
|
50
74
|
### 7. Staleness Scan (automatic)
|
|
51
75
|
|
|
52
76
|
When /learn is invoked, before adding new rules, scan existing patterns:
|
|
@@ -83,8 +83,32 @@ STATE.md exists:
|
|
|
83
83
|
"All phases complete! Run /qualia-audit-milestone to verify the milestone."
|
|
84
84
|
→ If no phases remain AND audit exists AND passed:
|
|
85
85
|
"Milestone audit passed! Run /qualia-complete-milestone to archive and tag."
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
|
|
87
|
+
─── FINISH LINE (post-milestone, 70% → 100%) ───
|
|
88
|
+
|
|
89
|
+
→ If milestone is completed AND no finish_line in STATE.md:
|
|
90
|
+
Set finish_line: "needs_polish" in STATE.md.
|
|
91
|
+
"Milestone archived! Now let's get this client-ready."
|
|
92
|
+
"Features are ~70% of a project. Time for the finish line."
|
|
93
|
+
Route to: /critique (then /polish, then /harden)
|
|
94
|
+
|
|
95
|
+
→ If finish_line = "needs_polish":
|
|
96
|
+
"Run /critique to review the design, then /polish and /harden."
|
|
97
|
+
(Skip this step if project has no frontend — set finish_line to "needs_review")
|
|
98
|
+
|
|
99
|
+
→ If finish_line = "needs_review":
|
|
100
|
+
"Design polished. Now run /qualia-review --web to audit code quality and security."
|
|
101
|
+
|
|
102
|
+
→ If finish_line = "needs_pr":
|
|
103
|
+
"Review passed. Push your branch and create a PR:"
|
|
104
|
+
"Run /pr to create a pull request for Fawzi to review."
|
|
105
|
+
|
|
106
|
+
→ If finish_line = "ready_for_deploy":
|
|
107
|
+
"PR created! Fawzi will review and deploy to production."
|
|
108
|
+
"Once deployed, run /client-handoff to prepare the delivery document."
|
|
109
|
+
|
|
110
|
+
→ If finish_line = "deployed":
|
|
111
|
+
"Run /client-handoff to prepare the client delivery document."
|
|
88
112
|
|
|
89
113
|
blockers exist?
|
|
90
114
|
→ Show blockers, ask user how to proceed
|
|
@@ -111,28 +135,44 @@ Options:
|
|
|
111
135
|
|
|
112
136
|
## Output Format
|
|
113
137
|
|
|
138
|
+
**During phases (building features):**
|
|
114
139
|
```
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
**Project:** {project_name from PROJECT.md or directory name}
|
|
118
|
-
**Phase:** {N} of {total} - {phase_name}
|
|
119
|
-
**Status:** {status_emoji} {status_description}
|
|
140
|
+
◆ Qualia Status
|
|
120
141
|
|
|
121
|
-
|
|
142
|
+
Project {name}
|
|
143
|
+
Phase {N} of {total} — {phase_name}
|
|
144
|
+
Status {status_description}
|
|
122
145
|
|
|
123
|
-
|
|
146
|
+
Next → /qualia-{action} {phase}
|
|
147
|
+
```
|
|
124
148
|
|
|
125
|
-
|
|
126
|
-
|
|
149
|
+
**During finish line (70% → 100%):**
|
|
150
|
+
```
|
|
151
|
+
◆ Qualia Status
|
|
152
|
+
|
|
153
|
+
Project {name}
|
|
154
|
+
Phases {total}/{total} complete
|
|
155
|
+
Stage FINISH LINE — {step_name}
|
|
156
|
+
|
|
157
|
+
── Progress to Client-Ready ──────────
|
|
158
|
+
✓ Build phases complete
|
|
159
|
+
✓ Milestone audit passed
|
|
160
|
+
✓ Milestone archived
|
|
161
|
+
▶ Design polish ← you are here
|
|
162
|
+
· Code review
|
|
163
|
+
· Pull request
|
|
164
|
+
· Deploy (Fawzi)
|
|
165
|
+
· Client handoff
|
|
166
|
+
|
|
167
|
+
Next → /critique
|
|
127
168
|
```
|
|
128
169
|
|
|
129
|
-
## Status
|
|
170
|
+
## Status Markers
|
|
130
171
|
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
- `blocked` - Needs input
|
|
172
|
+
- `✓` — Done
|
|
173
|
+
- `▶` — Current step (you are here)
|
|
174
|
+
- `·` — Not yet
|
|
175
|
+
- `✗` — Failed / blocked
|
|
136
176
|
|
|
137
177
|
## Quick Actions
|
|
138
178
|
|
|
@@ -100,13 +100,35 @@ git commit -m "milestone: complete v{version}"
|
|
|
100
100
|
git tag v{version}
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
### 9.
|
|
103
|
+
### 9. Enter Finish Line
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
Set `finish_line: "needs_polish"` in STATE.md (or `"needs_review"` if the project has no frontend).
|
|
106
|
+
|
|
107
|
+
Then show the finish line checklist:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
◆ Milestone v{version} archived and tagged!
|
|
111
|
+
|
|
112
|
+
Features are ~70% of a project. Time for the finish line.
|
|
113
|
+
|
|
114
|
+
── Progress to Client-Ready ──────────
|
|
115
|
+
✓ Build phases complete
|
|
116
|
+
✓ Milestone audit passed
|
|
117
|
+
✓ Milestone archived
|
|
118
|
+
▶ Design polish ← you are here
|
|
119
|
+
· Code review
|
|
120
|
+
· Pull request
|
|
121
|
+
· Deploy (Fawzi reviews + deploys)
|
|
122
|
+
· Client handoff
|
|
123
|
+
|
|
124
|
+
Next → /critique
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**For projects without frontend** (AI agents, voice agents, edge functions):
|
|
128
|
+
- Skip design polish step
|
|
129
|
+
- Set `finish_line: "needs_review"` and show `▶ Code review` instead
|
|
130
|
+
|
|
131
|
+
**Do NOT offer `/client-handoff` or `/ship` directly** — the finish line routing in `/qualia` will guide them through each step in order.
|
|
110
132
|
|
|
111
133
|
---
|
|
112
|
-
> Stuck? Type `/qualia-idk` · Lost? Type `/qualia-help`
|
|
134
|
+
> Stuck? Type `/qualia-idk` · Lost? Type `/qualia-help` · Done for today? Type `/qualia-report`
|