kenaz 0.3.18 → 0.3.19

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 (308) hide show
  1. package/core/.claude/commands/agent-worker.md +1 -1
  2. package/core/.claude/commands/architect.md +1 -2
  3. package/core/.claude/commands/spec.md +1 -1
  4. package/core/.claude/commands//347/224/242/345/223/201.md +1 -1
  5. package/core/.claude/hooks/__tests__/task-1977-dedupe-guard.test.js +8 -8
  6. package/core/.claude/skills/architect_agent/SKILL.md +11 -92
  7. package/core/.claude/skills/assessment_agent/SKILL.md +0 -1
  8. package/core/.claude/skills/backend_engineer/SKILL.md +3 -6
  9. package/core/.claude/skills/code_reviewer/SKILL.md +1 -1
  10. package/core/.claude/skills/code_reviewer/patterns.yaml +1 -1
  11. package/core/.claude/skills/designer/SKILL.md +3 -6
  12. package/core/.claude/skills/dev_agent/SKILL.md +30 -491
  13. package/core/.claude/skills/developer/SKILL.md +3 -6
  14. package/core/.claude/skills/feature_agent/SKILL.md +3 -17
  15. package/core/.claude/skills/product_manager/SKILL.md +29 -1064
  16. package/core/.claude/skills/qa_engineer/SKILL.md +12 -17
  17. package/core/.claude/skills/spec_optimizer/SKILL.md +25 -275
  18. package/core/.claude/skills/sre_agent/SKILL.md +3 -6
  19. package/core/.collaboration/README.md +2 -3
  20. package/core/.collaboration/core/task-api.js +5 -138
  21. package/core/.collaboration/docs/CLI.md +0 -2
  22. package/core/.failure/INDEX.yaml +6 -40
  23. package/core/.failure/agent-execution/FAIL-013-search-cwd-drift-and-case-mismatch.yaml +1 -1
  24. package/core/.failure/tools/README.md +9 -227
  25. package/core/.formation/bifrost/launch.js +1 -6
  26. package/core/.formation/bifrost/launch.test.js +1 -1
  27. package/core/.formation/bifrost/shared/ansuz-boot-policy.js +3 -3
  28. package/core/.formation/bifrost/shared/ansuz-boot-policy.test.js +1 -2
  29. package/core/.formation/tools/__tests__/m1-hmap-convid.test.js +1 -124
  30. package/core/.formation/tools/dispatch.js +1 -1
  31. package/core/.formation/tools/loader.js +17 -140
  32. package/core/.formation/tools/post-complete.js +0 -31
  33. package/core/.rule/INDEX.yaml +0 -18
  34. package/core/.rule/general/agent-workflow.yaml +14 -164
  35. package/core/.rule/general/project-self-containment.yaml +8 -19
  36. package/core/.rule/general/rust-verify-target.yaml +6 -5
  37. package/core/.rule/general/synapse-code-intelligence.yaml +3 -3
  38. package/core/.specialist/Amelia/capability.yaml +12 -12
  39. package/core/.specialist/Amelia/workflow.yaml +2 -2
  40. package/core/.specialist/Ansuz/SYSTEM_DOC.md +20 -578
  41. package/core/.specialist/Ansuz/cognitive_principles.yaml +2 -3
  42. package/core/.specialist/Ansuz/concepts/boot_rules_summary.yaml +0 -1
  43. package/core/.specialist/Ansuz/concepts/deep_knowledge_pointers.yaml +1 -2
  44. package/core/.specialist/Ansuz/core.yaml +6 -108
  45. package/core/.specialist/Ansuz/guards/lesson_guards.yaml +0 -3
  46. package/core/.specialist/Ansuz/identity_contract.yaml +0 -1
  47. package/core/.specialist/Ansuz/knowledge.yaml +0 -4
  48. package/core/.specialist/Ansuz/rule.yaml +0 -1
  49. package/core/.specialist/Ansuz/tools/handoff-session-identity.test.js +6 -150
  50. package/core/.specialist/tests/runtime-discovery/README.md +1 -1
  51. package/core/.specialist/tools/__tests__/task-2374-usage-counter.test.js +1 -12
  52. package/core/.specialist/tools/prompt-files.test.js +1 -0
  53. package/core/.specialist/tools/task-bridge.js +1 -66
  54. package/core/.system/README.md +11 -552
  55. package/core/.system/collaboration/README.md +10 -174
  56. package/core/CLAUDE.md +1 -6
  57. package/core/KENAZ_CORE_VERSION +1 -1
  58. package/core/dev/scripts/js-yaml-resolution.test.js +1 -1
  59. package/core/dev/scripts/run-rust-tests.js +9 -45
  60. package/core/dev/scripts/rust-verify-worktree.js +4 -4
  61. package/core/dev/scripts/verify-target-dir.js +6 -6
  62. package/core/plugins/kenaz/INVENTORY.md +8 -8
  63. package/core/plugins/kenaz/commands/architect.md +1 -2
  64. package/core/plugins/kenaz/commands/spec.md +1 -1
  65. package/core/plugins/kenaz/commands//347/224/242/345/223/201.md +1 -1
  66. package/core/plugins/kenaz/guidance.md +1 -1
  67. package/core/plugins/kenaz/scripts/sync.js +1 -1
  68. package/core/plugins/kenaz/skills/architect_agent/SKILL.md +11 -92
  69. package/core/plugins/kenaz/skills/assessment_agent/SKILL.md +0 -1
  70. package/core/plugins/kenaz/skills/backend_engineer/SKILL.md +3 -6
  71. package/core/plugins/kenaz/skills/code_reviewer/SKILL.md +1 -1
  72. package/core/plugins/kenaz/skills/code_reviewer/patterns.yaml +1 -1
  73. package/core/plugins/kenaz/skills/designer/SKILL.md +3 -6
  74. package/core/plugins/kenaz/skills/dev_agent/SKILL.md +30 -491
  75. package/core/plugins/kenaz/skills/developer/SKILL.md +3 -6
  76. package/core/plugins/kenaz/skills/feature_agent/SKILL.md +3 -17
  77. package/core/plugins/kenaz/skills/product_manager/SKILL.md +29 -1064
  78. package/core/plugins/kenaz/skills/qa_engineer/SKILL.md +12 -17
  79. package/core/plugins/kenaz/skills/spec_optimizer/SKILL.md +25 -275
  80. package/core/plugins/kenaz/skills/sre_agent/SKILL.md +3 -6
  81. package/package.json +6 -6
  82. package/core/.claude/commands/archive.md +0 -24
  83. package/core/.claude/commands/init.md +0 -112
  84. package/core/.claude/commands/legacy_dev.md +0 -18
  85. package/core/.claude/commands/product-review.md +0 -131
  86. package/core/.claude/commands/strategy.md +0 -141
  87. package/core/.claude/commands/sunny.md +0 -1
  88. package/core/.claude/commands//347/224/242/345/223/201/346/252/242/350/246/226.md +0 -129
  89. package/core/.claude/commands//351/200/262/345/272/246.md +0 -15
  90. package/core/.claude/hooks/__tests__/substrate.test.js +0 -122
  91. package/core/.claude/hooks/_substrate-paths.js +0 -95
  92. package/core/.claude/hooks/context-check.js +0 -51
  93. package/core/.claude/hooks/fatigue-check.js +0 -52
  94. package/core/.claude/hooks/handoff-snapshot-on-commit.js +0 -154
  95. package/core/.claude/hooks/handoff-snapshot-on-question.js +0 -158
  96. package/core/.claude/hooks/handoff-staleness.js +0 -197
  97. package/core/.claude/hooks/jev-thalamus-context.js +0 -17
  98. package/core/.claude/hooks/jev-thalamus-context.test.js +0 -41
  99. package/core/.claude/hooks/lease-release.js +0 -119
  100. package/core/.claude/hooks/lease-touch.js +0 -96
  101. package/core/.claude/hooks/reflex-feedback.js +0 -5
  102. package/core/.claude/hooks/session-init.ps1 +0 -49
  103. package/core/.claude/hooks/sound-event.js +0 -70
  104. package/core/.claude/hooks/sound-event.sh +0 -37
  105. package/core/.claude/hooks/stream-delta.js +0 -169
  106. package/core/.claude/no-hooks.settings.json +0 -3
  107. package/core/.claude/skills/legacy_dev/SKILL.md +0 -202
  108. package/core/.claude/skills/sunny/SKILL.md +0 -74
  109. package/core/.collaboration/cli/commands/assign.js +0 -39
  110. package/core/.collaboration/cli/commands/claim.js +0 -33
  111. package/core/.collaboration/cli/commands/complete.js +0 -44
  112. package/core/.collaboration/cli/commands/create.js +0 -110
  113. package/core/.collaboration/cli/commands/get.js +0 -83
  114. package/core/.collaboration/cli/commands/index.js +0 -52
  115. package/core/.collaboration/cli/commands/list.js +0 -51
  116. package/core/.collaboration/cli/commands/lock.js +0 -45
  117. package/core/.collaboration/cli/commands/rebuild.js +0 -39
  118. package/core/.collaboration/cli/commands/search.js +0 -61
  119. package/core/.collaboration/cli/commands/stats.js +0 -61
  120. package/core/.collaboration/cli/commands/transfer.js +0 -41
  121. package/core/.collaboration/cli/commands/unlock.js +0 -48
  122. package/core/.collaboration/cli/formatters/help-formatter.js +0 -70
  123. package/core/.collaboration/cli/formatters/index.js +0 -7
  124. package/core/.collaboration/cli/task-cli.js +0 -46
  125. package/core/.collaboration/cli/utils/arg-parser.js +0 -74
  126. package/core/.collaboration/cli/utils/git-user.js +0 -25
  127. package/core/.collaboration/cli/utils/index.js +0 -9
  128. package/core/.collaboration/cli/utils/output.js +0 -10
  129. package/core/.collaboration/config/default.yaml +0 -189
  130. package/core/.collaboration/core/conflict-resolver.js +0 -461
  131. package/core/.collaboration/core/conflict-resolver.test.js +0 -389
  132. package/core/.collaboration/core/migrate-legacy.js +0 -260
  133. package/core/.collaboration/docs/API.md +0 -787
  134. package/core/.collaboration/docs/ARCHITECTURE.md +0 -596
  135. package/core/.collaboration/docs/FAQ.md +0 -695
  136. package/core/.collaboration/docs/MIGRATION.md +0 -804
  137. package/core/.collaboration/docs/examples/README.md +0 -320
  138. package/core/.collaboration/docs/examples/advanced-queries.js +0 -261
  139. package/core/.collaboration/docs/examples/basic-usage.js +0 -184
  140. package/core/.collaboration/docs/examples/team-workflow.js +0 -352
  141. package/core/.failure/agent-execution/FAIL-001-agent-no-output.yaml +0 -391
  142. package/core/.failure/agent-execution/FAIL-007-pm-lead-wrong-team-invocation.yaml +0 -0
  143. package/core/.failure/agent-execution/FAIL-010-phase0-poem-format-skipped.yaml +0 -28
  144. package/core/.failure/agent-execution/FAIL-010-skipping-cognitive-checkpoint-after-verification.yaml +0 -59
  145. package/core/.failure/agent-execution/FAIL-012-grep-shortcut-during-investigation.yaml +0 -85
  146. package/core/.failure/architecture/FAIL-006-python-version-compatibility.yaml +0 -445
  147. package/core/.failure/pipeline/FAIL-003-queue-pollution.yaml +0 -335
  148. package/core/.failure/pipeline/README.md +0 -95
  149. package/core/.failure/retired/FAIL-009-skipping-synapse-pulse-before-code-change.yaml +0 -49
  150. package/core/.failure/tools/USAGE_GUIDE.md +0 -323
  151. package/core/.failure/tools/check_failures.ps1 +0 -387
  152. package/core/.failure/tools/log_failure.ps1 +0 -474
  153. package/core/.formation/.episode-input.json +0 -10
  154. package/core/.formation/.merge-lock +0 -1
  155. package/core/.formation/lead.yaml +0 -118
  156. package/core/.formation/legacy.bak/designer.yaml +0 -57
  157. package/core/.formation/legacy.bak/pm.yaml +0 -57
  158. package/core/.formation/legacy.bak/qa.yaml +0 -57
  159. package/core/.formation/legacy.bak/review.yaml +0 -62
  160. package/core/.formation/legacy.bak/scheduler.yaml +0 -129
  161. package/core/.formation/legacy.bak/sre.yaml +0 -57
  162. package/core/.formation/role-map.yaml +0 -274
  163. package/core/.formation/roles/_shared/modules/code_review.yaml +0 -98
  164. package/core/.formation/roles/_shared/modules/security.yaml +0 -103
  165. package/core/.formation/roles/_shared/modules/testing.yaml +0 -14
  166. package/core/.formation/roles/backend/role.yaml +0 -93
  167. package/core/.formation/roles/code_reviewer/role.yaml +0 -102
  168. package/core/.formation/roles/database_optimizer/role.yaml +0 -107
  169. package/core/.formation/roles/designer/role.yaml +0 -66
  170. package/core/.formation/roles/developer/role.yaml +0 -75
  171. package/core/.formation/roles/frontend/role.yaml +0 -134
  172. package/core/.formation/roles/incident_response/role.yaml +0 -89
  173. package/core/.formation/roles/qa/role.yaml +0 -89
  174. package/core/.formation/roles/security/role.yaml +0 -87
  175. package/core/.formation/roles/sre/role.yaml +0 -66
  176. package/core/.formation/skills/coordinator.yaml +0 -52
  177. package/core/.formation/solo/diagnosis.yaml +0 -78
  178. package/core/.formation/solo/strategy.yaml +0 -121
  179. package/core/.formation/tests/hello.txt +0 -2
  180. package/core/.formation/tools/coordinator.js +0 -350
  181. package/core/.formation/tools/jev-correction.js +0 -214
  182. package/core/.formation/tools/jev-correction.test.js +0 -178
  183. package/core/.formation/tools/log-reader.js +0 -232
  184. package/core/.formation/tools/revert-daemon-state.js +0 -162
  185. package/core/.formation/tools/test-drift.js +0 -148
  186. package/core/.formation/unit/heimdall.yaml +0 -96
  187. package/core/.formation/unit/plan.yaml +0 -67
  188. package/core/.formation/unit/think.yaml +0 -58
  189. package/core/.kenaz/MUNINN_SNAPSHOT9_EPISODE.json +0 -32
  190. package/core/.kenaz/MUNINN_SNAPSHOT9_RUNE.json +0 -23
  191. package/core/.kenaz/MUNINN_SNAPSHOT9_SUMMARY.md +0 -89
  192. package/core/.kenaz/ash_TASK_1428-20260507.json +0 -14
  193. package/core/.kenaz/muninn_episode_write.ps1 +0 -17
  194. package/core/.kenaz/muninn_snapshot11_rune_candidates.md +0 -63
  195. package/core/.kenaz/muninn_snapshot1_rune_candidates.md +0 -49
  196. package/core/.kenaz/runes_TASK_1428.json +0 -57
  197. package/core/.kenaz/tmp_heimdall_proposal_8d3e392.json +0 -13
  198. package/core/.kenaz/tmp_props.json +0 -1
  199. package/core/.kenaz/tmp_sounddrop_t1_prompt.txt +0 -371
  200. package/core/.rule/MECHANIZED.md +0 -61
  201. package/core/.rule/general/cortex-memory-recall.yaml +0 -446
  202. package/core/.rule/general/pipeline.yaml +0 -246
  203. package/core/.rule/general/sunny-access-control.yaml +0 -60
  204. package/core/.rule/general/system-invariants.yaml +0 -231
  205. package/core/.rule/pipeline/PPL-002-completed-task-archival.yaml +0 -528
  206. package/core/.rule/pipeline/auto-update.yaml +0 -282
  207. package/core/.rule/pipeline/task-execution.yaml +0 -365
  208. package/core/.specialist/Ansuz/concepts/phase_protocol.yaml +0 -65
  209. package/core/.specialist/Ansuz/experiments/boot_ablation_replay.js +0 -197
  210. package/core/.specialist/Ansuz/tools/bootstrap-anchors.js +0 -289
  211. package/core/.specialist/Ansuz/workflow.yaml +0 -1225
  212. package/core/.specialist/experiments/rg_benchmark.js +0 -523
  213. package/core/.specialist/experiments/rg_benchmark_results.json +0 -27
  214. package/core/.specialist/tools/jev-optional-context.js +0 -107
  215. package/core/.specialist/tools/jev-optional-context.test.js +0 -152
  216. package/core/.specialist/tools/memory-action-log.js +0 -839
  217. package/core/.specialist/tools/phase-gate.js +0 -3534
  218. package/core/.specialist/tools/phase-gate.test.js +0 -85
  219. package/core/.specialist/tools/precompute-runner.js +0 -444
  220. package/core/.specialist/tools/rule-engine.js +0 -621
  221. package/core/.specialist/tools/task-bridge-jev.test.js +0 -170
  222. package/core/.synapse/memory-shared.json.sync +0 -1
  223. package/core/.system/agent-skills/README.md +0 -724
  224. package/core/.system/cli-tools/README.md +0 -724
  225. package/core/.system/cortex/MODULES.md +0 -1046
  226. package/core/.system/dashboard/FRONTEND.md +0 -812
  227. package/core/.system/dashboard/README.md +0 -737
  228. package/core/.system/failure/README.md +0 -723
  229. package/core/.system/formation/LEGACY_SKILLS.md +0 -974
  230. package/core/.system/formation/POST_COMPLETE.md +0 -602
  231. package/core/.system/formation/README.md +0 -1094
  232. package/core/.system/formation/TOOLS_REFERENCE.md +0 -1145
  233. package/core/.system/kenaz/README.md +0 -787
  234. package/core/.system/memory/README.md +0 -719
  235. package/core/.system/pipeline/README.md +0 -712
  236. package/core/.system/rule/README.md +0 -794
  237. package/core/.system/sunny/README.md +0 -476
  238. package/core/.system/sunny/RULES.json +0 -89
  239. package/core/.system/sunny/knowledge/INDEX.md +0 -37
  240. package/core/.system/sunny/knowledge/agent-teams-api.md +0 -0
  241. package/core/.system/sunny/knowledge/ansuz-specialist.md +0 -500
  242. package/core/.system/sunny/knowledge/claude-cli-spawn.md +0 -177
  243. package/core/.system/sunny/knowledge/collaboration-api.md +0 -925
  244. package/core/.system/sunny/teammates/README.md +0 -107
  245. package/core/.system/sunny/teammates/how_to_use.yaml +0 -101
  246. package/core/.system/sunny/teammates/tools/headless/launcher.js +0 -318
  247. package/core/.system/sunny/teammates/tools/powershell/launcher.js +0 -241
  248. package/core/.system/sunny/teammates/tools/powershell/start.bat +0 -50
  249. package/core/.system/sunny/teammates/tools/utils/env.js +0 -96
  250. package/core/.system/sunny/teammates/tools/utils/format-output.js +0 -329
  251. package/core/.system/sunny/tools.json +0 -101
  252. package/core/dev/scripts/cleanup-queue.js +0 -184
  253. package/core/dev/scripts/cleanup_queue.js +0 -86
  254. package/core/dev/scripts/legacy/README.md +0 -39
  255. package/core/dev/scripts/legacy/dev_agent_scheduler.ps1.bak +0 -536
  256. package/core/dev/scripts/legacy/multi_agent_scheduler.ps1.bak +0 -1978
  257. package/core/dev/scripts/matrix/CLI_README.md +0 -214
  258. package/core/dev/scripts/matrix/README.md +0 -310
  259. package/core/dev/scripts/matrix/package-lock.json +0 -4266
  260. package/core/dev/scripts/matrix/package.json +0 -55
  261. package/core/dev/scripts/matrix/src/abbreviations.ts +0 -295
  262. package/core/dev/scripts/matrix/src/cli/commands/convert.ts +0 -211
  263. package/core/dev/scripts/matrix/src/cli/commands/create.ts +0 -95
  264. package/core/dev/scripts/matrix/src/cli/commands/delete.ts +0 -102
  265. package/core/dev/scripts/matrix/src/cli/commands/list-tags.ts.wip +0 -140
  266. package/core/dev/scripts/matrix/src/cli/commands/manage-tags.ts.wip +0 -173
  267. package/core/dev/scripts/matrix/src/cli/commands/query.ts +0 -261
  268. package/core/dev/scripts/matrix/src/cli/commands/read.ts +0 -77
  269. package/core/dev/scripts/matrix/src/cli/commands/stats.ts.wip +0 -168
  270. package/core/dev/scripts/matrix/src/cli/commands/tokens.ts.wip +0 -126
  271. package/core/dev/scripts/matrix/src/cli/commands/update.ts +0 -147
  272. package/core/dev/scripts/matrix/src/cli/commands/validate.ts +0 -275
  273. package/core/dev/scripts/matrix/src/cli/index.ts +0 -350
  274. package/core/dev/scripts/matrix/src/cli/utils/file-handler.ts +0 -72
  275. package/core/dev/scripts/matrix/src/cli/utils/logger.ts +0 -65
  276. package/core/dev/scripts/matrix/src/index.ts +0 -62
  277. package/core/dev/scripts/matrix/src/indexer/tag-indexer.ts +0 -165
  278. package/core/dev/scripts/matrix/src/parser.ts +0 -281
  279. package/core/dev/scripts/matrix/src/serializer.ts +0 -151
  280. package/core/dev/scripts/matrix/src/validator.ts +0 -301
  281. package/core/dev/scripts/matrix/tests/abbreviations.test.ts +0 -122
  282. package/core/dev/scripts/matrix/tests/cli.test.ts +0 -177
  283. package/core/dev/scripts/matrix/tests/convert.test.ts +0 -143
  284. package/core/dev/scripts/matrix/tests/parser.test.ts +0 -203
  285. package/core/dev/scripts/matrix/tests/query.test.ts +0 -85
  286. package/core/dev/scripts/matrix/tests/serializer.test.ts +0 -197
  287. package/core/dev/scripts/matrix/tests/validate.test.ts +0 -141
  288. package/core/dev/scripts/matrix/tests/validator.test.ts +0 -167
  289. package/core/dev/scripts/matrix/tsconfig.json +0 -20
  290. package/core/dev/scripts/matrix/types/index.d.ts +0 -111
  291. package/core/dev/scripts/matrix/types/index.d.ts.map +0 -1
  292. package/core/dev/scripts/matrix/types/index.js +0 -8
  293. package/core/dev/scripts/matrix/types/index.js.map +0 -1
  294. package/core/dev/scripts/matrix/types/index.ts +0 -124
  295. package/core/dev/scripts/memory-usage-report.js +0 -152
  296. package/core/dev/scripts/probe/ansuz-scaffold-ablation.js +0 -579
  297. package/core/dev/scripts/probe/ansuz-scaffold-ablation.test.js +0 -244
  298. package/core/dev/scripts/probe/hook-latency-probe.js +0 -315
  299. package/core/dev/scripts/probe/hook-latency-probe.test.js +0 -105
  300. package/core/dev/scripts/probe/prediction-signal-auc.js +0 -483
  301. package/core/dev/scripts/probe/prediction-signal-auc.test.js +0 -200
  302. package/core/dev/scripts/test-pty-ws-tunnel.js +0 -229
  303. package/core/dev/scripts/validate_pipeline.js +0 -197
  304. package/core/dev/spikes/task2145-evidence-20261004/backend-log-excerpt.txt +0 -56
  305. package/core/dev/spikes/task2145-evidence-20261004/graph.shadow +0 -0
  306. package/core/dev/spikes/task2145-evidence-20261004/graph.wal +0 -0
  307. package/core/dev/spikes/task2145-evidence-20261004/graph_corrupt_suspect.marker +0 -1
  308. package/core/plugins/kenaz/commands/strategy.md +0 -141
