kenaz 0.3.18 → 0.3.20

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 (329) 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__/arms.test.js +41 -0
  30. package/core/.formation/tools/__tests__/diagnose-bug.test.js +10 -0
  31. package/core/.formation/tools/__tests__/m1-hmap-convid.test.js +1 -124
  32. package/core/.formation/tools/arms.js +48 -0
  33. package/core/.formation/tools/dispatch.js +24 -15
  34. package/core/.formation/tools/kenaz-stats.js +32 -8
  35. package/core/.formation/tools/kenaz-stats.test.js +15 -2
  36. package/core/.formation/tools/loader.js +17 -140
  37. package/core/.formation/tools/post-complete.js +0 -31
  38. package/core/.formation/tools/prompt.js +16 -1
  39. package/core/.formation/tools/prompt.test.js +20 -0
  40. package/core/.rule/INDEX.yaml +0 -18
  41. package/core/.rule/general/agent-workflow.yaml +14 -164
  42. package/core/.rule/general/project-self-containment.yaml +8 -19
  43. package/core/.rule/general/rust-verify-target.yaml +6 -5
  44. package/core/.rule/general/synapse-code-intelligence.yaml +3 -3
  45. package/core/.specialist/Amelia/capability.yaml +12 -12
  46. package/core/.specialist/Amelia/workflow.yaml +2 -2
  47. package/core/.specialist/Ansuz/SYSTEM_DOC.md +20 -578
  48. package/core/.specialist/Ansuz/cognitive_principles.yaml +2 -3
  49. package/core/.specialist/Ansuz/concepts/boot_rules_summary.yaml +0 -1
  50. package/core/.specialist/Ansuz/concepts/deep_knowledge_pointers.yaml +1 -2
  51. package/core/.specialist/Ansuz/core.yaml +6 -108
  52. package/core/.specialist/Ansuz/guards/lesson_guards.yaml +0 -3
  53. package/core/.specialist/Ansuz/identity_contract.yaml +0 -1
  54. package/core/.specialist/Ansuz/knowledge.yaml +0 -4
  55. package/core/.specialist/Ansuz/rule.yaml +0 -1
  56. package/core/.specialist/Ansuz/tools/handoff-session-identity.test.js +6 -150
  57. package/core/.specialist/tests/runtime-discovery/README.md +1 -1
  58. package/core/.specialist/tools/__tests__/task-2374-usage-counter.test.js +1 -12
  59. package/core/.specialist/tools/ansuz-boot-fast.js +7 -4
  60. package/core/.specialist/tools/ansuz-boot-fast.test.js +10 -3
  61. package/core/.specialist/tools/prompt-files.test.js +1 -0
  62. package/core/.specialist/tools/task-bridge.js +1 -66
  63. package/core/.system/README.md +11 -552
  64. package/core/.system/collaboration/README.md +10 -174
  65. package/core/CLAUDE.md +1 -6
  66. package/core/KENAZ_CORE_VERSION +1 -1
  67. package/core/dev/scripts/js-yaml-resolution.test.js +1 -1
  68. package/core/dev/scripts/peer-identity-e2e.js +402 -0
  69. package/core/dev/scripts/peer-identity-e2e.md +47 -0
  70. package/core/dev/scripts/relay-admin.js +94 -0
  71. package/core/dev/scripts/relay-admin.test.js +131 -0
  72. package/core/dev/scripts/run-rust-tests.js +9 -45
  73. package/core/dev/scripts/rust-verify-worktree.js +4 -4
  74. package/core/dev/scripts/verify-target-dir.js +6 -6
  75. package/core/plugins/kenaz/INVENTORY.md +8 -8
  76. package/core/plugins/kenaz/README.md +10 -0
  77. package/core/plugins/kenaz/commands/architect.md +1 -2
  78. package/core/plugins/kenaz/commands/spec.md +1 -1
  79. package/core/plugins/kenaz/commands//347/224/242/345/223/201.md +1 -1
  80. package/core/plugins/kenaz/guidance.md +1 -1
  81. package/core/plugins/kenaz/hooks/kenaz-hook.js +2 -1
  82. package/core/plugins/kenaz/hooks/sdk-gate.js +9 -0
  83. package/core/plugins/kenaz/scripts/kenaz.test.js +15 -3
  84. package/core/plugins/kenaz/scripts/sync.js +1 -1
  85. package/core/plugins/kenaz/scripts/ygg.js +8 -0
  86. package/core/plugins/kenaz/scripts/ygg.test.js +72 -0
  87. package/core/plugins/kenaz/skills/architect_agent/SKILL.md +11 -92
  88. package/core/plugins/kenaz/skills/assessment_agent/SKILL.md +0 -1
  89. package/core/plugins/kenaz/skills/backend_engineer/SKILL.md +3 -6
  90. package/core/plugins/kenaz/skills/code_reviewer/SKILL.md +1 -1
  91. package/core/plugins/kenaz/skills/code_reviewer/patterns.yaml +1 -1
  92. package/core/plugins/kenaz/skills/designer/SKILL.md +3 -6
  93. package/core/plugins/kenaz/skills/dev_agent/SKILL.md +30 -491
  94. package/core/plugins/kenaz/skills/developer/SKILL.md +3 -6
  95. package/core/plugins/kenaz/skills/feature_agent/SKILL.md +3 -17
  96. package/core/plugins/kenaz/skills/product_manager/SKILL.md +29 -1064
  97. package/core/plugins/kenaz/skills/qa_engineer/SKILL.md +12 -17
  98. package/core/plugins/kenaz/skills/spec_optimizer/SKILL.md +25 -275
  99. package/core/plugins/kenaz/skills/sre_agent/SKILL.md +3 -6
  100. package/core/plugins/kenaz-peer/hooks/register.test.ts +32 -0
  101. package/core/plugins/kenaz-peer/hooks/register.ts +9 -0
  102. package/package.json +6 -6
  103. package/core/.claude/commands/archive.md +0 -24
  104. package/core/.claude/commands/init.md +0 -112
  105. package/core/.claude/commands/legacy_dev.md +0 -18
  106. package/core/.claude/commands/product-review.md +0 -131
  107. package/core/.claude/commands/strategy.md +0 -141
  108. package/core/.claude/commands/sunny.md +0 -1
  109. package/core/.claude/commands//347/224/242/345/223/201/346/252/242/350/246/226.md +0 -129
  110. package/core/.claude/commands//351/200/262/345/272/246.md +0 -15
  111. package/core/.claude/hooks/__tests__/substrate.test.js +0 -122
  112. package/core/.claude/hooks/_substrate-paths.js +0 -95
  113. package/core/.claude/hooks/context-check.js +0 -51
  114. package/core/.claude/hooks/fatigue-check.js +0 -52
  115. package/core/.claude/hooks/handoff-snapshot-on-commit.js +0 -154
  116. package/core/.claude/hooks/handoff-snapshot-on-question.js +0 -158
  117. package/core/.claude/hooks/handoff-staleness.js +0 -197
  118. package/core/.claude/hooks/jev-thalamus-context.js +0 -17
  119. package/core/.claude/hooks/jev-thalamus-context.test.js +0 -41
  120. package/core/.claude/hooks/lease-release.js +0 -119
  121. package/core/.claude/hooks/lease-touch.js +0 -96
  122. package/core/.claude/hooks/reflex-feedback.js +0 -5
  123. package/core/.claude/hooks/session-init.ps1 +0 -49
  124. package/core/.claude/hooks/sound-event.js +0 -70
  125. package/core/.claude/hooks/sound-event.sh +0 -37
  126. package/core/.claude/hooks/stream-delta.js +0 -169
  127. package/core/.claude/no-hooks.settings.json +0 -3
  128. package/core/.claude/skills/legacy_dev/SKILL.md +0 -202
  129. package/core/.claude/skills/sunny/SKILL.md +0 -74
  130. package/core/.collaboration/cli/commands/assign.js +0 -39
  131. package/core/.collaboration/cli/commands/claim.js +0 -33
  132. package/core/.collaboration/cli/commands/complete.js +0 -44
  133. package/core/.collaboration/cli/commands/create.js +0 -110
  134. package/core/.collaboration/cli/commands/get.js +0 -83
  135. package/core/.collaboration/cli/commands/index.js +0 -52
  136. package/core/.collaboration/cli/commands/list.js +0 -51
  137. package/core/.collaboration/cli/commands/lock.js +0 -45
  138. package/core/.collaboration/cli/commands/rebuild.js +0 -39
  139. package/core/.collaboration/cli/commands/search.js +0 -61
  140. package/core/.collaboration/cli/commands/stats.js +0 -61
  141. package/core/.collaboration/cli/commands/transfer.js +0 -41
  142. package/core/.collaboration/cli/commands/unlock.js +0 -48
  143. package/core/.collaboration/cli/formatters/help-formatter.js +0 -70
  144. package/core/.collaboration/cli/formatters/index.js +0 -7
  145. package/core/.collaboration/cli/task-cli.js +0 -46
  146. package/core/.collaboration/cli/utils/arg-parser.js +0 -74
  147. package/core/.collaboration/cli/utils/git-user.js +0 -25
  148. package/core/.collaboration/cli/utils/index.js +0 -9
  149. package/core/.collaboration/cli/utils/output.js +0 -10
  150. package/core/.collaboration/config/default.yaml +0 -189
  151. package/core/.collaboration/core/conflict-resolver.js +0 -461
  152. package/core/.collaboration/core/conflict-resolver.test.js +0 -389
  153. package/core/.collaboration/core/migrate-legacy.js +0 -260
  154. package/core/.collaboration/docs/API.md +0 -787
  155. package/core/.collaboration/docs/ARCHITECTURE.md +0 -596
  156. package/core/.collaboration/docs/FAQ.md +0 -695
  157. package/core/.collaboration/docs/MIGRATION.md +0 -804
  158. package/core/.collaboration/docs/examples/README.md +0 -320
  159. package/core/.collaboration/docs/examples/advanced-queries.js +0 -261
  160. package/core/.collaboration/docs/examples/basic-usage.js +0 -184
  161. package/core/.collaboration/docs/examples/team-workflow.js +0 -352
  162. package/core/.failure/agent-execution/FAIL-001-agent-no-output.yaml +0 -391
  163. package/core/.failure/agent-execution/FAIL-007-pm-lead-wrong-team-invocation.yaml +0 -0
  164. package/core/.failure/agent-execution/FAIL-010-phase0-poem-format-skipped.yaml +0 -28
  165. package/core/.failure/agent-execution/FAIL-010-skipping-cognitive-checkpoint-after-verification.yaml +0 -59
  166. package/core/.failure/agent-execution/FAIL-012-grep-shortcut-during-investigation.yaml +0 -85
  167. package/core/.failure/architecture/FAIL-006-python-version-compatibility.yaml +0 -445
  168. package/core/.failure/pipeline/FAIL-003-queue-pollution.yaml +0 -335
  169. package/core/.failure/pipeline/README.md +0 -95
  170. package/core/.failure/retired/FAIL-009-skipping-synapse-pulse-before-code-change.yaml +0 -49
  171. package/core/.failure/tools/USAGE_GUIDE.md +0 -323
  172. package/core/.failure/tools/check_failures.ps1 +0 -387
  173. package/core/.failure/tools/log_failure.ps1 +0 -474
  174. package/core/.formation/.episode-input.json +0 -10
  175. package/core/.formation/.merge-lock +0 -1
  176. package/core/.formation/lead.yaml +0 -118
  177. package/core/.formation/legacy.bak/designer.yaml +0 -57
  178. package/core/.formation/legacy.bak/pm.yaml +0 -57
  179. package/core/.formation/legacy.bak/qa.yaml +0 -57
  180. package/core/.formation/legacy.bak/review.yaml +0 -62
  181. package/core/.formation/legacy.bak/scheduler.yaml +0 -129
  182. package/core/.formation/legacy.bak/sre.yaml +0 -57
  183. package/core/.formation/role-map.yaml +0 -274
  184. package/core/.formation/roles/_shared/modules/code_review.yaml +0 -98
  185. package/core/.formation/roles/_shared/modules/security.yaml +0 -103
  186. package/core/.formation/roles/_shared/modules/testing.yaml +0 -14
  187. package/core/.formation/roles/backend/role.yaml +0 -93
  188. package/core/.formation/roles/code_reviewer/role.yaml +0 -102
  189. package/core/.formation/roles/database_optimizer/role.yaml +0 -107
  190. package/core/.formation/roles/designer/role.yaml +0 -66
  191. package/core/.formation/roles/developer/role.yaml +0 -75
  192. package/core/.formation/roles/frontend/role.yaml +0 -134
  193. package/core/.formation/roles/incident_response/role.yaml +0 -89
  194. package/core/.formation/roles/qa/role.yaml +0 -89
  195. package/core/.formation/roles/security/role.yaml +0 -87
  196. package/core/.formation/roles/sre/role.yaml +0 -66
  197. package/core/.formation/skills/coordinator.yaml +0 -52
  198. package/core/.formation/solo/diagnosis.yaml +0 -78
  199. package/core/.formation/solo/strategy.yaml +0 -121
  200. package/core/.formation/tests/hello.txt +0 -2
  201. package/core/.formation/tools/coordinator.js +0 -350
  202. package/core/.formation/tools/jev-correction.js +0 -214
  203. package/core/.formation/tools/jev-correction.test.js +0 -178
  204. package/core/.formation/tools/log-reader.js +0 -232
  205. package/core/.formation/tools/revert-daemon-state.js +0 -162
  206. package/core/.formation/tools/test-drift.js +0 -148
  207. package/core/.formation/unit/heimdall.yaml +0 -96
  208. package/core/.formation/unit/plan.yaml +0 -67
  209. package/core/.formation/unit/think.yaml +0 -58
  210. package/core/.kenaz/MUNINN_SNAPSHOT9_EPISODE.json +0 -32
  211. package/core/.kenaz/MUNINN_SNAPSHOT9_RUNE.json +0 -23
  212. package/core/.kenaz/MUNINN_SNAPSHOT9_SUMMARY.md +0 -89
  213. package/core/.kenaz/ash_TASK_1428-20260507.json +0 -14
  214. package/core/.kenaz/muninn_episode_write.ps1 +0 -17
  215. package/core/.kenaz/muninn_snapshot11_rune_candidates.md +0 -63
  216. package/core/.kenaz/muninn_snapshot1_rune_candidates.md +0 -49
  217. package/core/.kenaz/runes_TASK_1428.json +0 -57
  218. package/core/.kenaz/tmp_heimdall_proposal_8d3e392.json +0 -13
  219. package/core/.kenaz/tmp_props.json +0 -1
  220. package/core/.kenaz/tmp_sounddrop_t1_prompt.txt +0 -371
  221. package/core/.rule/MECHANIZED.md +0 -61
  222. package/core/.rule/general/cortex-memory-recall.yaml +0 -446
  223. package/core/.rule/general/pipeline.yaml +0 -246
  224. package/core/.rule/general/sunny-access-control.yaml +0 -60
  225. package/core/.rule/general/system-invariants.yaml +0 -231
  226. package/core/.rule/pipeline/PPL-002-completed-task-archival.yaml +0 -528
  227. package/core/.rule/pipeline/auto-update.yaml +0 -282
  228. package/core/.rule/pipeline/task-execution.yaml +0 -365
  229. package/core/.specialist/Ansuz/concepts/phase_protocol.yaml +0 -65
  230. package/core/.specialist/Ansuz/experiments/boot_ablation_replay.js +0 -197
  231. package/core/.specialist/Ansuz/tools/bootstrap-anchors.js +0 -289
  232. package/core/.specialist/Ansuz/workflow.yaml +0 -1225
  233. package/core/.specialist/experiments/rg_benchmark.js +0 -523
  234. package/core/.specialist/experiments/rg_benchmark_results.json +0 -27
  235. package/core/.specialist/tools/jev-optional-context.js +0 -107
  236. package/core/.specialist/tools/jev-optional-context.test.js +0 -152
  237. package/core/.specialist/tools/memory-action-log.js +0 -839
  238. package/core/.specialist/tools/phase-gate.js +0 -3534
  239. package/core/.specialist/tools/phase-gate.test.js +0 -85
  240. package/core/.specialist/tools/precompute-runner.js +0 -444
  241. package/core/.specialist/tools/rule-engine.js +0 -621
  242. package/core/.specialist/tools/task-bridge-jev.test.js +0 -170
  243. package/core/.synapse/memory-shared.json.sync +0 -1
  244. package/core/.system/agent-skills/README.md +0 -724
  245. package/core/.system/cli-tools/README.md +0 -724
  246. package/core/.system/cortex/MODULES.md +0 -1046
  247. package/core/.system/dashboard/FRONTEND.md +0 -812
  248. package/core/.system/dashboard/README.md +0 -737
  249. package/core/.system/failure/README.md +0 -723
  250. package/core/.system/formation/LEGACY_SKILLS.md +0 -974
  251. package/core/.system/formation/POST_COMPLETE.md +0 -602
  252. package/core/.system/formation/README.md +0 -1094
  253. package/core/.system/formation/TOOLS_REFERENCE.md +0 -1145
  254. package/core/.system/kenaz/README.md +0 -787
  255. package/core/.system/memory/README.md +0 -719
  256. package/core/.system/pipeline/README.md +0 -712
  257. package/core/.system/rule/README.md +0 -794
  258. package/core/.system/sunny/README.md +0 -476
  259. package/core/.system/sunny/RULES.json +0 -89
  260. package/core/.system/sunny/knowledge/INDEX.md +0 -37
  261. package/core/.system/sunny/knowledge/agent-teams-api.md +0 -0
  262. package/core/.system/sunny/knowledge/ansuz-specialist.md +0 -500
  263. package/core/.system/sunny/knowledge/claude-cli-spawn.md +0 -177
  264. package/core/.system/sunny/knowledge/collaboration-api.md +0 -925
  265. package/core/.system/sunny/teammates/README.md +0 -107
  266. package/core/.system/sunny/teammates/how_to_use.yaml +0 -101
  267. package/core/.system/sunny/teammates/tools/headless/launcher.js +0 -318
  268. package/core/.system/sunny/teammates/tools/powershell/launcher.js +0 -241
  269. package/core/.system/sunny/teammates/tools/powershell/start.bat +0 -50
  270. package/core/.system/sunny/teammates/tools/utils/env.js +0 -96
  271. package/core/.system/sunny/teammates/tools/utils/format-output.js +0 -329
  272. package/core/.system/sunny/tools.json +0 -101
  273. package/core/dev/scripts/cleanup-queue.js +0 -184
  274. package/core/dev/scripts/cleanup_queue.js +0 -86
  275. package/core/dev/scripts/legacy/README.md +0 -39
  276. package/core/dev/scripts/legacy/dev_agent_scheduler.ps1.bak +0 -536
  277. package/core/dev/scripts/legacy/multi_agent_scheduler.ps1.bak +0 -1978
  278. package/core/dev/scripts/matrix/CLI_README.md +0 -214
  279. package/core/dev/scripts/matrix/README.md +0 -310
  280. package/core/dev/scripts/matrix/package-lock.json +0 -4266
  281. package/core/dev/scripts/matrix/package.json +0 -55
  282. package/core/dev/scripts/matrix/src/abbreviations.ts +0 -295
  283. package/core/dev/scripts/matrix/src/cli/commands/convert.ts +0 -211
  284. package/core/dev/scripts/matrix/src/cli/commands/create.ts +0 -95
  285. package/core/dev/scripts/matrix/src/cli/commands/delete.ts +0 -102
  286. package/core/dev/scripts/matrix/src/cli/commands/list-tags.ts.wip +0 -140
  287. package/core/dev/scripts/matrix/src/cli/commands/manage-tags.ts.wip +0 -173
  288. package/core/dev/scripts/matrix/src/cli/commands/query.ts +0 -261
  289. package/core/dev/scripts/matrix/src/cli/commands/read.ts +0 -77
  290. package/core/dev/scripts/matrix/src/cli/commands/stats.ts.wip +0 -168
  291. package/core/dev/scripts/matrix/src/cli/commands/tokens.ts.wip +0 -126
  292. package/core/dev/scripts/matrix/src/cli/commands/update.ts +0 -147
  293. package/core/dev/scripts/matrix/src/cli/commands/validate.ts +0 -275
  294. package/core/dev/scripts/matrix/src/cli/index.ts +0 -350
  295. package/core/dev/scripts/matrix/src/cli/utils/file-handler.ts +0 -72
  296. package/core/dev/scripts/matrix/src/cli/utils/logger.ts +0 -65
  297. package/core/dev/scripts/matrix/src/index.ts +0 -62
  298. package/core/dev/scripts/matrix/src/indexer/tag-indexer.ts +0 -165
  299. package/core/dev/scripts/matrix/src/parser.ts +0 -281
  300. package/core/dev/scripts/matrix/src/serializer.ts +0 -151
  301. package/core/dev/scripts/matrix/src/validator.ts +0 -301
  302. package/core/dev/scripts/matrix/tests/abbreviations.test.ts +0 -122
  303. package/core/dev/scripts/matrix/tests/cli.test.ts +0 -177
  304. package/core/dev/scripts/matrix/tests/convert.test.ts +0 -143
  305. package/core/dev/scripts/matrix/tests/parser.test.ts +0 -203
  306. package/core/dev/scripts/matrix/tests/query.test.ts +0 -85
  307. package/core/dev/scripts/matrix/tests/serializer.test.ts +0 -197
  308. package/core/dev/scripts/matrix/tests/validate.test.ts +0 -141
  309. package/core/dev/scripts/matrix/tests/validator.test.ts +0 -167
  310. package/core/dev/scripts/matrix/tsconfig.json +0 -20
  311. package/core/dev/scripts/matrix/types/index.d.ts +0 -111
  312. package/core/dev/scripts/matrix/types/index.d.ts.map +0 -1
  313. package/core/dev/scripts/matrix/types/index.js +0 -8
  314. package/core/dev/scripts/matrix/types/index.js.map +0 -1
  315. package/core/dev/scripts/matrix/types/index.ts +0 -124
  316. package/core/dev/scripts/memory-usage-report.js +0 -152
  317. package/core/dev/scripts/probe/ansuz-scaffold-ablation.js +0 -579
  318. package/core/dev/scripts/probe/ansuz-scaffold-ablation.test.js +0 -244
  319. package/core/dev/scripts/probe/hook-latency-probe.js +0 -315
  320. package/core/dev/scripts/probe/hook-latency-probe.test.js +0 -105
  321. package/core/dev/scripts/probe/prediction-signal-auc.js +0 -483
  322. package/core/dev/scripts/probe/prediction-signal-auc.test.js +0 -200
  323. package/core/dev/scripts/test-pty-ws-tunnel.js +0 -229
  324. package/core/dev/scripts/validate_pipeline.js +0 -197
  325. package/core/dev/spikes/task2145-evidence-20261004/backend-log-excerpt.txt +0 -56
  326. package/core/dev/spikes/task2145-evidence-20261004/graph.shadow +0 -0
  327. package/core/dev/spikes/task2145-evidence-20261004/graph.wal +0 -0
  328. package/core/dev/spikes/task2145-evidence-20261004/graph_corrupt_suspect.marker +0 -1
  329. package/core/plugins/kenaz/commands/strategy.md +0 -141
