qualia-framework 2.5.1 → 3.1.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 (327) hide show
  1. package/CLAUDE.md +63 -0
  2. package/README.md +108 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +186 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +369 -0
  7. package/bin/cli.js +706 -417
  8. package/bin/install.js +622 -0
  9. package/bin/qualia-ui.js +284 -0
  10. package/bin/state.js +824 -0
  11. package/bin/statusline.js +252 -0
  12. package/docs/erp-contract.md +161 -0
  13. package/guide.md +63 -0
  14. package/hooks/auto-update.js +117 -0
  15. package/hooks/block-env-edit.js +52 -0
  16. package/hooks/branch-guard.js +68 -0
  17. package/hooks/migration-guard.js +83 -0
  18. package/hooks/pre-compact.js +52 -0
  19. package/hooks/pre-deploy-gate.js +149 -0
  20. package/hooks/pre-push.js +53 -0
  21. package/hooks/session-start.js +126 -0
  22. package/package.json +31 -17
  23. package/rules/design-reference.md +179 -0
  24. package/rules/frontend.md +126 -0
  25. package/rules/infrastructure.md +87 -0
  26. package/skills/qualia/SKILL.md +88 -0
  27. package/skills/qualia-build/SKILL.md +115 -0
  28. package/skills/qualia-debug/SKILL.md +87 -0
  29. package/skills/qualia-design/SKILL.md +99 -0
  30. package/skills/qualia-handoff/SKILL.md +66 -0
  31. package/skills/qualia-help/SKILL.md +60 -0
  32. package/skills/qualia-idk/SKILL.md +8 -0
  33. package/skills/qualia-learn/SKILL.md +111 -0
  34. package/skills/qualia-new/SKILL.md +323 -0
  35. package/skills/qualia-pause/SKILL.md +63 -0
  36. package/skills/qualia-plan/SKILL.md +101 -0
  37. package/skills/qualia-polish/SKILL.md +207 -0
  38. package/skills/qualia-quick/SKILL.md +37 -0
  39. package/skills/qualia-report/SKILL.md +114 -0
  40. package/skills/qualia-resume/SKILL.md +49 -0
  41. package/skills/qualia-review/SKILL.md +161 -0
  42. package/skills/qualia-ship/SKILL.md +90 -0
  43. package/skills/qualia-skill-new/SKILL.md +167 -0
  44. package/skills/qualia-task/SKILL.md +91 -0
  45. package/skills/qualia-test/SKILL.md +134 -0
  46. package/skills/qualia-verify/SKILL.md +113 -0
  47. package/templates/DESIGN.md +475 -0
  48. package/templates/help.html +476 -0
  49. package/templates/plan.md +42 -0
  50. package/templates/project.md +22 -0
  51. package/templates/state.md +27 -0
  52. package/templates/tracking.json +20 -0
  53. package/tests/bin.test.sh +687 -0
  54. package/tests/hooks.test.sh +384 -0
  55. package/tests/runner.js +1956 -0
  56. package/tests/state.test.sh +713 -0
  57. package/tests/statusline.test.sh +243 -0
  58. package/bin/collect-metrics.sh +0 -62
  59. package/framework/.claudeignore +0 -51
  60. package/framework/CLAUDE.md +0 -51
  61. package/framework/MCP_SETUP.md +0 -229
  62. package/framework/agents/architecture-strategist.md +0 -53
  63. package/framework/agents/backend-agent.md +0 -150
  64. package/framework/agents/code-simplicity-reviewer.md +0 -86
  65. package/framework/agents/frontend-agent.md +0 -111
  66. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  67. package/framework/agents/performance-oracle.md +0 -111
  68. package/framework/agents/qualia-codebase-mapper.md +0 -761
  69. package/framework/agents/qualia-debugger.md +0 -1204
  70. package/framework/agents/qualia-executor.md +0 -882
  71. package/framework/agents/qualia-integration-checker.md +0 -424
  72. package/framework/agents/qualia-phase-researcher.md +0 -457
  73. package/framework/agents/qualia-plan-checker.md +0 -700
  74. package/framework/agents/qualia-planner.md +0 -1245
  75. package/framework/agents/qualia-project-researcher.md +0 -603
  76. package/framework/agents/qualia-research-synthesizer.md +0 -200
  77. package/framework/agents/qualia-roadmapper.md +0 -606
  78. package/framework/agents/qualia-verifier.md +0 -686
  79. package/framework/agents/red-team-qa.md +0 -130
  80. package/framework/agents/security-auditor.md +0 -72
  81. package/framework/agents/team-orchestrator.md +0 -229
  82. package/framework/agents/teams/framework-audit-team.md +0 -66
  83. package/framework/agents/teams/full-stack-team.md +0 -48
  84. package/framework/agents/teams/optimize-team.md +0 -53
  85. package/framework/agents/teams/review-team.md +0 -70
  86. package/framework/agents/teams/ship-team.md +0 -86
  87. package/framework/agents/test-agent.md +0 -182
  88. package/framework/hooks/auto-format.sh +0 -54
  89. package/framework/hooks/block-env-edit.sh +0 -42
  90. package/framework/hooks/branch-guard.sh +0 -43
  91. package/framework/hooks/confirm-delete.sh +0 -59
  92. package/framework/hooks/migration-validate.sh +0 -77
  93. package/framework/hooks/notification-speak.sh +0 -16
  94. package/framework/hooks/pre-commit.sh +0 -100
  95. package/framework/hooks/pre-compact.sh +0 -56
  96. package/framework/hooks/pre-deploy-gate.sh +0 -160
  97. package/framework/hooks/qualia-colors.sh +0 -32
  98. package/framework/hooks/retention-cleanup.sh +0 -62
  99. package/framework/hooks/save-session-state.sh +0 -185
  100. package/framework/hooks/session-context-loader.sh +0 -96
  101. package/framework/hooks/session-learn.sh +0 -32
  102. package/framework/hooks/skill-announce.sh +0 -123
  103. package/framework/hooks/tool-error-announce.sh +0 -27
  104. package/framework/install.ps1 +0 -323
  105. package/framework/install.sh +0 -313
  106. package/framework/qualia-framework/VERSION +0 -1
  107. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  108. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  109. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  110. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  111. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  112. package/framework/qualia-framework/references/checkpoints.md +0 -775
  113. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  114. package/framework/qualia-framework/references/continuation-format.md +0 -249
  115. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  116. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  117. package/framework/qualia-framework/references/design-quality.md +0 -56
  118. package/framework/qualia-framework/references/employee-guide.md +0 -167
  119. package/framework/qualia-framework/references/git-integration.md +0 -254
  120. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  121. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  122. package/framework/qualia-framework/references/model-profiles.md +0 -73
  123. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  124. package/framework/qualia-framework/references/planning-config.md +0 -195
  125. package/framework/qualia-framework/references/questioning.md +0 -141
  126. package/framework/qualia-framework/references/tdd.md +0 -263
  127. package/framework/qualia-framework/references/ui-brand.md +0 -160
  128. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  129. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  130. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  131. package/framework/qualia-framework/templates/UAT.md +0 -247
  132. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  133. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  134. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  135. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  136. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  137. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  138. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  139. package/framework/qualia-framework/templates/config.json +0 -35
  140. package/framework/qualia-framework/templates/context.md +0 -283
  141. package/framework/qualia-framework/templates/continue-here.md +0 -78
  142. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  143. package/framework/qualia-framework/templates/discovery.md +0 -146
  144. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  145. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  146. package/framework/qualia-framework/templates/milestone.md +0 -115
  147. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  148. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  149. package/framework/qualia-framework/templates/project.md +0 -184
  150. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  151. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  152. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  153. package/framework/qualia-framework/templates/projects/website.md +0 -137
  154. package/framework/qualia-framework/templates/requirements.md +0 -231
  155. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  156. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  157. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  158. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  159. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  160. package/framework/qualia-framework/templates/research.md +0 -552
  161. package/framework/qualia-framework/templates/roadmap.md +0 -206
  162. package/framework/qualia-framework/templates/state.md +0 -179
  163. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  164. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  165. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  166. package/framework/qualia-framework/templates/summary.md +0 -246
  167. package/framework/qualia-framework/templates/user-setup.md +0 -311
  168. package/framework/qualia-framework/templates/verification-report.md +0 -322
  169. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  170. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  171. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  172. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  173. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  174. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  175. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  176. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  177. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  178. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  179. package/framework/qualia-framework/workflows/help.md +0 -470
  180. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  181. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  182. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  183. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  184. package/framework/qualia-framework/workflows/new-project.md +0 -982
  185. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  186. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  187. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  188. package/framework/qualia-framework/workflows/progress.md +0 -389
  189. package/framework/qualia-framework/workflows/quick.md +0 -252
  190. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  191. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  192. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  193. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  194. package/framework/qualia-framework/workflows/settings.md +0 -145
  195. package/framework/qualia-framework/workflows/transition.md +0 -556
  196. package/framework/qualia-framework/workflows/update.md +0 -197
  197. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  198. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  199. package/framework/rules/context7.md +0 -14
  200. package/framework/rules/frontend.md +0 -33
  201. package/framework/rules/speed.md +0 -23
  202. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  203. package/framework/scripts/apply-retention.sh +0 -120
  204. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  205. package/framework/scripts/claude-voice +0 -13
  206. package/framework/scripts/cleanup.sh +0 -131
  207. package/framework/scripts/cowork-mode.sh +0 -141
  208. package/framework/scripts/generate-project-claude-md.sh +0 -153
  209. package/framework/scripts/load-test-webhook.js +0 -172
  210. package/framework/scripts/say.py +0 -236
  211. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  212. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  213. package/framework/scripts/speak.py +0 -55
  214. package/framework/scripts/speak.sh +0 -18
  215. package/framework/scripts/status.sh +0 -138
  216. package/framework/scripts/sync-to-framework.sh +0 -65
  217. package/framework/scripts/voice-hotkey.py +0 -227
  218. package/framework/scripts/voice-input.sh +0 -51
  219. package/framework/skills/animate/SKILL.md +0 -202
  220. package/framework/skills/bolder/SKILL.md +0 -144
  221. package/framework/skills/browser-qa/SKILL.md +0 -536
  222. package/framework/skills/clarify/SKILL.md +0 -179
  223. package/framework/skills/client-handoff/SKILL.md +0 -135
  224. package/framework/skills/collab-onboard/SKILL.md +0 -111
  225. package/framework/skills/colorize/SKILL.md +0 -170
  226. package/framework/skills/critique/SKILL.md +0 -126
  227. package/framework/skills/deep-research/SKILL.md +0 -240
  228. package/framework/skills/delight/SKILL.md +0 -329
  229. package/framework/skills/deploy/SKILL.md +0 -261
  230. package/framework/skills/deploy-verify/SKILL.md +0 -377
  231. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  232. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  233. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  234. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  235. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  236. package/framework/skills/design-quieter/SKILL.md +0 -130
  237. package/framework/skills/distill/SKILL.md +0 -149
  238. package/framework/skills/docs-lookup/SKILL.md +0 -79
  239. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  240. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  241. package/framework/skills/frontend-master/NOTICE.md +0 -4
  242. package/framework/skills/frontend-master/SKILL.md +0 -127
  243. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  244. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  245. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  246. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  247. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  248. package/framework/skills/frontend-master/reference/typography.md +0 -131
  249. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  250. package/framework/skills/harden/SKILL.md +0 -357
  251. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  252. package/framework/skills/learn/SKILL.md +0 -95
  253. package/framework/skills/memory/SKILL.md +0 -50
  254. package/framework/skills/mobile-expo/SKILL.md +0 -977
  255. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  256. package/framework/skills/nestjs-backend/README.md +0 -73
  257. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  258. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  259. package/framework/skills/normalize/SKILL.md +0 -79
  260. package/framework/skills/onboard/SKILL.md +0 -242
  261. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  262. package/framework/skills/polish/SKILL.md +0 -209
  263. package/framework/skills/pr/SKILL.md +0 -66
  264. package/framework/skills/qualia/SKILL.md +0 -199
  265. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  266. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  267. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  268. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  269. package/framework/skills/qualia-debug/SKILL.md +0 -149
  270. package/framework/skills/qualia-design/SKILL.md +0 -203
  271. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  272. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  273. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  274. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  275. package/framework/skills/qualia-guide/SKILL.md +0 -32
  276. package/framework/skills/qualia-help/SKILL.md +0 -114
  277. package/framework/skills/qualia-idk/SKILL.md +0 -352
  278. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  279. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  280. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  281. package/framework/skills/qualia-optimize/SKILL.md +0 -417
  282. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  283. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  284. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  285. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  286. package/framework/skills/qualia-progress/SKILL.md +0 -53
  287. package/framework/skills/qualia-quick/SKILL.md +0 -89
  288. package/framework/skills/qualia-report/SKILL.md +0 -166
  289. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  290. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  291. package/framework/skills/qualia-review/SKILL.md +0 -263
  292. package/framework/skills/qualia-start/SKILL.md +0 -161
  293. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  294. package/framework/skills/rag/SKILL.md +0 -750
  295. package/framework/skills/responsive/SKILL.md +0 -231
  296. package/framework/skills/retro/SKILL.md +0 -284
  297. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  298. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  299. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  300. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  301. package/framework/skills/seo-master/SKILL.md +0 -490
  302. package/framework/skills/seo-master/references/checklist.md +0 -199
  303. package/framework/skills/seo-master/references/structured-data.md +0 -609
  304. package/framework/skills/ship/SKILL.md +0 -239
  305. package/framework/skills/stack-researcher/SKILL.md +0 -215
  306. package/framework/skills/status/SKILL.md +0 -154
  307. package/framework/skills/status/scripts/health-check.sh +0 -562
  308. package/framework/skills/subscription-payments/SKILL.md +0 -250
  309. package/framework/skills/supabase/SKILL.md +0 -973
  310. package/framework/skills/supabase/references/templates.md +0 -159
  311. package/framework/skills/team/SKILL.md +0 -67
  312. package/framework/skills/test-runner/SKILL.md +0 -202
  313. package/framework/skills/voice-agent/SKILL.md +0 -1312
  314. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  315. package/framework/statusline-command.sh +0 -117
  316. package/framework/teams/default/inboxes/plan-04.json +0 -9
  317. package/framework/teams/review-team.md +0 -75
  318. package/framework/teams/ship-team.md +0 -86
  319. package/profiles/fawzi.json +0 -16
  320. package/profiles/hasan.json +0 -16
  321. package/profiles/moayad.json +0 -16
  322. package/templates/CLAUDE-owner.md +0 -52
  323. package/templates/CLAUDE.md.hbs +0 -58
  324. package/templates/env.claude.template +0 -12
  325. package/templates/settings.json +0 -172
  326. /package/{framework/rules → rules}/deployment.md +0 -0
  327. /package/{framework/rules → rules}/security.md +0 -0
