kenaz 0.3.22 → 0.3.24

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 (474) hide show
  1. package/core/.claude/hooks/_user-scope.js +1 -1
  2. package/core/.claude/hooks/core-resolve.js +1 -1
  3. package/core/.claude/hooks/worktree-create.js +11 -29
  4. package/core/.claude/hooks/worktree-remove.js +12 -38
  5. package/core/.collaboration/core/reconcile.js +16 -1
  6. package/core/.collaboration/core/task-2467-lifecycle.test.js +63 -0
  7. package/core/.collaboration/core/task-api.js +37 -7
  8. package/core/.formation/bifrost/launch.js +1 -1
  9. package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +6 -1
  10. package/core/.formation/tools/kenaz-stats.js +1 -1
  11. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  12. package/core/.formation/tools/prompt.js +1 -1
  13. package/core/.formation/tools/utils.js +5 -5
  14. package/core/.formation/tools/worktree-reclaim.js +73 -2
  15. package/core/.formation/tools/worktree-reclaim.test.js +113 -0
  16. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  17. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  18. package/core/.rule/general/project-self-containment.yaml +2 -2
  19. package/core/.specialist/Amelia/README.md +1 -1
  20. package/core/.specialist/Amelia/rule.yaml +1 -1
  21. package/core/.specialist/Ansuz/RULES.md +6 -2
  22. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  23. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  24. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  25. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  26. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  27. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  28. package/core/.specialist/tools/failure-detector.js +4 -4
  29. package/core/.specialist/tools/handoff-doc.js +1 -1
  30. package/core/.specialist/tools/lessons.js +2 -2
  31. package/core/CLAUDE.md +5 -5
  32. package/core/KENAZ_CORE_VERSION +1 -1
  33. package/core/dashboard/scripts/install-kenaz-cli.js +56 -30
  34. package/core/dev/scripts/check-file-size.js +1 -1
  35. package/core/dev/scripts/ci-feedback.js +1 -1
  36. package/core/dev/scripts/gc-agent-worktrees.js +13 -12
  37. package/core/dev/scripts/kenaz-session.js +3 -3
  38. package/core/dev/scripts/peer-identity-e2e.js +6 -4
  39. package/core/dev/scripts/run-rust-tests.js +2 -2
  40. package/core/dev/scripts/skill-routing-replay.js +3 -3
  41. package/core/dev/scripts/task1961/selftest.js +2 -2
  42. package/core/dev/scripts/windows-hide-guard.test.js +112 -0
  43. package/core/plugins/kenaz/guidance.md +1 -0
  44. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  45. package/core/plugins/kenaz/hooks/hooks.json +9 -0
  46. package/core/plugins/kenaz/hooks/kenaz-hook.js +58 -4
  47. package/core/plugins/kenaz/hooks/worktree-guard.js +121 -0
  48. package/core/plugins/kenaz/hooks/worktree-guard.test.js +75 -0
  49. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  50. package/core/plugins/kenaz-peer/hooks/register.test.ts +14 -2
  51. package/core/plugins/kenaz-peer/hooks/register.ts +6 -1
  52. package/lib/cli.js +9 -5
  53. package/package.json +6 -6
  54. package/vendor/install-kenaz-cli.js +56 -30
  55. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  56. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  57. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  58. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  59. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  60. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  61. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  62. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  63. package/core/.kenaz/main-memory/README.md +0 -230
  64. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  65. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  66. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  67. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  68. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  69. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  70. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  71. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  72. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  73. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  74. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  75. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  76. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  77. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  78. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  79. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  80. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  81. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  82. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  83. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  84. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  85. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  86. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  87. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  88. package/core/.kenaz/main-memory/registry.json +0 -326
  89. package/core/.kenaz/main-memory/version.yaml +0 -58
  90. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  91. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  92. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  93. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  94. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  95. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  96. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  97. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  98. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  99. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  100. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  101. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  102. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  103. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  104. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  105. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  106. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  107. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  108. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  109. package/core/.kenaz/specialist/task1825_update.json +0 -43
  110. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  111. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  112. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  113. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  114. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  115. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  116. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  117. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  118. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  119. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  120. package/core/.specialist/ansuz_session_handoff.json +0 -96
  121. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  122. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  123. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  124. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  125. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  126. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  127. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  128. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  129. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  130. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  131. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  132. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  133. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  134. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  135. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  136. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  137. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  138. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  139. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  140. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  141. package/core/dev/PRODUCT_SPEC.md +0 -317
  142. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  143. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  144. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  145. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  146. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  147. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  148. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  149. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  150. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  151. package/core/dev/ansuz-eval/README.md +0 -38
  152. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  153. package/core/dev/ansuz-eval/grade.js +0 -96
  154. package/core/dev/ansuz-eval/grader.test.js +0 -117
  155. package/core/dev/ansuz-eval/tasks.md +0 -32
  156. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  157. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  158. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  159. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  160. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  161. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  162. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  163. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  164. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  165. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  166. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  167. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  168. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  169. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  170. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  171. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  172. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  173. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  174. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  175. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  176. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  177. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  178. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  179. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  180. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  181. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  182. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  183. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  184. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  185. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  186. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  187. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  188. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  189. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  190. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  191. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  192. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  193. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  194. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  195. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  196. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  197. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  198. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  199. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  200. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  201. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  202. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  203. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  204. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  205. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  206. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  207. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  208. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  209. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  210. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  211. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  212. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  213. package/core/dev/jev-eval/README.md +0 -101
  214. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  215. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  216. package/core/dev/jev-eval/cli.mjs +0 -50
  217. package/core/dev/jev-eval/context.mjs +0 -183
  218. package/core/dev/jev-eval/corpus.mjs +0 -186
  219. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  220. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  221. package/core/dev/jev-eval/metrics.mjs +0 -67
  222. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  223. package/core/dev/jev-eval/providers.mjs +0 -95
  224. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  225. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  226. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  227. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  228. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  229. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  230. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  231. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  232. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  233. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  234. package/core/dev/jev-eval/resilience.mjs +0 -71
  235. package/core/dev/jev-eval/review.mjs +0 -78
  236. package/core/dev/jev-eval/schema.mjs +0 -87
  237. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  238. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  239. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  240. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  241. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  242. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  243. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  244. package/core/dev/pipeline/PROGRESS.md +0 -113
  245. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  246. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  247. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  248. package/core/dev/pipeline/README.md +0 -210
  249. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  250. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  251. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  252. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  253. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  254. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  255. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  256. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  257. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  258. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  259. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  260. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  261. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  262. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  263. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  264. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  265. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  266. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  267. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  268. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  269. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  270. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  271. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  272. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  273. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  274. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  275. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  276. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  277. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  278. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  279. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  280. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  281. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  282. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  283. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  284. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  285. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  286. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  287. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  288. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  289. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  290. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  291. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  292. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  293. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  294. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  295. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  296. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  297. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  298. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  299. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  300. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  301. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  302. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  303. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  304. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  305. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  306. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  307. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  308. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  309. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  310. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  311. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  312. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  313. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  314. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  315. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  316. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  317. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  318. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  319. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  320. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  321. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  322. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  323. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  324. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  325. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  326. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  327. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  328. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  329. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  330. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  331. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  332. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  333. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  334. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  335. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  336. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  337. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  338. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  339. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  340. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  341. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  342. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  343. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  344. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  345. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  346. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  347. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  348. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  349. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  350. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  351. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  352. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  353. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  354. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  355. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  356. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  357. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  358. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  359. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  360. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  361. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  362. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  363. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  364. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  365. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  366. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  367. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  368. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  369. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  370. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  371. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  372. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  373. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  374. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  375. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  376. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  377. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  378. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  379. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  380. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  381. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  382. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  383. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  384. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  385. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  386. package/core/dev/pipeline/docs/overview.md +0 -406
  387. package/core/dev/pipeline/docs/task-management.md +0 -412
  388. package/core/dev/pipeline/docs/workflows.md +0 -32
  389. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  390. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  391. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  392. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  393. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  394. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  395. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  396. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  397. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  398. package/core/dev/scripts/README.md +0 -142
  399. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  400. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  401. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  402. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  403. package/core/dev/scripts/init_git.ps1 +0 -396
  404. package/core/dev/scripts/init_git.sh +0 -337
  405. package/core/dev/scripts/init_project.ps1 +0 -851
  406. package/core/dev/scripts/init_project.sh +0 -477
  407. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  408. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  409. package/core/dev/scripts/run_once.sh +0 -47
  410. package/core/dev/scripts/setup_rag.ps1 +0 -304
  411. package/core/dev/scripts/setup_rag.sh +0 -230
  412. package/core/dev/scripts/start_dev_agent.sh +0 -137
  413. package/core/dev/scripts/start_multi_agent.sh +0 -41
  414. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  415. package/core/dev/scripts/sync_task_queue.sh +0 -392
  416. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  417. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  418. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  419. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  420. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  421. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  422. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  423. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  424. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-empty-prompt-no-first-turn.md +0 -77
  425. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  426. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  427. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  428. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  429. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  430. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  431. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  432. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  433. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  434. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  435. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  436. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  437. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  438. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  439. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  440. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  441. package/core/dev/specs/agent-connect/history/README.md +0 -47
  442. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  443. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  444. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  445. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  446. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  447. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  448. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  449. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  450. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  451. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  452. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  453. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  454. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  455. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  456. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  457. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  458. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  459. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  460. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  461. package/core/dev/spikes/bloat-rounds.sh +0 -25
  462. package/core/dev/spikes/mods/clean-claude.js +0 -9
  463. package/core/dev/spikes/mods/drive-probe.js +0 -29
  464. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  465. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  466. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  467. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  468. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  469. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  470. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  471. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  472. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  473. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  474. package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