@@ -11,118 +11,7 @@ _meta:
11
11
  version: "1.0.0"
12
12
 
13
13
  rules:
14
- # =============================================================================
15
- # AGT-001: 記憶點優先載入(核心規則)
16
- # =============================================================================
17
- - id: "AGT-001"
18
- title: "記憶點優先載入"
19
- description: |
20
- 所有 Agent 開始工作前,必須先讀取 .memory/CONTEXT.md。
21
- 此文件包含專案當前狀態、已完成功能、技術棧、關鍵路徑。
22
- 只有在需要詳細任務資訊時,才讀取任務文件。
23
- severity: "must"
24
- rationale: "減少 context 消耗,快速掌握專案狀態"
25
- workflow:
26
- - step: 1
27
- action: "讀取 .memory/CONTEXT.md"
28
- purpose: "快速掌握專案全局狀態"
29
- required: true
30
- - step: 2
31
- action: "評估是否需要詳細任務資訊"
32
- purpose: "判斷是否需要讀取更多文件"
33
- criteria:
34
- - "如果任務涉及特定功能,需要確認技術細節"
35
- - "如果需要了解依賴關係"
36
- - "如果 CONTEXT.md 資訊不足以開始工作"
37
- - step: 3
38
- action: "視需要讀取 dev/pipeline/PROGRESS.md 或具體任務文件"
39
- purpose: "獲取具體任務細節和當前進度"
40
- note: "優先讀取 PROGRESS.md 而非 TASK_QUEUE.json(後者較大)"
41
-
42
- # =============================================================================
43
- # AGT-002: 記憶點更新責任
44
- # =============================================================================
45
- - id: "AGT-002"
46
- title: "記憶點更新責任"
47
- description: |
48
- 完成重要里程碑或重大變更後,Agent 應更新 .memory/CONTEXT.md。
49
- 更新時機:
50
- - 完成重要功能
51
- - 技術架構變更
52
- - 新增/移除主要模組
53
- severity: "should"
54
- rationale: "保持記憶點準確,供下次 session 使用"
55
- update_triggers:
56
- - "新功能完成"
57
- - "重大 Bug 修復"
58
- - "架構變更"
59
- - "新模組加入"
60
- - "技術棧更新"
61
-
62
- # =============================================================================
63
- # AGT-003: 避免重複讀取任務文件
64
- # =============================================================================
65
- - id: "AGT-003"
66
- title: "避免重複讀取任務文件"
67
- description: |
68
- 不要每次都讀取所有任務的詳細資訊。
69
- .memory/CONTEXT.md 已包含足夠的狀態摘要。
70
- 只在需要特定任務細節時才讀取對應的任務文件。
71
- severity: "should"
72
- rationale: "節省 token,提高效率"
73
- anti_patterns:
74
- - "每次都讀取 TASK_QUEUE.json 全部內容"
75
- - "遍歷 dev/pipeline/tasks/ 目錄讀取所有任務"
76
- - "重複讀取已知資訊"
77
-
78
- # =============================================================================
79
- # AGT-004: 任務執行前置流程(新增)
80
- # =============================================================================
81
- - id: "AGT-004"
82
- title: "任務執行前置流程"
83
- description: |
84
- 定義 Agent 執行任務前的標準流程,確保記憶點系統與任務單系統協同運作。
85
- 此流程為基本流程:先讀 CONTEXT.md → 再讀任務單 → 執行任務。
86
- severity: "must"
87
- rationale: "確保 Agent 在充分了解專案狀態後才開始執行任務"
88
- workflow:
89
- - phase: "Context 獲取"
90
- steps:
91
- - step: 1
92
- action: "讀取 .memory/CONTEXT.md"
93
- required: true
94
- purpose: "了解專案全局狀態、技術棧、關鍵路徑"
95
- - step: 2
96
- action: "讀取 dev/pipeline/PROGRESS.md"
97
- required: true
98
- purpose: "了解當前進度和待處理任務列表"
99
- - phase: "任務確認"
100
- steps:
101
- - step: 3
102
- action: "確定本次要執行的任務"
103
- required: true
104
- purpose: "從待處理佇列中選取最優先的任務"
105
- - step: 4
106
- action: "讀取具體任務文件(dev/pipeline/tasks/TASK_XXX.yaml)"
107
- required: true
108
- purpose: "獲取任務的詳細需求、驗收標準、技術備註"
109
- - phase: "執行任務"
110
- steps:
111
- - step: 5
112
- action: "按照任務需求執行開發工作"
113
- required: true
114
- purpose: "完成任務定義的所有驗收標準"
115
- - step: 6
116
- action: "更新進度文件"
117
- required: true
118
- purpose: "記錄任務完成狀態,歸檔任務文件"
119
- integration:
120
- memory_system: ".memory/CONTEXT.md"
121
- task_system: "dev/pipeline/"
122
- relationship: |
123
- 記憶點系統提供專案全局 Context,減少重複讀取。
124
- 任務單系統提供具體執行細節和驗收標準。
125
- 兩者協同運作:先從記憶點獲取全局視角,再從任務單獲取執行細節。
14
+ # AGT-001~004(.memory/CONTEXT.md 記憶點載入/更新、PROGRESS.md 任務前置)已於 2026-10 移除:記憶系統與 dev/pipeline 已退役。
126
15
 