@@ -1,438 +0,0 @@
1
- <purpose>
2
- Execute a phase prompt (PLAN.md) and create the outcome summary (SUMMARY.md).
3
- </purpose>
4
-
5
- <required_reading>
6
- Read STATE.md before any operation to load project context.
7
- Read config.json for planning behavior settings.
8
-
9
- @/home/qualia/.claude/qualia-framework/references/git-integration.md
10
- </required_reading>
11
-
12
- <process>
13
-
14
- <step name="init_context" priority="first">
15
- Load execution context (uses `init execute-phase` for full context):
16
-
17
- ```bash
18
- INIT=$(node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js init execute-phase "${PHASE}")
19
- ```
20
-
21
- Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `phase_number`, `plans`, `summaries`, `incomplete_plans`.
22
-
23
- Also read STATE.md for current position, decisions, blockers:
24
- ```bash
25
- cat .planning/STATE.md 2>/dev/null
26
- ```
27
-
28
- If `.planning/` missing: error.
29
- </step>
30
-
31
- <step name="identify_plan">
32
- ```bash
33
- cat .planning/ROADMAP.md
34
- ls .planning/phases/XX-name/*-PLAN.md 2>/dev/null | sort
35
- ls .planning/phases/XX-name/*-SUMMARY.md 2>/dev/null | sort
36
- ```
37
-
38
- Find first PLAN without matching SUMMARY. Decimal phases supported (`01.1-hotfix/`):
39
-
40
- ```bash
41
- PHASE=$(echo "$PLAN_PATH" | grep -oE '[0-9]+(\.[0-9]+)?-[0-9]+')
42
- cat .planning/config.json 2>/dev/null
43
- ```
44
-
45
- <if mode="yolo">
46
- Auto-approve: `⚡ Execute {phase}-{plan}-PLAN.md [Plan X of Y for Phase Z]` → parse_segments.
47
- </if>
48
-
49
- <if mode="interactive" OR="custom with gates.execute_next_plan true">
50
- Present plan identification, wait for confirmation.
51
- </if>
52
- </step>
53
-
54
- <step name="record_start_time">
55
- ```bash
56
- PLAN_START_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
57
- PLAN_START_EPOCH=$(date +%s)
58
- ```
59
- </step>
60
-
61
- <step name="detect_frontend">
62
- Check if this plan involves frontend work. Runs before parse_segments so all execution patterns (A/B/C) have this context.
63
-
64
- ```bash
65
- grep -iE '\.(tsx|jsx|css|scss)|frontend|ui|component|page|layout|dashboard|form|modal|navigation|landing' "{plan_path}" > /dev/null 2>&1 && IS_FRONTEND=true || IS_FRONTEND=false
66
- ```
67
-
68
- If `IS_FRONTEND=true`: load design quality standards.
69
-
70
- ```bash
71
- if [ "$IS_FRONTEND" = "true" ]; then
72
- DESIGN_REF=$(cat /home/qualia/.claude/qualia-framework/references/design-quality.md 2>/dev/null)
73
- FRONTEND_SKILL=$(cat /home/qualia/.claude/skills/frontend-master/SKILL.md 2>/dev/null)
74
- fi
75
- ```
76
-
77
- **For Pattern A/B subagents:** When `IS_FRONTEND=true`, append a `<design_quality>` block to the subagent prompt containing the frontend-master skill and design ref:
78
-
79
- ```
80
- <design_quality>
81
- This plan involves frontend work. Use the frontend-master skill as your primary design guide.
82
-
83
- {FRONTEND_SKILL content inlined here}
84
-
85
- Build-time standards summary:
86
- {DESIGN_REF content inlined here}
87
-
88
- Per-task checklist before committing frontend code:
89
- 1. Distinctive or generic? (check against frontend-master DON'Ts)
90
- 2. Spacing/colors consistent? 3. Empty/loading/error states?
91
- 4. Copy clear to first-time user? 5. Interactive states styled? 6. CSS transitions on interactions?
92
- </design_quality>
93
- ```
94
-
95
- **For Pattern C (main context):** Standards apply directly during the execute step.
96
- </step>
97
-
98
- <step name="parse_segments">
99
- ```bash
100
- grep -n "type=\"checkpoint" .planning/phases/XX-name/{phase}-{plan}-PLAN.md
101
- ```
102
-
103
- **Routing by checkpoint type:**
104
-
105
- | Checkpoints | Pattern | Execution |
106
- |-------------|---------|-----------|
107
- | None | A (autonomous) | Single subagent: full plan + SUMMARY + commit |
108
- | Verify-only | B (segmented) | Segments between checkpoints. After none/human-verify → SUBAGENT. After decision/human-action → MAIN |
109
- | Decision | C (main) | Execute entirely in main context |
110
-
111
- **Pattern A:** init_agent_tracking → spawn Task(subagent_type="qualia-executor", model=executor_model) with prompt: execute plan at [path], autonomous, all tasks + SUMMARY + commit, follow deviation/auth rules, report: plan name, tasks, SUMMARY path, commit hash → track agent_id → wait → update tracking → report.
112
-
113
- **Pattern B:** Execute segment-by-segment. Autonomous segments: spawn subagent for assigned tasks only (no SUMMARY/commit). Checkpoints: main context. After all segments: aggregate, create SUMMARY, commit. See segment_execution.
114
-
115
- **Pattern C:** Execute in main using standard flow (step name="execute").
116
-
117
- Fresh context per subagent preserves peak quality. Main context stays lean.
118
- </step>
119
-
120
- <step name="init_agent_tracking">
121
- ```bash
122
- if [ ! -f .planning/agent-history.json ]; then
123
- echo '{"version":"1.0","max_entries":50,"entries":[]}' > .planning/agent-history.json
124
- fi
125
- rm -f .planning/current-agent-id.txt
126
- if [ -f .planning/current-agent-id.txt ]; then
127
- INTERRUPTED_ID=$(cat .planning/current-agent-id.txt)
128
- echo "Found interrupted agent: $INTERRUPTED_ID"
129
- fi
130
- ```
131
-
132
- If interrupted: ask user to resume (Task `resume` parameter) or start fresh.
133
-
134
- **Tracking protocol:** On spawn: write agent_id to `current-agent-id.txt`, append to agent-history.json: `{"agent_id":"[id]","task_description":"[desc]","phase":"[phase]","plan":"[plan]","segment":[num|null],"timestamp":"[ISO]","status":"spawned","completion_timestamp":null}`. On completion: status → "completed", set completion_timestamp, delete current-agent-id.txt. Prune: if entries > max_entries, remove oldest "completed" (never "spawned").
135
-
136
- Run for Pattern A/B before spawning. Pattern C: skip.
137
- </step>
138
-
139
- <step name="segment_execution">
140
- Pattern B only (verify-only checkpoints). Skip for A/C.
141
-
142
- 1. Parse segment map: checkpoint locations and types
143
- 2. Per segment:
144
- - Subagent route: spawn qualia-executor for assigned tasks only. Prompt: task range, plan path, read full plan for context, execute assigned tasks, track deviations, NO SUMMARY/commit. Track via agent protocol.
145
- - Main route: execute tasks using standard flow (step name="execute")
146
- 3. After ALL segments: aggregate files/deviations/decisions → create SUMMARY.md → commit → self-check:
147
- - Verify key-files.created exist on disk with `[ -f ]`
148
- - Check `git log --oneline --all --grep="{phase}-{plan}"` returns ≥1 commit
149
- - Append `## Self-Check: PASSED` or `## Self-Check: FAILED` to SUMMARY
150
- </step>
151
-
152
- <step name="load_prompt">
153
- ```bash
154
- cat .planning/phases/XX-name/{phase}-{plan}-PLAN.md
155
- ```
156
- This IS the execution instructions. Follow exactly. If plan references CONTEXT.md: honor user's vision throughout.
157
- </step>
158
-
159
- <step name="previous_phase_check">
160
- ```bash
161
- ls .planning/phases/*/SUMMARY.md 2>/dev/null | sort -r | head -2 | tail -1
162
- ```
163
- If previous SUMMARY has unresolved "Issues Encountered" or "Next Phase Readiness" blockers: AskUserQuestion(header="Previous Issues", options: "Proceed anyway" | "Address first" | "Review previous").
164
- </step>
165
-
166
- <step name="execute">
167
- Deviations are normal — handle via rules below.
168
-
169
- 1. Read @context files from prompt
170
- 2. If `IS_FRONTEND=true`: read design quality reference and apply standards inline during implementation
171
- 3. Per task:
172
- - `type="auto"`: if `tdd="true"` → TDD execution. Implement with deviation rules + auth gates. Verify done criteria. **If frontend task: apply design-quality per-task checklist before committing** (distinctive look, consistent spacing/tokens, empty/loading/error states, clear copy, interactive states, CSS transitions). Commit (see task_commit). Track hash for Summary.
173
- - `type="checkpoint:*"`: STOP → checkpoint_protocol → wait for user → continue only after confirmation.
174
- 4. Run `<verification>` checks
175
- 5. Confirm `<success_criteria>` met
176
- 6. Document deviations in Summary
177
- </step>
178
-
179
- <authentication_gates>
180
-
181
- ## Authentication Gates
182
-
183
- Auth errors during execution are NOT failures — they're expected interaction points.
184
-
185
- **Indicators:** "Not authenticated", "Unauthorized", 401/403, "Please run {tool} login", "Set {ENV_VAR}"
186
-
187
- **Protocol:**
188
- 1. Recognize auth gate (not a bug)
189
- 2. STOP task execution
190
- 3. Create dynamic checkpoint:human-action with exact auth steps
191
- 4. Wait for user to authenticate
192
- 5. Verify credentials work
193
- 6. Retry original task
194
- 7. Continue normally
195
-
196
- **Example:** `vercel --yes` → "Not authenticated" → checkpoint asking user to `vercel login` → verify with `vercel whoami` → retry deploy → continue
197
-
198
- **In Summary:** Document as normal flow under "## Authentication Gates", not as deviations.
199
-
200
- </authentication_gates>
201
-
202
- <deviation_rules>
203
-
204
- ## Deviation Rules
205
-
206
- You WILL discover unplanned work. Apply automatically, track all for Summary.
207
-
208
- | Rule | Trigger | Action | Permission |
209
- |------|---------|--------|------------|
210
- | **1: Bug** | Broken behavior, errors, wrong queries, type errors, security vulns, race conditions, leaks | Fix → test → verify → track `[Rule 1 - Bug]` | Auto |
211
- | **2: Missing Critical** | Missing essentials: error handling, validation, auth, CSRF/CORS, rate limiting, indexes, logging | Add → test → verify → track `[Rule 2 - Missing Critical]` | Auto |
212
- | **3: Blocking** | Prevents completion: missing deps, wrong types, broken imports, missing env/config/files, circular deps | Fix blocker → verify proceeds → track `[Rule 3 - Blocking]` | Auto |
213
- | **4: Architectural** | Structural change: new DB table, schema change, new service, switching libs, breaking API, new infra | STOP → present decision (below) → track `[Rule 4 - Architectural]` | Ask user |
214
-
215
- **Rule 4 format:**
216
- ```
217
- ⚠️ Architectural Decision Needed
218
-
219
- Current task: [task name]
220
- Discovery: [what prompted this]
221
- Proposed change: [modification]
222
- Why needed: [rationale]
223
- Impact: [what this affects]
224
- Alternatives: [other approaches]
225
-
226
- Proceed with proposed change? (yes / different approach / defer)
227
- ```
228
-
229
- **Priority:** Rule 4 (STOP) > Rules 1-3 (auto) > unsure → Rule 4
230
- **Edge cases:** missing validation → R2 | null crash → R1 | new table → R4 | new column → R1/2
231
- **Heuristic:** Affects correctness/security/completion? → R1-3. Maybe? → R4.
232
-
233
- </deviation_rules>
234
-
235
- <deviation_documentation>
236
-
237
- ## Documenting Deviations
238
-
239
- Summary MUST include deviations section. None? → `## Deviations from Plan\n\nNone - plan executed exactly as written.`
240
-
241
- Per deviation: **[Rule N - Category] Title** — Found during: Task X | Issue | Fix | Files modified | Verification | Commit hash
242
-
243
- End with: **Total deviations:** N auto-fixed (breakdown). **Impact:** assessment.
244
-
245
- </deviation_documentation>
246
-
247
- <tdd_plan_execution>
248
- ## TDD Execution
249
-
250
- For `type: tdd` plans — RED-GREEN-REFACTOR:
251
-
252
- 1. **Infrastructure** (first TDD plan only): detect project, install framework, config, verify empty suite
253
- 2. **RED:** Read `<behavior>` → failing test(s) → run (MUST fail) → commit: `test({phase}-{plan}): add failing test for [feature]`
254
- 3. **GREEN:** Read `<implementation>` → minimal code → run (MUST pass) → commit: `feat({phase}-{plan}): implement [feature]`
255
- 4. **REFACTOR:** Clean up → tests MUST pass → commit: `refactor({phase}-{plan}): clean up [feature]`
256
-
257
- Errors: RED doesn't fail → investigate test/existing feature. GREEN doesn't pass → debug, iterate. REFACTOR breaks → undo.
258
-
259
- See `/home/qualia/.claude/qualia-framework/references/tdd.md` for structure.
260
- </tdd_plan_execution>
261
-
262
- <task_commit>
263
- ## Task Commit Protocol
264
-
265
- After each task (verification passed, done criteria met), commit immediately.
266
-
267
- **1. Check:** `git status --short`
268
-
269
- **2. Stage individually** (NEVER `git add .` or `git add -A`):
270
- ```bash
271
- git add src/api/auth.ts
272
- git add src/types/user.ts
273
- ```
274
-
275
- **3. Commit type:**
276
-
277
- | Type | When | Example |
278
- |------|------|---------|
279
- | `feat` | New functionality | feat(08-02): create user registration endpoint |
280
- | `fix` | Bug fix | fix(08-02): correct email validation regex |
281
- | `test` | Test-only (TDD RED) | test(08-02): add failing test for password hashing |
282
- | `refactor` | No behavior change (TDD REFACTOR) | refactor(08-02): extract validation to helper |
283
- | `perf` | Performance | perf(08-02): add database index |
284
- | `docs` | Documentation | docs(08-02): add API docs |
285
- | `style` | Formatting | style(08-02): format auth module |
286
- | `chore` | Config/deps | chore(08-02): add bcrypt dependency |
287
-
288
- **4. Format:** `{type}({phase}-{plan}): {description}` with bullet points for key changes.
289
-
290
- **5. Record hash:**
291
- ```bash
292
- TASK_COMMIT=$(git rev-parse --short HEAD)
293
- TASK_COMMITS+=("Task ${TASK_NUM}: ${TASK_COMMIT}")
294
- ```
295
-
296
- </task_commit>
297
-
298
- <step name="checkpoint_protocol">
299
- On `type="checkpoint:*"`: automate everything possible first. Checkpoints are for verification/decisions only.
300
-
301
- Display: `CHECKPOINT: [Type]` box → Progress {X}/{Y} → Task name → type-specific content → `YOUR ACTION: [signal]`
302
-
303
- | Type | Content | Resume signal |
304
- |------|---------|---------------|
305
- | human-verify (90%) | What was built + verification steps (commands/URLs) | "approved" or describe issues |
306
- | decision (9%) | Decision needed + context + options with pros/cons | "Select: option-id" |
307
- | human-action (1%) | What was automated + ONE manual step + verification plan | "done" |
308
-
309
- After response: verify if specified. Pass → continue. Fail → inform, wait. WAIT for user — do NOT hallucinate completion.
310
-
311
- See /home/qualia/.claude/qualia-framework/references/checkpoints.md for details.
312
- </step>
313
-
314
- <step name="checkpoint_return_for_orchestrator">
315
- When spawned via Task and hitting checkpoint: return structured state (cannot interact with user directly).
316
-
317
- **Required return:** 1) Completed Tasks table (hashes + files) 2) Current Task (what's blocking) 3) Checkpoint Details (user-facing content) 4) Awaiting (what's needed from user)
318
-
319
- Orchestrator parses → presents to user → spawns fresh continuation with your completed tasks state. You will NOT be resumed. In main context: use checkpoint_protocol above.
320
- </step>
321
-
322
- <step name="verification_failure_gate">
323
- If verification fails: STOP. Present: "Verification failed for Task [X]: [name]. Expected: [criteria]. Actual: [result]." Options: Retry | Skip (mark incomplete) | Stop (investigate). If skipped → SUMMARY "Issues Encountered".
324
- </step>
325
-
326
- <step name="record_completion_time">
327
- ```bash
328
- PLAN_END_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
329
- PLAN_END_EPOCH=$(date +%s)
330
-
331
- DURATION_SEC=$(( PLAN_END_EPOCH - PLAN_START_EPOCH ))
332
- DURATION_MIN=$(( DURATION_SEC / 60 ))
333
-
334
- if [[ $DURATION_MIN -ge 60 ]]; then
335
- HRS=$(( DURATION_MIN / 60 ))
336
- MIN=$(( DURATION_MIN % 60 ))
337
- DURATION="${HRS}h ${MIN}m"
338
- else
339
- DURATION="${DURATION_MIN} min"
340
- fi
341
- ```
342
- </step>
343
-
344
- <step name="generate_user_setup">
345
- ```bash
346
- grep -A 50 "^user_setup:" .planning/phases/XX-name/{phase}-{plan}-PLAN.md | head -50
347
- ```
348
-
349
- If user_setup exists: create `{phase}-USER-SETUP.md` using template `/home/qualia/.claude/qualia-framework/templates/user-setup.md`. Per service: env vars table, account setup checklist, dashboard config, local dev notes, verification commands. Status "Incomplete". Set `USER_SETUP_CREATED=true`. If empty/missing: skip.
350
- </step>
351
-
352
- <step name="create_summary">
353
- Create `{phase}-{plan}-SUMMARY.md` at `.planning/phases/XX-name/`. Use `/home/qualia/.claude/qualia-framework/templates/summary.md`.
354
-
355
- **Frontmatter:** phase, plan, subsystem, tags | requires/provides/affects | tech-stack.added/patterns | key-files.created/modified | key-decisions | duration ($DURATION), completed ($PLAN_END_TIME date).
356
-
357
- Title: `# Phase [X] Plan [Y]: [Name] Summary`
358
-
359
- One-liner SUBSTANTIVE: "JWT auth with refresh rotation using jose library" not "Authentication implemented"
360
-
361
- Include: duration, start/end times, task count, file count.
362
-
363
- Next: more plans → "Ready for {next-plan}" | last → "Phase complete, ready for transition".
364
- </step>
365
-
366
- <step name="update_current_position">
367
- Update STATE.md: Phase [current]/[total] ([name]) | Plan [completed]/[total] | Status | Last activity: [today] - Completed {phase}-{plan} | Progress bar (█/░). Calculate: (total SUMMARYs / total PLANs) × 100%.
368
- </step>
369
-
370
- <step name="extract_decisions_and_issues">
371
- From SUMMARY: "Decisions Made" (if not "None") → STATE.md Decisions: `| [phase] | [summary] | [rationale] |`. "Next Phase Readiness" blockers → STATE.md "Blockers/Concerns Carried Forward".
372
- </step>
373
-
374
- <step name="update_session_continuity">
375
- STATE.md Session: Last session [date/time] | Stopped at: Completed {phase}-{plan} | Resume file: [path or "None"]. Keep STATE.md under 150 lines.
376
- </step>
377
-
378
- <step name="issues_review_gate">
379
- If SUMMARY "Issues Encountered" ≠ "None": yolo → log and continue. Interactive → present issues, wait for acknowledgment.
380
- </step>
381
-
382
- <step name="update_roadmap">
383
- More plans → update plan count, keep "In progress". Last plan → mark phase "Complete", add date.
384
- </step>
385
-
386
- <step name="git_commit_metadata">
387
- Task code already committed per-task. Commit plan metadata:
388
-
389
- ```bash
390
- node /home/qualia/.claude/qualia-framework/bin/qualia-tools.js commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
391
- ```
392
- </step>
393
-
394
- <step name="update_codebase_map">
395
- If .planning/codebase/ doesn't exist: skip.
396
-
397
- ```bash
398
- FIRST_TASK=$(git log --oneline --grep="feat({phase}-{plan}):" --grep="fix({phase}-{plan}):" --grep="test({phase}-{plan}):" --reverse | head -1 | cut -d' ' -f1)
399
- git diff --name-only ${FIRST_TASK}^..HEAD 2>/dev/null
400
- ```
401
-
402
- Update only structural changes: new src/ dir → STRUCTURE.md | deps → STACK.md | file pattern → CONVENTIONS.md | API client → INTEGRATIONS.md | config → STACK.md | renamed → update paths. Skip code-only/bugfix/content changes.
403
-
404
- ```bash
405
- git add .planning/codebase/*.md && git commit --amend --no-edit
406
- ```
407
- </step>
408
-
409
- <step name="offer_next">
410
- If `USER_SETUP_CREATED=true`: display `⚠️ USER SETUP REQUIRED` with path + env/config tasks at TOP.
411
-
412
- ```bash
413
- ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
414
- ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
415
- ```
416
-
417
- | Condition | Route | Action |
418
- |-----------|-------|--------|
419
- | summaries < plans | **A: More plans** | Find next PLAN without SUMMARY. Yolo: auto-continue. Interactive: show next plan, suggest `/qualia:execute-phase {phase}` + `/qualia:verify-work`. STOP here. |
420
- | summaries = plans, current < highest phase | **B: Phase done** | Show completion, suggest `/qualia:plan-phase {Z+1}` + `/qualia:verify-work {Z}` + `/qualia:discuss-phase {Z+1}` |
421
- | summaries = plans, current = highest phase | **C: Milestone done** | Show banner, suggest `/qualia:complete-milestone` + `/qualia:verify-work` + `/qualia:add-phase` |
422
-
423
- All routes: `/clear` first for fresh context.
424
- </step>
425
-
426
- </process>
427
-
428
- <success_criteria>
429
-
430
- - All tasks from PLAN.md completed
431
- - All verifications pass
432
- - USER-SETUP.md generated if user_setup in frontmatter
433
- - SUMMARY.md created with substantive content
434
- - STATE.md updated (position, decisions, issues, session)
435
- - ROADMAP.md updated
436
- - If codebase map exists: map updated with execution changes (or skipped if no significant changes)
437
- - If USER-SETUP.md created: prominently surfaced in completion output
438
- </success_criteria>