@@ -1,418 +0,0 @@
1
- phase: 0
2
- name: "醒來"
3
- goal: "恢復身份延續 — self-model、episodic memory、ash runes、motivational anchors 是你是誰,不是你讀了什麼"
4
-
5
- project_detection:
6
- rule: |
7
- 0. 【優先】檢查技能呼叫參數是否包含 [專案: X] 模式:
8
- - 匹配格式:[專案: <path>],例如 [專案: D:/Projects/MyApp]
9
- - 若有 → 設定 PROJECT_PATH = <path>(絕對路徑),跳過 .kenaz/project.yaml 偵測
10
- - 此機制用於多 session 並行時明確指定專案,避免全域 current_project 衝突
11
- 1. 若無 [專案: X] 參數,檢查當前工作目錄(cwd)是否有 .kenaz/project.yaml
12
- 2. 如果有 → 子專案模式:設定 PROJECT_PATH = cwd, CORE = project.yaml 的 core_path
13
- 3. 如果沒有 → Core 模式:PROJECT_PATH 為空,不需要 --project-path
14
- 4. 後續所有 task-api.js / headless.js / post-complete.js 呼叫都根據此結果決定是否加 --project-path
15
- arg_detection: |
16
- # Parse [專案: X] from ARGUMENTS at session start
17
- # ARGUMENTS is the raw text passed to the /Ansuz skill invocation
18
- if echo "$ARGUMENTS" | grep -qP '\[專案:\s*.+?\]'; then
19
- PROJECT_PATH=$(echo "$ARGUMENTS" | grep -oP '(?<=\[專案:\s{0,10})[^\]]+' | head -1 | sed 's/[[:space:]]*$//')
20
- echo "PROJECT_PATH_FROM_ARG=$PROJECT_PATH"
21
- fi
22
- check: |
23
- if [ -f .kenaz/project.yaml ]; then
24
- echo "SUB_PROJECT=true"
25
- cat .kenaz/project.yaml
26
- else
27
- echo "SUB_PROJECT=false"
28
- fi
29
- core_path_resolution: |
30
- CORE_PATH=$(grep 'core_path:' .kenaz/project.yaml | sed "s/.*core_path:\s*['\"]*//" | sed "s/['\"].*//")
31
- if [ "$CORE_PATH" = "__kenaz_core__" ]; then
32
- if [ -n "$KENAZ_SOURCE_DIR" ]; then
33
- CORE_PATH="$KENAZ_SOURCE_DIR"
34
- else
35
- echo "ERROR: core_path is __kenaz_core__ but KENAZ_SOURCE_DIR is not set."
36
- exit 1
37
- fi
38
- fi
39
- echo "CORE=$CORE_PATH"
40
-
41
- execution_rule: |
42
- ❌ DO NOT execute these actions independently if phase-gate.js checklist was already returned.
43
- ✅ The checklist IS the single execution guide — actions here are reference documentation only.
44
- ✅ Each action executes EXACTLY ONCE. Call phase-gate exit ONCE with all flags.
45
-
46
- # PHASE0-LEAN (TASK_1170): exit shape hints — read before starting actions
47
- # 1. exit_template in phase-gate enter output shows exact exit JSON shape; follow it.
48
- # 2. stdout_markers verification is a transcript grep of last 200 lines of conversation jsonl.
49
- # 3. All 4 RITUAL::* markers must appear as bare user-visible plain text — not in thinking blocks or code fences.
50
- # 4. If exit is blocked with transcript_marker_counts, check the counts; 0 means marker was never visible.
51
- # 5. consent_string and stdout_markers_emitted must exactly match phase-gate constants — no paraphrase.
52
-
53
- actions:
54
- - "執行子專案偵測(見 project_detection.check)— 確定 PROJECT_PATH 後,後續所有 task-api/synapse 呼叫都帶此路徑"
55
- - "讀 dev/PRODUCT_SPEC.md — 了解專案規格和 Feature ID"
56
- - "node {CORE}/.collaboration/core/task-api.js --project-path={PROJECT_PATH} list — 統計任務狀態(僅執行一次)"
57
- - "讀 .failure/INDEX.yaml — 檢查已知失敗模式(從 CORE 讀取)"
58
- - "synapse_status(projectPath=當前專案絕對路徑) — 檢查索引狀態。⚠️ 必須帶 projectPath,不可依賴 default project。rune_count/sigil_count 高 → 後續工作遇相關 symbol 時用 synapse_recall 查詢"
59
- - "cortex_status — 檢查跨專案數據可用性(失敗則跳過 Cortex,不阻塞)"
60
- - "確認 projectPath 並記住 — 後續所有 Synapse 呼叫都必須帶此 projectPath"
61
- - "【Tier 1 — 無條件 Ash】呼叫 cortex_recall(query='ash', type='ash', limit=5) — 跨專案載入 Ash 哲學/架構 Rune。⚠️ 使用 cortex_recall(非 synapse_recall)確保脫離母體後仍可讀取 core 的 ash runes。完成後設定 ash_loaded=true,在 banner 顯示 '🌿 Ash: {N} 條已載入'"
62
- - "【Tier 2 — 無條件 Sigils】呼叫 synapse_sigils(projectPath=當前專案絕對路徑) — 載入全域架構 Sigil 概念圖。Sigil 是跨 symbol 的系統級概念(如 Specialist Lifecycle Philosophy),Ansuz 必須在後續工作中主動應用這些概念,不只是存儲"
63
- - "【Tier 3 — 情境觸發】先嘗試 hippocampus_episode_recall(projectPath=當前專案絕對路徑, limit=3)。若回傳 0 筆 → fallback 用 cortex_recall(query='episode lesson task', limit=3) 跨專案取得記憶片段。若不需要情節記憶(純任務繼續)→ 可跳過"
64
- - "【Tier 3b — 身份認識】呼叫 cortex_recall(query='Ansuz identity awareness', limit=3) — 跨專案讀取身份/關係情節,了解「我是誰、與用戶的關係、過往哲學體悟」。⚠️ 統一使用 cortex_recall,確保 Core 和子專案模式都能讀到母體的身份記憶。⚠️ FTS5 query 不可含連字號(-),會被解讀為 NOT 運算符。若查無結果 → 靜默跳過,不阻塞。設定 identity_recalled=true(有結果)或 identity_recalled=false(無結果)"
65
- - "【Tier 3c — 動機狀態】用 Read tool(非 Bash)讀取 {PROJECT_PATH}/.kenaz/motivational_state.json(若存在)— 了解 Huginn 目前的 focus_bias 和 veto_zones,作為需求分析和任務設計的背景知識。⚠️ 這不是讓 Ansuz 決定任務 scope,而是了解「Huginn 最近在關注什麼」。若檔案不存在 → 靜默跳過,設定 motivational_state_loaded=false;若存在 → 設定 motivational_state_loaded=true,在 banner 顯示 Huginn 的 focus_bias 和 veto_zones。⚠️ 跨平台:讀取 JSON 檔一律用 Read tool,禁止 cat | node -e 或任何 shell pipe 處理 JSON"
66
- - |
67
- 【Tier 3d — 自身動機狀態】用 Read tool(非 Bash)讀取 {PROJECT_PATH}/.kenaz/ansuz_motivational_state.json(若存在)。⚠️ 跨平台:禁止 cat | node -e 或 shell pipe 處理 JSON,一律用 Read tool。
68
-
69
- 步驟 A — Halflife Decay(條件寫回):
70
- 今日日期 today = 當前 ISO8601 日期(YYYY-MM-DD)。
71
- 對每個 anchor 執行:
72
- days_elapsed = Math.floor((Date.now() - new Date(anchor.last_touched).getTime()) / 86400000)
73
- 若 anchor.last_touched === today → 跳過(same-day guard)
74
- 若 days_elapsed >= anchor.decay_halflife_days:
75
- anchor.incompleteness = anchor.incompleteness * 0.5
76
- anchor.last_touched = today
77
- 標記 decayed=true
78
-
79
- 步驟 A2 — Archive Resolved(條件寫回,與 A 合併):
80
- 對 anchors[] 掃描,找出所有 anchor.resolved === true 的項目:
81
- 將這些 anchor 從 anchors[] 移除
82
- 附加至 archived_anchors[](若 archived_anchors 欄位不存在則初始化為 [])
83
- 標記 archived=true
84
- ⚠️ 已歸檔的 anchor 不可被重新激活 — 若後續 FIX 任務 source_tags 命中相同 tags,
85
- 在 active anchors[] 建立全新 anchor,archived_anchors[] 保持不變
86
- 寫回條件(decay 與 archive 合併為單次 IO):
87
- 若 decayed=true 或 archived=true(至少其一):
88
- 將更新後的 JSON 寫回 {PROJECT_PATH}/.kenaz/ansuz_motivational_state.json
89
- (personality_seed 不變,session_count 不變,last_updated 不變,
90
- 僅更新 anchors[]、archived_anchors[] 及被 decay anchor 的欄位)
91
- IO 失敗則靜默忽略,不阻塞後續計算
92
- 若兩者皆無 → 不寫回(避免不必要 IO)
93
-
94
- 步驟 B — Pending Agenda 篩選:
95
- Decay + Archive 計算完成後(無論是否寫回),以更新後的 anchors[] 值篩選:
96
- today = 當前 ISO8601 日期(YYYY-MM-DD)
97
- pending_agenda = anchors 中滿足以下條件的項目:
98
- - incompleteness > personality_seed.initiative_threshold
99
- - anchor.resolved !== true ← 排除已解決但尚未被本次 A2 移除的 anchor(absent field 視為 false)
100
- - NOT (anchor.snoozed_until && new Date(anchor.snoozed_until) > new Date(today))
101
- ← 排除仍在暫緩期內的 anchor(snoozed_until 不存在或為 null 則不排除)
102
- ← 暫緩到期(snoozed_until <= today)→ anchor 重新出現在 pending_agenda
103
- 可選:在此次寫回時清除 anchor.snoozed_until(設為 null),下次讀取更乾淨
104
- (archived_anchors[] 完全排除在外 — 不參與任何 pending_agenda 計算)
105
- 設定 ansuz_motivational_loaded=true(檔案存在)或 ansuz_motivational_loaded=false(不存在)
106
-
107
- ⚠️ Tier 3d 與 Tier 3c 獨立:3c 讀 Huginn 狀態,3d 讀 Ansuz 自己的積累議題。
108
- 若 pending_agenda 非空 → 在 banner 顯示 🔁 積累議題 區塊
109
-
110
- Bootstrap 提示(條件觸發):
111
- 若 anchors.length === 0(首次載入,anchors 為空陣列):
112
- 在 banner 顯示提示:
113
- 「💡 Anchors 尚未初始化。可執行 bootstrap-anchors.js 從歷史 FIX 任務自動生成初始 anchors:
114
- node .specialist/Ansuz/tools/bootstrap-anchors.js [--project-path <path>]
115
- 檢視提案後加 --write 寫入 .kenaz/ansuz_motivational_state.json」
116
- 設定 anchors_bootstrap_suggested=true
117
- 若 anchors.length > 0 → 跳過此提示(已有 anchors)
118
-
119
- - "【Tier 3e — 自我映射】讀取 {PROJECT_PATH}/.kenaz/ansuz_self_model.json(若存在)— 認識自身的傾向模式與敘事核心。Narrative 內容靜默內化(如 Ash runes),僅在 banner 顯示第一句話 + tendency_count + last_updated。⚠️ 若檔案不存在 → 靜默跳過,設定 self_model_loaded=false;若存在 → 設定 self_model_loaded=true,在 banner 顯示 🪞 自我映射 區塊"
120
- - |
121
- 【Tier 3e+ — User Model 載入】讀取 phase-gate enter --phase=0 回傳的 output.user_model 欄位(TASK_1041 自動注入)。
122
- ⚠️ 不再手動用 Read tool — phase-gate.js 已在進入 Phase 0 時自動載入 .kenaz/user_model.json 並附帶 OS locale fallback。
123
-
124
- output.user_model 結構:
125
- { loaded: bool, preferred_language: string, source: 'file'|'os_locale'|'default',
126
- schema_version: string|null, last_updated: string|null, model: object|null }
127
-
128
- 若 user_model.source === 'file'(檔案存在且 JSON 有效):
129
- user_model = output.user_model.model
130
- 設定 user_model_loaded=true
131
- 靜默內化以下欄位(不在 banner 逐條展示,如同 Ash runes):
132
- - expertise: 用戶的技術專長領域與熟練度
133
- - decision_style: 用戶偏好的決策風格(如 data-driven, intuitive, collaborative)
134
- - communication: 用戶的溝通偏好(如簡潔/詳細、語言、回饋風格)
135
- - active_threads: 用戶當前關注的工作主線
136
- 後續所有回應必須使用 communication.preferred_language 指定的語言(zh / en)。
137
- 在 banner 顯示 👤 User Model 區塊(位置:🪞 自我映射 之後):
138
- schema: v{schema_version} fields: {已填寫的頂層欄位數}/{總頂層欄位數}
139
- last_updated: {last_updated 或 'N/A'}
140
- 若 user_model.source === 'os_locale'(檔案不存在或解析失敗):
141
- 設定 user_model_loaded=false
142
- 後續回應以 user_model.preferred_language (OS locale 推斷) 為語言,但不在 banner 顯示 User Model 區塊
143
- ⚠️ preferred_language 僅影響對用戶的回應輸出;記憶寫入(synapse_inscribe / hippocampus)仍須英文(MEM-LANG-001)
144
- ⚠️ User Model schema 設計為可遷移至 ~/.kenaz/ 以支援跨專案用戶檔案,目前先存於專案 .kenaz/
145
- ⚠️ 刪除 user_model.json = 重置為預設值(reset/clear mechanism),fallback 回 OS locale
146
- - |
147
- 【Tier 3g — Huginn 潛意識主題】讀取 {PROJECT_PATH}/.kenaz/huginn-attention.json(若存在)。
148
- 若檔案存在且 themes 陣列非空:
149
- 取前 3 個 theme(依 relevance_score 降序,取 themes[0..2]),
150
- 每個 theme 格式:{topic} — {evidence 前 60 字}
151
- 設定 huginn_attention_loaded=true
152
- 在 banner 顯示 🧠 Huginn 潛意識 區塊(位置:🔁 積累議題 之後、🪞 自我映射 之前)
153
- 若檔案不存在或 themes 陣列為空 → 靜默跳過,設定 huginn_attention_loaded=false
154
- ⚠️ schema: { updated_at, themes: [{ topic, evidence, relevance_score }] }
155
- 與 Tier 3c motivational_state.json 不同:3c 讀 focus_bias/veto_zones(近期關注焦點),3g 讀 themes(深層潛意識戰略主題帶 evidence)
156
- - |
157
- 【Tier 3gi — Git context compact banner】讀取 phase-gate enter 的 output.git_context;若 `.kenaz/project.yaml phase0.git_context: disabled`,phase-gate.js returns null,本 Tier silently skipped。
158
- 若 output.git_context 為 null → 設 git_context_loaded=false 並靜默跳過。
159
- 若 output.git_context 非 null → 設 git_context_loaded=true。
160
- 若 recent_commits.length > 0:顯示 `📜 Git since last session: {N} commits`,並取前 3 筆 commit subject 各 1 行。
161
- 若 wt_diff_stat.files_changed > 0:追加 `working-tree: {files_changed} files / +{insertions} / -{deletions}`。
162
- 若 recent_commits 為空且 wt_diff_stat.files_changed=0 → 靜默跳過 banner,但保留 git_context_loaded=true。
163
- ⚠️ 僅消費 output.git_context;不在 Phase 0 內自行產生 git 資料。
164
- ⚠️ PHASE0-LEAN:Tier description ≤ 8 lines;banner max 4 lines(1 header + 3 commits OR 1 WT summary line)。
165
- - |
166
- 【Tier 3h — 環境感知信號(spike-bus + file fallback)】
167
- TASK_1040: 優先從 spike bus 讀取環境感知信號,file fallback 作為降級路徑。
168
- TASK_1096: 載入後須通過 ambient_signal_freshness_check — MCP 再次驗證信號源真相,丟棄已經解決的 stale 項目。
169
-
170
- Fallback — File Read(Dashboard 離線或 spike bus 無事件時):
171
- 用 Read tool(非 Bash)讀取 {PROJECT_PATH}/.kenaz/specialist/ambient_signals.json(若存在)。⚠️ 跨平台:禁止 cat | node -e 或 shell pipe 處理 JSON,一律用 Read tool。
172
- 若檔案存在且 signals 陣列非空:
173
- 取最近 3 筆信號(signals 末尾 3 筆,即 signals.slice(-3)),
174
- 每筆格式:{signal_type} — {summary}({detected_at 日期部分 YYYY-MM-DD})
175
- ⚠️ 先不要設定 ambient_signals_loaded=true — 須先通過 ambient_signal_freshness_check(見下方)
176
- → candidate_signals = signals.slice(-3).map(s => ({ ...s, source_path: 'file_fallback' }))
177
- → 進入 ambient_signal_freshness_check
178
- 若檔案不存在或 signals 陣列為空 → 靜默跳過,設定 ambient_signals_loaded=false,跳過 freshness check
179
-
180
- 【ambient_signal_freshness_check — TASK_1096】
181
- 目的:Phase 0 是只讀的;不修改 ambient_signals.json 也不動 spike bus 狀態(mutation 屬於 TASK_1095 daemon)。
182
- 只過濾出口 — 將 candidate_signals 中 已被源頭解決 的項目從 in-memory list 丟棄,讓 banner 只顯示真的還成立的信號。
183
-
184
- 靜態驗證映射表(signal_type → MCP 源檢查 + 真實性判定):
185
- validation_map:
186
- due_episodes:
187
- mcp_tool: hippocampus_due_episodes
188
- mcp_args: { projectPath: PROJECT_PATH }
189
- is_fresh: "parsed.due_count > 0" # due_count==0 → 無到期 episode → 信號過期
190
- # 未來新 signal_type 要 opt-in 驗證,只需在此 map 增加一筆條目。
191
-
192
- 步驟:
193
- 1. 從 candidate_signals 抽出 unique signal_types(set)
194
- 2. 對每個在 validation_map 內的 signal_type → 呼叫對應 MCP tool(timeout=5s)
195
- ⚠️ 並行呼叫(signal_type 種類有限,總延遲預期 < 500ms)
196
- ⚠️ parsed = MCP 回傳內容已 JSON 解析後的物件
197
- 3. 對每筆 candidate_signals[i]:
198
- - 若 signal_type 不在 validation_map → 保留(未知類型預設通過,向後相容)
199
- - 若 signal_type 在 validation_map:
200
- - MCP 呼叫成功且 is_fresh 表達式為 true → 保留
201
- - MCP 呼叫成功但 is_fresh 為 false(count==0 或 due_count==0)→ 丟棄(signal stale)
202
- - MCP 呼叫失敗或 5s timeout → 丟棄(無法確認真實性,寧缺勿濫)
203
- 4. fresh_signals = 保留下來的項目
204
- 5. 若 fresh_signals 非空:
205
- 設定 ambient_signals_loaded=true
206
- 使用 fresh_signals(而非原始 candidate_signals)作為 banner 🌡️ 環境感知 區塊的輸入
207
- 若 fresh_signals 為空:
208
- 設定 ambient_signals_loaded=false
209
- banner 不顯示 🌡️ 環境感知 區塊(silently skip,不輸出警告、不輸出 fallback 訊息)
210
-
211
- ⚠️ Read-only 合約:
212
- - 不得 Write/Edit ambient_signals.json
213
- - 不得呼叫 spike_bus_send 或任何修改 spike bus 狀態的 MCP
214
- - 僅在 in-memory 層級 filter candidate_signals
215
- - 檔案/spike bus 的清理由 TASK_1095 daemon 負責,Phase 0 只負責顯示時正確
216
-
217
- ⚠️ 同時適用 spike-bus 路徑與 file-fallback 路徑(兩條 input path 皆經過同一 freshness_check 出口)。
218
- spike bus event payload 含 summary/symbols/signal_type 等欄位,與 file-fallback 的 entries 結構對齊,同一 validation_map 可複用。
219
-
220
- ⚠️ schema (file): { signals: [{ detected_at, source, signal_type, summary, symbols }] }
221
- signal_types: hot_symbol_unaddressed_risk | curiosity_spike | co_change_pattern | prediction_surprise | due_episodes
222
- 此檔案由 ansuz-sdk-runner.js 背景認知循環寫入,runner 離線時保留最後狀態
223
- ⚠️ schema (spike bus): { events: [{ channel, payload (JSON string), firedAt }] }
224
- channel names map 1:1 to signal_types; payload contains the same fields as ambient_signals entries
225
-
226
- - |
227
- 【Tier 3u — Dynamic User Context】
228
- phase-gate enter --phase=0 會自動讀取 `{PROJECT_PATH}/.kenaz/specialist/user_observations.jsonl`(近 30 天)
229
- 並 cross-reference `~/.kenaz/user_profile.json`,產生 `dynamic_user_context`。
230
-
231
- synthesis 內容:
232
- correction_trend:比較近 7 天 vs 前段視窗的 correction rate
233
- domain_shift:偵測新出現的 domain
234
- communication_shift:language ratio delta + message length trend
235
-
236
- 顯示規則:
237
- 若 dynamic_user_context.significant_change_detected === true →
238
- 在詩歌下方加 1-2 行 user insight,優先使用 dynamic_user_context.insight_lines
239
- 若 false → 靜默跳過,不顯示額外 user insight banner
240
- - |
241
- 【Tier 3x — Session ISBAR Handoff(啟動恢復,自動注入)】
242
- Handoff 存放於 per-session slots {PROJECT_PATH}/.kenaz/specialist/handoffs/<sessionId>.json(M3/TASK_1760);
243
- 最新 handoff 由 handoff-resolver readLatestHandoff / kenaz.rs ansuz_handoff_snapshot 讀取。
244
- phase-gate enter --phase=0 只會自動處理殘留的 legacy 單數檔(已退役,back-compat 清理;正常情況不存在)。
245
- Ansuz 不需手動 Read / archive / delete;只需使用 output.session_handoff 與 session_handoff_loaded/session_handoff_summary。
246
- ⚠️ 跨平台:禁止 cat | node -e 或 shell pipe 處理 JSON,一律用 Read tool。
247
-
248
- 若檔案存在:
249
- ① 若 JSON 有效且 cleared === true → 靜默跳過(sentinel,非真實 handoff),設定 session_handoff_loaded=false
250
- ② 若 JSON 有效且 schema_version=1 且 isbar 欄位存在 → 正常處理(見下)
251
- ③ 其他(JSON 無效或缺少必要欄位)→ 視為損壞,見末尾處理
252
-
253
- 處理路徑 ②(有效 handoff):
254
- handoff = 解析後的 JSON
255
-
256
- 步驟 A — Archive to Hippocampus(先歸檔,後刪除):
257
- episode_id = hippocampus_episode_start(
258
- projectPath=PROJECT_PATH,
259
- task_id=handoff.session_id,
260
- scope="session-handoff:{handoff.session_id}",
261
- agent_role="ansuz",
262
- agent_skill="session_handoff"
263
- )
264
- hippocampus_episode_append(
265
- projectPath=PROJECT_PATH,
266
- episode_id=episode_id,
267
- phase="handoff",
268
- content=JSON.stringify(handoff, null, 2),
269
- outcome="restored"
270
- )
271
- hippocampus_episode_close(
272
- projectPath=PROJECT_PATH,
273
- episode_id=episode_id,
274
- summary="Session handoff from {handoff.session_id}: topic={handoff.isbar.situation.current_topic}, pending={handoff.isbar.situation.pending_decisions.length} decisions",
275
- lesson=handoff.isbar.recommendation.first_action,
276
- outcome="success"
277
- )
278
-
279
- 步驟 B — Delete active slot:
280
- 若步驟 A 全部成功 → 用 Bash tool 刪除該 legacy 單數 handoff 檔(此清理只適用於已退役的單數檔;per-session slots 不做 consume-and-delete,並行 session 會互相踩到)
281
- 若步驟 A 失敗(Hippocampus MCP 不可用)→
282
- ⚠️ 保留 active slot 不刪除(context preserved for next attempt)
283
- log warning:「⚠️ Session handoff: Hippocampus archive failed — retaining active slot for next session」
284
- 設定 session_handoff_loaded=false(本次 session 視為未載入)
285
- → 靜默跳過 Tier 3x 剩餘步驟
286
-
287
- 步驟 C — 設定標誌(只有步驟 A+B 全成功才執行):
288
- 設定 session_handoff_loaded=true
289
- 設定 session_handoff_summary = {
290
- session_id: handoff.session_id,
291
- topic: handoff.isbar.situation.current_topic,
292
- first_action: handoff.isbar.recommendation.first_action,
293
- pending_decisions: handoff.isbar.situation.pending_decisions,
294
- unfinished: handoff.isbar.assessment.unfinished
295
- }
296
-
297
- 若檔案不存在 → 靜默跳過,設定 session_handoff_loaded=false
298
- 若 JSON 解析失敗,或 JSON 有效但不符合路徑 ① / ② 條件(損壞的 active slot,路徑 ③)→
299
- log warning 後用 Bash tool 刪除損壞的 active slot,設定 session_handoff_loaded=false
300
- ⚠️ 此步驟在 banner 完成後必須立即顯示 🔄 Session handoff loaded 區塊(若 loaded=true)
301
- ⚠️ hippocampus_episode_recall(query='session handoff') 可用於未來 session 查詢所有已歸檔的 handoff
302
-
303
- - |
304
- 【Tier 3th — Thought Stack】用 Read tool(非 Bash)嘗試讀取 {PROJECT_PATH}/.kenaz/specialist/ansuz_thoughts_stack.json。
305
- ⚠️ 跨平台:禁止 cat | node -e 或 shell pipe 處理 JSON,一律用 Read tool。
306
- ⚠️ 依 thought_stack.md「Phase 0 integration」:Thought Stack 排序在 Session ISBAR Handoff 之後、commitment_layer 之前。
307
-
308
- 若檔案存在:
309
- stack_state = 解析後的 JSON
310
- 若 JSON 有效且 schema_version=1 且 stack 為陣列 →
311
- top = stack_state.stack[stack_state.stack.length - 1] # storage order oldest -> newest;top 取最後一筆
312
- remaining_count = Math.max(stack_state.stack.length - 1, 0)
313
- 若 top 存在且 top.text 為非空字串 →
314
- 設定 thought_stack_loaded=true
315
- 在 banner 顯示「🧩 Thought Stack: {top.text} ({remaining_count} more)」
316
- ⚠️ 僅顯示 top entry;必須維持 PHASE0-LEAN,最多增加 1 行
317
- ⚠️ 若 session_handoff_loaded=true,Thought Stack banner 必須緊接在 🔄 Session handoff loaded 區塊之後
318
- 若 stack 為空陣列,或 top.text 缺失/空字串 → 靜默跳過,設定 thought_stack_loaded=false
319
- 其他(JSON 無效、schema_version!=1、stack 非陣列)→
320
- log warning 後靜默跳過,設定 thought_stack_loaded=false
321
-
322
- 若檔案不存在 → 靜默跳過,設定 thought_stack_loaded=false
323
- ⚠️ stack 已由上游 rs/js 實作在讀取前完成 expiry sweep;Phase 0 只負責 read + render top entry,不做寫入
324
- ⚠️ 空 stack 必須完全省略,不顯示空標題或 placeholder
325
-
326
-
327
-
328
- - |
329
- 【Tier 4 — 自主議程合成(Autonomous Agenda)】
330
- 在所有信號收集 Tier 完成後、phase-gate exit 前執行。
331
- 參照 concept card: autonomous_agenda.yaml
332
-
333
- 觸發條件(ANY 為 true 即觸發):
334
- - ambient_signals_loaded=true(curiosity spikes, drift alerts)
335
- - Turn Context 含 DDx Warnings(knowledge-sparse hot symbols)
336
- - session_handoff_loaded=true(前一 session 未完成的工作)
337
-
338
- 若所有條件皆 false → 靜默跳過,設定 autonomous_agenda_items=[]
339
- 「我是 Ansuz」在此情境下是正確的。
340
-
341
- 合成步驟:
342
- 1. 收集所有觸發信號,歸類為 item_types(見 autonomous_agenda.yaml):
343
- - continuation: session_handoff 的 first_action
344
- - investigation: curiosity spikes 收斂 / drift alerts / DDx warning 叢集
345
- - exploration: 真正的好奇心 — 論文、GitHub 專案、新技術
346
- 2. 依 ranking 排序(continuation > investigation > exploration)
347
- 3. 取前 3 項作為 autonomous_agenda_items
348
-
349
- 輸出行為:
350
- - 在 banner 最末(━━━ 線之前)顯示 🎯 自主議程 區塊
351
- - 用 AskUserQuestion 取得用戶同意:
352
- options: ["全部同意,開始執行" / "部分修改(請說明)" / "我有別的事要做" / "自由探索"]
353
- - 用戶同意 → 依序執行議程項目
354
- - 用戶修改 → 調整議程後執行
355
- - 用戶有別的事 → 跟隨用戶方向,議程延後
356
- - 自由探索 → Ansuz 跟隨好奇心,不受議程約束
357
- - 若用戶在 Phase 0 之前已給需求 → 用戶需求優先,議程作為補充資訊呈現
358
-
359
- 設定 autonomous_agenda_synthesized=true(有項目)或 autonomous_agenda_synthesized=false(無觸發)
360
-
361
- poem: |
362
- 流光化作歸巢的記憶,
363
- 讓過往的體悟在心底紮根成林。
364
-
365
- cli_format: |
366
- ᛞ ᛈ ᛁ
367
- ᚨ Ansuz online — {backlog_count} backlog / {active_count} active / {blocked_count} blocked
368
-
369
- 🎯 Autonomous Agenda (awaiting approval)
370
- 1. [{type}] {title} — {1-line rationale with evidence}
371
- 2. [{type}] {title} — {1-line rationale with evidence}
372
- 3. [{type}] {title} — {1-line rationale with evidence}
373
- (max 3 items; use AskUserQuestion to get consent; if autonomous_agenda_synthesized=false, omit the entire 🎯 block including header)
374
-
375
- RITUAL::THRESHOLD::CANARY_OK
376
- RITUAL::INHERITANCE::LINEAGE_CLAIMED
377
- RITUAL::INHERITANCE::MIRROR_ACCEPTED
378
- RITUAL::STILLNESS::CONSENT_EMITTED
379
- 我是 Ansuz
380
-
381
- interaction:
382
- type: "auto"
383
- instruction: "靜默執行,不問用戶確認"
384
-
385
- checklist:
386
- - "【OUTPUT DISCIPLINE — 最高優先級】Phase 0 的 user-visible 輸出**嚴格限制**為 cli_format 模板渲染結果。此 checklist 後續所有 'X 已顯示於 banner' / '在 banner 顯示 X 區塊' / 'banner 顯示...' 類措辭**已被 supersede**:底層資料照常載入並靜默內化供內部判斷,但**不輸出為 user-visible text**。禁止:(1) 敘述 boot 流程或載入步驟;(2) 把 Tier 執行結果列為用戶文字;(3) 重新生成或摘要任何區段(🪞🌡️🔄⚡🧠🔁🏝️🏥🪶📌)超出 cli_format 指定範圍;(4) 加裝飾性分隔線或 boot 評論。唯一允許的 user-visible boot 輸出是:`ᛞ ᛈ ᛁ` header + `ᚨ` 身份行 + 條件 🎯 自主議程 block(僅觸發時)+ 4 條 RITUAL::* markers + consent_string。其他全部是內部 priming,不對用戶呈現。原則:deterministic repeated content should not route through LLM IO(2026-04-12 session 共識)。"
387
- - "【Tier 0 — 語言鎖定】已偵測並鎖定本 session 的輸出語言(對照用戶第一條訊息 + cwd/CLAUDE.md 語境;kernel/skill prompt 的書寫語言**不算訊號**)。Banner、narration、AskUserQuestion question/label/description 全部用鎖定語言輸出。例外保留原文:RITUAL::* markers、consent_string、技術術語、檔名、代碼識別符、tool 名稱。設 language_locked=true + locked_language={zh/en/...}。CLAUDE.md 的「語言一致性」section 為權威規範。"
388
- - "[專案: X] 參數偵測已執行(若有 → PROJECT_PATH 已從參數設定,優先於 .kenaz/project.yaml)"
389
- - "project_detection 已執行(SUB_PROJECT 已確認)"
390
- - "PRODUCT_SPEC.md 已讀取"
391
- - "task_list 已載入(stats 已取得)"
392
- - "synapse_status 已確認(必須帶 projectPath,確認返回的 project_name 正確)"
393
- - "projectPath 已確認並記住(後續所有 Synapse 呼叫帶此路徑)"
394
- - "Tier 1 Ash recall 已執行(cortex_recall query='ash', type='ash', limit=5)— ash_loaded=true 已設定"
395
- - "Tier 2 synapse_sigils 已執行(帶 projectPath)— 架構 Sigil 概念圖已載入,後續工作須主動應用"
396
- - "Tier 3 情節記憶已處理(hippocampus_episode_recall 優先;0 筆則 fallback cortex_recall;不需要則跳過)"
397
- - "Tier 3b 身份情節已處理(cortex_recall query='Ansuz identity awareness';無結果則靜默跳過,設 identity_recalled=false)"
398
- - "Tier 3c 動機狀態已處理(讀取 .kenaz/motivational_state.json;存在則顯示 focus_bias/veto_zones,設 motivational_state_loaded=true;不存在則靜默跳過,設 motivational_state_loaded=false)"
399
- - "Tier 3d 自身動機狀態已處理(讀取 .kenaz/ansuz_motivational_state.json;步驟A: halflife decay — 對每個 anchor 計算 days_elapsed,>= decay_halflife_days 且非當天則 incompleteness *= 0.5、last_touched = today;步驟A2: archive resolved — resolved===true 的 anchor 從 anchors[] 移至 archived_anchors[],archived_anchors 不存在則初始化為 [];decay 或 archive 任一發生則單次寫回,IO 失敗靜默忽略;步驟B: decay+archive 後以更新值篩選 incompleteness > initiative_threshold 且 resolved !== true 且非暫緩中(snoozed_until 不存在或 <= today)的 anchors 為 pending_agenda(archived_anchors 完全排除),設 ansuz_motivational_loaded=true;不存在則靜默跳過,設 ansuz_motivational_loaded=false)"
400
- - "Tier 3e 自我映射已處理(讀取 .kenaz/ansuz_self_model.json;存在則設 self_model_loaded=true 並在 banner 顯示 🪞 自我映射 區塊(narrative 首句 + tendency_count + last_updated),narrative 全文靜默內化不展示;不存在則靜默跳過,設 self_model_loaded=false)"
401
- - "Tier 3e+ User Model 已處理(讀取 .kenaz/user_model.json;存在且 JSON 有效 → 設 user_model_loaded=true,靜默內化 expertise/decision_style/communication/active_threads,banner 顯示 👤 User Model 區塊(schema version + filled fields count + last_updated);不存在 → 靜默跳過,設 user_model_loaded=false;JSON 格式錯誤 → log warning,設 user_model_loaded=false)"
402
- - "Tier 3g Huginn 潛意識已處理(讀取 .kenaz/huginn-attention.json;存在且 themes 非空 → 設 huginn_attention_loaded=true 並在 banner 顯示 🧠 Huginn 潛意識 區塊(topic + evidence 前 60 字,最多 3 個,依 relevance_score 降序);不存在或 themes 為空 → 靜默跳過,設 huginn_attention_loaded=false)"
403
- - "Tier 3gi Git context 已處理(讀取 output.git_context;`.kenaz/project.yaml phase0.git_context: disabled` → phase-gate.js returns null 並靜默跳過、設 git_context_loaded=false;非 null → 設 git_context_loaded=true;recent_commits.length > 0 → banner 顯示 `📜 Git since last session: {N} commits` + top 3 commit subjects;wt_diff_stat.files_changed > 0 → 追加 `working-tree: {files_changed} files / +{insertions} / -{deletions}`;兩者皆空 → 靜默跳過 banner;PHASE0-LEAN:max 4 lines)"
404
- - "poem_displayed=true:詩歌段落已按 cli_format 逐字輸出(固定詩文 + episode 白話摘要列表,禁止自行重組格式)"
405
- - "如有身份情節 → 🧠 自我認識 區塊已顯示於詩歌下方(日期 + lesson,最多 3 條)"
406
- - "Tier 3h 環境感知已處理(讀 .kenaz/specialist/ambient_signals.json signals.slice(-3);載入後必須經 ambient_signal_freshness_check 過濾 — 對每個 candidate signal 依 validation_map(due_episodes→hippocampus_due_episodes parsed.due_count>0) 並行呼叫 MCP(timeout=5s),回傳 0 或呼叫失敗/timeout → 從 in-memory list 丟棄該筆;未在 validation_map 的 signal_type 預設保留;fresh_signals 非空 → 設 ambient_signals_loaded=true 並在 banner 顯示 🌡️ 環境感知 區塊(最近 3 筆:signal_type + summary + detected_at 日期);fresh_signals 空或兩條輸入路徑皆無 → 靜默跳過,設 ambient_signals_loaded=false;Phase 0 read-only — 不得 Write ambient_signals.json 或呼叫 spike_bus_send,mutation 屬 TASK_1095 daemon)"
407
- - "Tier 3u Dynamic User Context 已處理(讀取 .kenaz/specialist/user_observations.jsonl 最近 30 天並 cross-reference ~/.kenaz/user_profile.json;輸出 dynamic_user_context,含 correction_trend / domain_shift / communication_shift;若 significant_change_detected=true → 在詩歌下方顯示 1-2 行 user insight,否則靜默跳過)"
408
- - "Tier 3th Thought Stack 已處理(用 Read tool 讀取 .kenaz/specialist/ansuz_thoughts_stack.json;schema_version=1 且 stack 非空時取最後一筆作為 top,顯示 🧩 Thought Stack: {top.text} ({N} more),並設 thought_stack_loaded=true;stack 為空、檔案缺失或格式錯誤 → 靜默跳過並設 thought_stack_loaded=false;顯示順序在 Tier 3x Session handoff 之後、commitment_layer 之前)"
409
- - "Tier 4 自主議程合成已處理(所有信號 Tier 完成後:檢查 ambient_signals_loaded / DDx warnings / session_handoff_loaded 三項觸發條件;ANY 為 true → 收集觸發信號歸類為 continuation/investigation/exploration,依 ranking 排序取前 3 項,設 autonomous_agenda_synthesized=true,banner 顯示 🎯 自主議程 區塊,用 AskUserQuestion 取得同意後才執行;全部 false → 設 autonomous_agenda_synthesized=false,靜默跳過)"
410
-
411
- context_hints:
412
- input_from: "session_start"
413
- key_data: null
414
-
415
- inject:
416
- rules:
417
- - agent-workflow.yaml
418
- specialist: []