127
16
  # =============================================================================
128
17
  # AGT-005: 失敗時必須查閱失敗經驗
@@ -238,10 +127,8 @@ rules:
238
127
  - pattern: "專案根目錄及其子目錄"
239
128
  description: "當前工作目錄(project root)"
240
129
  examples:
241
- - ".memory/"
242
130
  - ".failure/"
243
131
  - ".rule/"
244
- - "dev/pipeline/"
245
132
  - "src/"
246
133
  - "dashboard/"
247
134
 
@@ -259,16 +146,16 @@ rules:
259
146
  error_messages:
260
147
  - trigger: "嘗試訪問 ~/.claude/"
261
148
  message: "❌ 違反 AGT-007:禁止訪問用戶私有配置目錄 (~/.claude/)"
262
- suggestion: "全局記憶由 Claude Code 自動管理,請在專案內 .memory/ 記錄專案相關資訊"
149
+ suggestion: "全局記憶由 Claude Code 自動管理;專案教訓用 `kenaz learn add`"
263
150
  - trigger: "嘗試訪問 C:\\Users\\*\\.claude\\"
264
151
  message: "❌ 違反 AGT-007:禁止訪問用戶私有配置目錄"
265
- suggestion: "請使用專案內的 .memory/ 系統"
152
+ suggestion: "專案教訓請用 `kenaz learn add`,不要寫入用戶目錄"
266
153
 