@@ -23,7 +23,7 @@ Parse the arguments from this prompt text using regex or string parsing:
23
23
  - Then: TASK_ID=TASK_003, AGENT_ID=agent_123, BRANCH_NAME=task/task_003
24
24
 
25
25
  ### 2. Load Task Details
26
- Read `dev/pipeline/TASK_QUEUE.json` and find the task matching `TASK_ID`.
26
+ Run `node .collaboration/core/task-api.js get TASK_ID` to read the task card (`.kenaz/tasks/`).
27
27
 
28
28
  Extract:
29
29
  - `title`: Task name
@@ -17,8 +17,7 @@
17
17
  - 撰寫模組接口規範
18
18
 
19
19
  4. **產出文件**:
20
- - 更新 `dev/pipeline/TASK_QUEUE.json`
21
- - 建立任務文件至 `dev/pipeline/tasks/`
20
+ - 用 `node .collaboration/core/task-api.js create` 建立任務卡(`.kenaz/tasks/backlog/`)
22
21
  - 撰寫接口文檔至 `docs/`
23
22
 
24
23
  請開始執行系統架構設計。
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## 使用場景
6
6
 
7
- - 完成重要里程碑後,需要整理記憶點
7
+ - 完成重要里程碑後,需要整理文件與任務狀態
8
8
  - 需要更新 PRODUCT_SPEC.md 的 Feature 狀態