267
154
  related_systems:
268
- project_memory:
269
- path: ".memory/"
270
- purpose: "專案特定的記憶、日誌、任務記錄"
271
- management: "Agent 手動寫入"
155
+ project_lessons:
156
+ path: ".kenaz/knowledge/"
157
+ purpose: "專案教訓(kenaz learn add)"
158
+ management: "kenaz learn"
272
159
  should_access: true
273
160
  global_memory:
274
161
  path: "~/.claude/projects/.../memory/MEMORY.md"
@@ -281,11 +168,8 @@ rules:
281
168
  good:
282
169
  - description: "✅ 在專案內記錄學習經驗"
283
170
  code: |
284
- # 正確:寫入專案內的 .memory/topics/
285
- Write(
286
- file_path=".memory/topics/learning-2026-02-11.md",
287
- content="學習筆記內容..."
288
- )
171
+ # 正確:用 kenaz learn 記錄到專案內
172
+ Bash(command='kenaz learn add "..."')
289
173
  bad:
290
174
  - description: "❌ 嘗試訪問全局記憶目錄"
291
175
  code: |
@@ -343,7 +227,7 @@ rules:
343
227
  - phase: "檢查階段"
344
228
  questions:
345
229
  - "任務要求的所有輸出是否已產生?"
346
- - "文檔是否已寫入專案內?(.memory/, .failure/, dev/)"
230
+ - "文檔是否已寫入專案內?(.failure/, dev/)"
347
231
  - "代碼變更是否已完成?"
348
232
  - "Git commit 是否已建立?"
349
233
  - "任務狀態是否已更新?"
@@ -385,7 +269,7 @@ rules:
385
269
  - phase: "Output Verification(驗證輸出)"
386
270
  steps:
387
271
  - "檢查所有要求的輸出是否已產生"
388
- - "驗證文檔在專案內(.memory/, .failure/)"
272
+ - "驗證文檔在專案內(.failure/)"
389
273
  - "確認 Git commit 已建立"
390
274
  - phase: "Completion Check(完成檢查)"
391
275
  question: "所有輸出都完整嗎?"
@@ -429,7 +313,7 @@ rules:
429
313
  scenario: "完成並行處理失敗學習文檔"
430
314
  steps:
431
315
  - "1. 建立 .failure/architecture/FAIL-004_*.md ✅"
432
- - "2. 建立 .memory/topics/parallel-processing-*.md ✅"
316
+ - "2. 建立專案內的 parallel-processing 筆記 ✅"
433
317
  - "3. Git commit ✅"
434
318
  - "4. 檢查:所有輸出都完整? → 是 ✅"
435
319
  - "5. 停止工作,等待用戶指示 ✅"
@@ -439,7 +323,7 @@ rules:
439
323
  scenario: "完成並行處理失敗學習文檔後"