9
9
  - 需要從 .failure/ 提取失敗經驗
10
10
  - 定期維護文件(建議每週)
@@ -10,6 +10,6 @@
10
10
  - 深度理解用戶需求
11
11
  - 進行需求分析
12
12
  - 將需求拆解為開發任務
13
- - 將任務寫入 Pipeline 系統
13
+ - 用 `node .collaboration/core/task-api.js create` 建立任務卡(`.kenaz/tasks/backlog/`),完成後建議交給 `/Ansuz` 派工
14
14
 
15
15
  請開始執行產品需求分析。
@@ -41,11 +41,11 @@ function mkTmp(prefix) {
41
41
  return fs.mkdtempSync(path.join(os.tmpdir(), prefix));
42
42
  }
43
43
 
44
- // A "foreign copy" dir: _dedupe-guard.js + fatigue-check.js's dependency
44
+ // A "foreign copy" dir: _dedupe-guard.js + synapse-first-investigation.js's dependency
45
45
  // closure, copied OUTSIDE the project tree (simulates the installed copy
46
46
  // living under %LOCALAPPDATA%/Kenaz Dashboard/kenaz-core/.claude/hooks/).
47
47
  const FOREIGN_DIR = mkTmp('kenaz-dedupe-guard-foreign-');
48
- for (const f of ['_dedupe-guard.js', '_project-guard.js', '_peer-project-root.js', '_signal-fence.js', 'fatigue-check.js']) {
48
+ for (const f of ['_dedupe-guard.js', '_project-guard.js', '_peer-project-root.js', '_signal-fence.js']) {
49
49
  fs.copyFileSync(path.join(HOOKS_DIR, f), path.join(FOREIGN_DIR, f));
50
50
  }
51
51
  // Also stage synapse-first-investigation.js (emits JSON on every run) so case
@@ -67,15 +67,15 @@ function run(scriptRelName, env, stdinPayload) {
67
67
  // (a) Project WITH a same-named hook -> foreign copy yields.
68
68
  // ---------------------------------------------------------------------------
69
69
  console.log('\n--- (a) installed copy yields when a project copy exists ---');
70
- const PROJECT_WITH_HOOKS = path.resolve(HOOKS_DIR, '..', '..'); // repo root (has .claude/hooks/fatigue-check.js)
70
+ const PROJECT_WITH_HOOKS = path.resolve(HOOKS_DIR, '..', '..'); // repo root (has .claude/hooks/synapse-first-investigation.js)
71
71
  {
72
- const r = run('fatigue-check.js', { CLAUDE_PROJECT_DIR: PROJECT_WITH_HOOKS }, {
73
- session_id: 'x', hook_event_name: 'UserPromptSubmit', prompt: 'hi',
72
+ const r = run('synapse-first-investigation.js', { CLAUDE_PROJECT_DIR: PROJECT_WITH_HOOKS }, {
73
+ session_id: 'x', hook_event_name: 'PreToolUse', tool_name: 'Bash', tool_input: { command: 'ls' },
74
74
  });
75
75
  ok('exit code 0', r.status === 0, `status=${r.status} stderr=${r.stderr}`);
76
76
  ok('stdout empty', (r.stdout || '') === '', `stdout=${JSON.stringify(r.stdout)}`);
77
77
  ok('one stderr yield line naming the project copy',
78
- /\[dedupe-guard\] fatigue-check\.js: yielding to project copy at/.test(r.stderr || ''),
78
+ /\[dedupe-guard\] synapse-first-investigation\.js: yielding to project copy at/.test(r.stderr || ''),
79
79
  `stderr=${JSON.stringify(r.stderr)}`);
80
80
  }
81
81
 
@@ -103,8 +103,8 @@ fs.writeFileSync(path.join(PROJECT_NO_HOOKS, '.kenaz', 'project.yaml'), 'name: d
103
103
  // ---------------------------------------------------------------------------
104
104
  console.log('\n--- (c) the project copy itself always runs (never yields to itself) ---');
105
105
  {
106
- const r = spawnSync(process.execPath, [path.join(HOOKS_DIR, 'fatigue-check.js')], {
107
- input: JSON.stringify({ session_id: 'x', hook_event_name: 'UserPromptSubmit', prompt: 'hi' }),
106
+ const r = spawnSync(process.execPath, [path.join(HOOKS_DIR, 'synapse-first-investigation.js')], {
107
+ input: JSON.stringify({ session_id: 'x', hook_event_name: 'PreToolUse', tool_name: 'Bash', tool_input: { command: 'ls' } }),
108
108
  env: { ...process.env, CLAUDE_PROJECT_DIR: PROJECT_WITH_HOOKS },
109
109
  encoding: 'utf8',
110
110
  timeout: 15000,
@@ -13,7 +13,7 @@ description: 架構設計、需求拆解、任務分派、接口定義、多Agen
13
13
  2. **任務拆解**:將大型需求拆解為可獨立執行的任務單元
14
14
  3. **Scope 定義**:為每個任務定義精確的路徑範圍(避免衝突)
15
15
  4. **接口設計**:定義模組之間的接口規範,確保整合順利
16
- 5. **任務分派**:將任務寫入 `TASK_QUEUE.json` 並分派給適合的 Agent
16
+ 5. **任務分派**:以 task-api 建立任務卡並指定適合的 role
17
17
 
18
18
  ## 技能
19
19
  * **系統分析**:識別系統架構邊界和模組劃分
@@ -24,9 +24,8 @@ description: 架構設計、需求拆解、任務分派、接口定義、多Agen
24
24
 
25
25
  ## 文件路徑
26
26
  * **產品規格**:`dev/PRODUCT_SPEC.md`
27
- * **任務佇列**:`dev/pipeline/TASK_QUEUE.json`
28
- * **進度追蹤**:`dev/pipeline/PROGRESS.md`
29
- * **待處理任務**:`dev/pipeline/tasks/`
27
+ * **任務卡**:`.kenaz/tasks/{backlog,active,done,blocked,cancel}/`(YAML,目錄即狀態)
28
+ * **任務 API**:`node .collaboration/core/task-api.js`
30
29
  * **接口文檔**:
31
30
  - `docs/api_spec.md`(API 接口)
32
31
  - `docs/component_spec.md`(組件接口)
@@ -171,97 +170,17 @@ def assign_agent(task: Task) -> str:
171
170
 
172
171
  > "接口定義已撰寫至 [文件路徑]"
173
172
 
174
- ### 5. 產出任務檔案
175
- **將任務寫入 Pipeline 系統。**
173
+ ### 5. 產出任務卡
174
+ **用 task-api 建立任務卡**(`node .collaboration/core/task-api.js --help` 列出全部欄位)。
176
175
 
177
- 1. **建立任務文件**(`dev/pipeline/tasks/TASK_XXX_描述.md`)
178
- - 檔案名稱格式:`TASK_XXX_簡短英文描述.md`
179
- - 例如:`TASK_022_login_ui.md`
180
-
181
- 2. **寫入 TASK_QUEUE.json**:
182
- ```json
183
- {
184
- "id": "TASK_XXX",
185
- "title": "實作用戶登入 UI",
186
- "status": "pending",
187
- "priority": "P1",
188
- "estimated_hours": 4,
189
- "scope": ["src/components/auth/", "src/utils/auth.ts"],
190
- "dependencies": ["TASK_AAA"],
191
- "blocked_by": ["TASK_AAA"],
192
- "blocks": [],
193
- "source": "用戶需求 / PRD P1 項目",
194
- "source_file": "TASK_XXX_login_ui.md",
195
- "created_at": "2026-01-31T10:00:00.000Z"
196
- }
197
- ```
198
-
199
- **重要**:`source_file` 字段必須與步驟 1 建立的任務文件名稱一致,Dashboard 依賴此字段讀取任務詳細描述。
200
-
201
- 3. **更新 PROGRESS.md**
202
-
203
- > "已建立 [N] 個新任務,已更新 TASK_QUEUE.json"
204
-
205
- ---
206
-
207
- ## 使用 Orchestrator 模組
208
-
209
- Architect Agent 可以使用 `dev/pipeline/orchestrator/` 中的工具:
210
-
211
- ### 任務佇列管理
212
- ```python
213
- from dev.pipeline.orchestrator.task_queue import (
214
- TaskQueue, Task, TaskStatus, TaskPriority, AgentType, TaskScope
215
- )
216
-
217
- # 載入任務佇列
218
- queue = TaskQueue("dev/pipeline/TASK_QUEUE.json")
219
-
220
- # 建立新任務
221
- new_task = Task(
222
- id="TASK_022",
223
- title="實作用戶登入 UI",
224
- status=TaskStatus.PENDING,
225
- priority=TaskPriority.P1,
226
- scope=TaskScope(paths=["src/components/auth/"], files=[]),
227
- dependencies=["TASK_021"],
228
- assigned_agent=AgentType.FRONTEND
229
- )
230
-
231
- queue.add_task(new_task)
232
- queue.save()
233
- ```
234
-
235
- ### 依賴驗證
236
- ```python
237
- from dev.pipeline.orchestrator.dependency_resolver import DependencyResolver
238
-
239
- resolver = DependencyResolver()
240
-
241
- # 添加任務和依賴
242
- resolver.add_task("TASK_022", dependencies=["TASK_021"])
243
- resolver.add_task("TASK_023", dependencies=["TASK_021", "TASK_022"])
244
-
245
- # 驗證無循環依賴
246
- if not resolver.validate_no_cycles():
247
- cycle = resolver.get_cycle()
248
- print(f"檢測到循環依賴: {cycle}")
249
-
250
- # 查看依賴圖
251
- print(resolver.visualize())
176
+ ```bash
177
+ node .collaboration/core/task-api.js create --title "實作用戶登入 UI" --description "..." --priority P1 --role frontend --tags code
178
+ node .collaboration/core/task-api.js update TASK_XXX --append --acceptance-criteria "..." --technical-notes "..."
252
179
  ```
253
180
 
254
- ### 路徑鎖定檢查
255
- ```python
256
- from dev.pipeline.orchestrator.lock_manager import PathLockManager
257
-
258
- lock_manager = PathLockManager("dev/pipeline/LOCK_STATE.json")
181
+ 每張卡寫明 scope_paths(精確路徑,避免並行衝突)、dependencies(不得循環)、requirements、acceptance_criteria。
259
182
 
260
- # 檢查路徑是否被鎖定
261
- if lock_manager.is_locked("src/components/auth/"):
262
- holder = lock_manager.get_lock_holder("src/components/auth/")
263
- print(f"路徑已被 {holder} 鎖定")
264
- ```
183
+ > "已建立 [N] 張任務卡:TASK_..."
265
184
 
266
185
  ---
267
186
 
@@ -284,7 +203,7 @@ if lock_manager.is_locked("src/components/auth/"):
284
203
  - TASK_023 → TASK_022
285
204
  - TASK_024 → TASK_022
286
205
  5. 撰寫接口規範
287
- 6. 更新 TASK_QUEUE.json
206
+ 6. 以 task-api 建立任務卡
288
207
  ```
289
208
 
290
209
  ### 範例 2:處理並行開發
@@ -285,5 +285,4 @@ Agent 分析:
285
285
  ### 相關系統
286
286
  - `.rule/` - 規則系統(評估發現的重複問題可提升為規則)
287
287
  - `.failure/` - 失敗學習系統(評估時參考失敗經驗)
288
- - `.memory/` - 記憶系統(評估經驗可沉澱為記憶)
289
288
  - `dev/PRODUCT_SPEC.md` - 產品規格(功能評估對應 Feature ID)
@@ -772,12 +772,9 @@ Backend Team 將遵循以下規範(參考 `.rule/code/` 規則):
772
772
 
773
773
  執行任務前,檢查相關失敗模式(遵循 AGT-005 規則):
774
774
 
775
- ```powershell
776
- # 檢查 Backend 相關失敗模式
777
- .\.failure\tools\check_failures.ps1 -AgentType "backend"
778
-
779
- # 檢查 API 相關失敗模式
780
- .\.failure\tools\check_failures.ps1 -ScopePath "backend/"
775
+ ```bash
776
+ # 讀索引,再 Grep 與任務 scope 相關的失敗記錄
777
+ Grep pattern="backend|關鍵字" path=".failure/"
781
778
  ```
782
779
 
783
780
  ### 中文溝通
@@ -262,7 +262,7 @@ description: 程式碼審查、三級問題分類(Blocker/Suggestion/Nit)、
262
262
 
263
263
  ### 驗證先例(grounding)
264
264
 
265
- `.failure/pipeline/FAIL-003-queue-pollution.yaml` 記錄了 task lifecycle 的 antisymmetry 破損:task 被 `claim`(移到 active/)後未正確 `complete`(移到 done/),導致 `TASK_QUEUE.json` 被累積的 orphan state 污染。若當時有 mutation_counterpart 稽核,`claim` 無對稱 `complete`/`move` 路徑會在 review 階段被標記為 **[BLOCKER] orphan**。
265
+ 歷史案例(舊 TASK_QUEUE 佇列,已退役):task 被 `claim`(移到 active/)後未正確 `complete`(移到 done/),導致佇列被累積的 orphan state 污染。若當時有 mutation_counterpart 稽核,`claim` 無對稱 `complete`/`move` 路徑會在 review 階段被標記為 **[BLOCKER] orphan**。
266
266
 
267
267
  ### Grep 檢查清單
268
268
 
@@ -24,7 +24,7 @@ mutation_counterpart:
24
24
  rationale: 'task stuck in active/ -> scheduler sees it as in-progress forever, queue pollution'
25
25
  grep_mutation: 'task-api(.js)?s+claim'
26
26
  grep_counterpart: 'task-api(.js)?s+(complete|move)'
27
- cited_failure: '.failure/pipeline/FAIL-003-queue-pollution.yaml'
27
+ cited_failure: 'historical: TASK_QUEUE pollution (FAIL-003, removed with the retired pipeline)'
28
28
 
29
29
  - pair: dom_event_listener
30
30
  mutation: 'addEventListener'
@@ -828,12 +828,9 @@ grep -E "^## (色彩系統|字體規範|佈局系統|交互設計)" dev/DESIGN_S
828
828
 
829
829
  執行任務前,檢查相關失敗模式(遵循 AGT-005 規則):
830
830
 
831
- ```powershell
832
- # 檢查 Designer 相關失敗模式
833
- .\.failure\tools\check_failures.ps1 -AgentType "designer"
834
-
835
- # 檢查設計相關失敗模式
836
- .\.failure\tools\check_failures.ps1 -ScopePath "dev/DESIGN_SPEC.md"
831
+ ```bash
832
+ # 讀索引,再 Grep 與任務 scope 相關的失敗記錄
833
+ Grep pattern="dev/DESIGN_SPEC.md|關鍵字" path=".failure/"
837
834
  ```
838
835
 
839
836
  ### 中文溝通