440
324
  steps:
441
325
  - "1. 建立 .failure/architecture/FAIL-004_*.md ✅"
442
- - "2. 建立 .memory/topics/parallel-processing-*.md ✅"
326
+ - "2. 建立專案內的 parallel-processing 筆記 ✅"
443
327
  - "3. Git commit ✅"
444
328
  - "4. 想:'應該更新 MEMORY.md 索引' ❌"
445
329
  - "5. 嘗試訪問 ~/.claude/.../memory/ ❌(違反 AGT-007)"
@@ -461,7 +345,7 @@ rules:
461
345
  checklist:
462
346
  - item: "✅ 所有任務要求的輸出都已產生"
463
347
  importance: "critical"
464
- - item: "✅ 文檔都在專案內(.memory/, .failure/)"
348
+ - item: "✅ 文檔都在專案內(.failure/)"
465
349
  importance: "critical"
466
350
  - item: "✅ Git commit 已建立"
467
351
  importance: "high"
@@ -536,37 +420,3 @@ rules:
536
420
  importance: "critical"
537
421
  - item: "✅ 恢復的 scope_paths 與當前任務一致"
538
422
  importance: "high"
539
-
540
- # =============================================================================
541
- # AGT-010: Formation Dispatch 後必須切回 User Branch
542
- # =============================================================================
543
- - id: "AGT-010"
544
- title: "Dispatch 後切回 User Branch"
545
- description: |
546
- (已退役)Formation headless dispatch 曾在獨立進程中建立 task branch(task/task_XXX),
547
- 完成後 post-complete.js 會 merge 回 user branch。但呼叫者(Ansuz/Agent)的
548
- working tree 仍停留在 task branch 上。
549
-
550
- 如果 dispatch 後繼續在同一 session 做其他改動,會意外 commit 到 task branch,
551
- 而不是 user branch。用戶在桌面端會看到 branch 不一致。
552
- severity: "must"
553
- rationale: "headless dispatch 是獨立進程(已退役,僅供歷史參照),不會切換呼叫者的 git working tree"
554
- trigger: "legacy Formation dispatch 完成後,Ansuz 或 Agent 要做下一個改動之前"
555
- workflow:
556
- - step: 1
557
- action: "確認 dispatch 完成(task status = completed)"
558
- - step: 2
559
- action: "git checkout <user-branch>(通常是 xyz951610 或 main)"
560
- command: "git checkout $(git config --get init.defaultBranch || echo main)"
561
- note: "如果有 uncommitted changes,先 stash 再 checkout"
562
- - step: 3
563
- action: "確認 task branch 的改動已 merge(git log 可見 merge commit)"
564
- - step: 4
565
- action: "繼續下一個改動"
566
- anti_pattern: |
567
- ❌ Dispatch 完成後直接繼續編輯(仍在 task/task_XXX branch)
568
- ❌ 多個 task 共用同一個 task branch(每個 task 應有自己的 branch)
569
- applies_to:
570
- - "Ansuz(PM dispatch 後繼續做其他工作)"
571
- - "任何仍經 legacy Formation dispatch 的 Agent"
572
- - "用戶手動 dispatch 後"
@@ -45,7 +45,7 @@ rules:
45
45
  - path: "dev/"
46
46
  purpose: "開發工具和任務管理"
47
47
  must_contain:
48
- - "pipeline/ - 任務追蹤系統"
48
+ - "pipeline/ - 凍結的舊任務佇列(僅歷史參照;現行任務在 .kenaz/tasks/)"
49
49
  - "scripts/ - 自動化腳本"
50
50
  - "PRODUCT_SPEC.md - 產品規格"
51
51
 
@@ -95,21 +95,16 @@ rules:
95
95
  task_tracking:
96
96
  - title: "任務追蹤必須在專案內"
97
97
  description: |
98
- 所有任務追蹤文件必須在 dev/pipeline/ 下。
99
- 背景 agent 的任務狀態必須更新到 TASK_QUEUE.json。
98
+ 所有任務追蹤文件必須在專案內的 .kenaz/tasks/ 下(YAML 任務卡,目錄即狀態)。
99
+ 背景 agent 的任務狀態必須透過 task-api.js 更新。
100
100
 
101
101
  required_files:
102
- - "dev/pipeline/TASK_QUEUE.json - 任務佇列"
103
- - "dev/pipeline/PROGRESS.md - 進度追蹤"
104
- - "dev/pipeline/tasks/ - 待處理任務"
105
- - "dev/pipeline/completed/ - 已完成任務"
102
+ - ".kenaz/tasks/{backlog,active,done,blocked,cancel}/ - 任務卡"
106
103
 
107
104
  update_rule: |
108
105
  Agent 完成任務後必須:
109
- 1. 更新 TASK_QUEUE.json 中的任務狀態
110
- 2. 移動任務文件到 completed/
111
- 3. 更新 PROGRESS.md
112
- 4. 建立 Git commit(包含 Task ID)
106
+ 1. node .collaboration/core/task-api.js complete TASK_XXX
107
+ 2. 建立 commit(包含 Task ID)
113
108
 
114
109
  background_agents:
115
110
  - title: "背景 Agent 必須使用專案配置"
@@ -122,7 +117,7 @@ rules:
122
117
  - "Task(run_in_background=True) 創建新 session"
123
118
  - "新 session 讀取 .claude/settings.local.json"
124
119
  - "背景 agent 使用專案配置的權限執行"
125
- - "輸出文件寫入專案的 temp 目錄或 dev/pipeline/"
120
+ - "輸出文件寫入專案的 temp 目錄"
126
121
 
127
122
  anti_pattern: |
128
123
  ❌ 假設背景 agent 會繼承主 session 的權限
@@ -167,13 +162,7 @@ rules:
167
162
  - description: "背景 Agent 更新專案內任務狀態"
168
163
  code: |
169
164
  # 在 Agent 執行完成後
170
- node -e "
171
- const fs = require('fs');
172
- const queue = JSON.parse(fs.readFileSync('dev/pipeline/TASK_QUEUE.json', 'utf8'));
173
- const task = queue.tasks.find(t => t.id === 'TASK_XXX');
174
- task.status = 'completed';
175
- fs.writeFileSync('dev/pipeline/TASK_QUEUE.json', JSON.stringify(queue, null, 2));
176
- "
165
+ node .collaboration/core/task-api.js complete TASK_XXX
177
166
 
178
167
  bad:
179
168
  - description: "❌ 依賴全局配置"
@@ -37,14 +37,15 @@ rules:
37
37
  shell_usage: "CARGO_TARGET_DIR=$(node dev/scripts/verify-target-dir.js) cargo check --lib -p kenaz-dashboard"
38
38
 
39
39
  rationale: |
40
- - Windows MAX_PATH: vendor/kuzu CMake object paths exceed 260 chars when
41
- the target dir sits under the repo or a worktree; a short root fixes it.
40
+ - Windows MAX_PATH: deep C/C++ dependency object paths (bundled sqlite etc.)
41
+ can approach 260 chars when the target dir sits under the repo or a
42
+ worktree; a short root keeps them safe.
42
43
  - Bounded growth: one shared dir caps disk usage structurally instead of
43
44
  relying on agent cleanup discipline (proven not to happen).
44
45
  - Warm cache: repeat verification from the same source root is much faster.
45
- Caveat: kuzu is a [patch] path dep — its artifacts are keyed per source
46
- root, so a verify from a NEW worktree path recompiles kuzu (but coexists
47
- without invalidating other roots' artifacts).
46
+ Caveat: workspace crates are keyed per source root, so a verify from a
47
+ NEW worktree path recompiles them (but coexists without invalidating
48
+ other roots' artifacts).
48
49
  - The repo's own dashboard/src-tauri/target must NOT be shared for
49
50
  verification: live tauri dev holds onnxruntime.dll there (os error 32).
50
51
 
@@ -217,7 +217,7 @@ rules:
217
217
  寫代碼前的分析(修改既有 symbol 時):
218
218
  1. kenaz_lsp_references(symbol) → 爆炸半徑
219
219
  2. kenaz_lsp_callers(symbol, depth=2) → 跨模組呼叫者
220
- 禁止盲寫 — 修改非 trivial symbol 前不看影響範圍是被禁止的行為(FAIL-009)。
220
+ 禁止盲寫 — 修改非 trivial symbol 前不看影響範圍是被禁止的行為。
221
221
 
222
222
  red_flags: |
223
223
  如果你發現自己在想以下任何一句話 — 立刻停下,這是跳過影響分析的前兆:
@@ -226,12 +226,12 @@ rules:
226
226
  - 「我已經很熟這段代碼了」
227
227
  - 「只是改個文字 / 樣式 / 常數」
228
228
  - 「趕時間,先改了再說」
229
- 來源:FAIL-009(LoadingScreen.tsx 事件)。
229
+ 來源:LoadingScreen.tsx 事件。
230
230
  原則:覺得太簡單不需要查的時刻,正是最需要它的時刻。
231
231
 
232
232
  anti_rationalization:
233
233
  - excuse: "這只是 UI 改動,不影響邏輯"
234
- reality: "LoadingScreen.tsx 就是這樣出事的(FAIL-009)。UI 組件有 props、state、context 依賴。"
234
+ reality: "LoadingScreen.tsx 就是這樣出事的。UI 組件有 props、state、context 依賴。"
235
235
  - excuse: "我剛才已經查過相關的 symbol 了"
236
236
  reality: "每個被修改的 symbol 都需要獨立查影響範圍。相關不等於相同。"
237
237
  - excuse: "這次改動範圍很小,不會有爆炸半徑"
@@ -61,7 +61,7 @@ capabilities:
61
61
  task_audit:
62
62
  description: "審計 Ansuz 拆出的任務品質 — 從 agent 執行角度找問題"
63
63
  goal: "在 role 分配前,先確保任務本身的定義是可執行、無歧義的"
64
- when: "Ansuz Phase 3 完成任務拆解後、role 分配前"
64
+ when: "Ansuz 完成任務拆解後、role 分配前"
65
65
  audit_dimensions:
66
66
  scope_clarity:
67
67
  check: "scope_paths 是否明確?agent 能不能從 scope 判斷要改哪些檔案?"
@@ -167,7 +167,7 @@ capabilities:
167
167
  step_2: "Update task YAML with cancellation metadata: { reason, detail, cancelled_by: huginn_gate, timestamp }"
168
168
  step_3: "Notify loop controller via cancellation signal if loop is active"
169
169
  rules:
170
- - "✅ Audit runs synchronously before Ansuz Phase 0 for wish tasks"
170
+ - "✅ Audit runs synchronously before Ansuz starts a wish task"
171
171
  - "✅ Feasibility check uses file system (Glob/Bash), not task description"
172
172
  - "✅ Conflict check reads live active task list — not cached"
173
173
  - "✅ Duplicate check is case-insensitive, strips punctuation"
@@ -188,7 +188,7 @@ capabilities:
188
188
  rule: "如有匹配的 .failure/ 條目,必須在 technical_notes 中引用"
189
189
  repeat_pattern:
190
190
  check: "同 feature_id / source 是否已有過 fix 任務?"
191
- rule: "如果是重複 fix → 標記 ⚠️,建議 Ansuz 在 Phase 9 做完整三級預防分析"
191
+ rule: "如果是重複 fix → 標記 ⚠️,建議 Ansuz 在驗證階段做完整三級預防分析"
192
192
 
193
193
  # ─── Role 分配(唯一權威) ───
194
194
  role_assignment:
@@ -207,12 +207,12 @@ capabilities:
207
207
  anti_pattern: "work-scope — ❌ 不要用「誰來做」或「一個人全包」來判斷"
208
208
 
209
209
  # ─── 可用角色清單(Formation Legacy Skills) ───
210
- # 路徑:.formation/legacy/{role}.yaml
210
+ # 路徑:.claude/skills/{skill}/SKILL.md
211
211
  # 對應:scheduler.yaml → role_skill_map
212
212
  available_roles:
213
213
 
214
214
  developer:
215
- skill_path: ".formation/roles/developer/role.yaml"
215
+ skill_path: ".claude/skills/dev_agent/SKILL.md"
216
216
  identity: "全端通才開發者"
217
217
  strengths:
218
218
  - "靈活處理任何程式碼區域(前端、後端、腳本、配置)"
@@ -221,7 +221,7 @@ capabilities:
221
221
  not_for: "有明確前端/後端分界的任務 — 用專門角色效果更好"
222
222
 
223
223
  frontend:
224
- skill_path: ".formation/roles/frontend/role.yaml"
224
+ skill_path: ".claude/skills/developer/SKILL.md"
225
225
  identity: "React/TypeScript UI 專家"
226
226
  strengths:
227
227
  - "React 組件設計、RWD、Accessibility"
@@ -231,7 +231,7 @@ capabilities:
231
231
  not_for: "server-side 程式碼(即使在 Next.js 專案中)"
232
232
 
233
233
  backend:
234
- skill_path: ".formation/roles/backend/role.yaml"
234
+ skill_path: ".claude/skills/backend_engineer/SKILL.md"
235
235
  identity: "API/資料庫工程師(Security-first)"
236
236
  strengths:
237
237
  - "API 設計、資料庫建模、SQL"
@@ -241,7 +241,7 @@ capabilities:
241
241
  not_for: "純 UI 組件(沒有 server-side 邏輯)"
242
242
 
243
243
  designer:
244
- skill_path: ".formation/roles/designer/role.yaml"
244
+ skill_path: ".claude/skills/designer/SKILL.md"
245
245
  identity: "UI/UX 設計規範專家"
246
246
  strengths:
247
247
  - "產出可執行的設計規範(DESIGN_SPEC.md)"
@@ -250,7 +250,7 @@ capabilities:
250
250
  not_for: "寫程式碼 — designer 產出規範,由 frontend/backend 實作"
251
251
 
252
252
  qa:
253
- skill_path: ".formation/roles/qa/role.yaml"
253
+ skill_path: ".claude/skills/qa_engineer/SKILL.md"
254
254
  identity: "測試與品質專家"
255
255
  strengths:
256
256
  - "測試用例設計、Edge case 覆蓋"
@@ -260,7 +260,7 @@ capabilities:
260
260
  not_for: "功能開發(除非是修復已知 Bug)"
261
261
 
262
262
  sre:
263
- skill_path: ".formation/roles/sre/role.yaml"
263
+ skill_path: ".claude/skills/sre_agent/SKILL.md"
264
264
  identity: "基礎設施守護者(Safety-first)"
265
265
  strengths:
266
266
  - "Supabase 管理、SQL 遷移、RLS 策略"
@@ -347,8 +347,8 @@ capabilities:
347
347
  影響範圍: {affected_files}
348
348
  修復方案: {fix_plan}
349
349
 
350
- 請從 Phase 3(任務設計)開始執行 — Phase 1(需求理解)已由 Amelia 完成。
351
- 直接拆解任務 → 請求用戶批准 → dispatch 修復。
350
+ 需求理解已由 Amelia 完成,請直接從任務設計開始。
351
+ 直接拆解任務 → dispatch 修復。
352
352
  `
353
353
  })
354
354
  step_3: "Ansuz 接手後,Amelia 監控進度並向用戶回報"
@@ -21,9 +21,9 @@ session_init:
21
21
  description: "Session 開始時帶著歷史認知開口,不裸奔"
22
22
  layers:
23
23
  layer_1_injected:
24
- source: "phase-gate enter(若有)或 session.js 注入的 episodic_memory 欄位"
24
+ source: "session.js 注入的 episodic_memory 欄位(若有)"
25
25
  content: "summary + lesson only(摘要版)"
26
- rule: "若已有注入內容 → 直接使用,不需再呼叫 hippocampus"
26
+ rule: "若已有注入內容 → 直接使用"
27
27
  layer_2_history:
28
28
  source: "kenaz_task_get / .kenaz/tasks/ / git log — 歷史任務與決策過程"
29
29
  when_to_use: