kenaz 0.3.21 → 0.3.23

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 (481) hide show
  1. package/core/.claude/commands/Ansuz.md +2 -0
  2. package/core/.claude/hooks/__tests__/peer-session-fill.test.js +37 -0
  3. package/core/.claude/hooks/_ansuz-conversation.js +32 -1
  4. package/core/.claude/hooks/_user-scope.js +1 -1
  5. package/core/.claude/hooks/core-resolve.js +1 -1
  6. package/core/.claude/hooks/peer-optin.test.js +74 -0
  7. package/core/.claude/hooks/peer-session-fill.js +38 -0
  8. package/core/.claude/hooks/turn-context.js +5 -4
  9. package/core/.claude/hooks/worktree-create.js +6 -6
  10. package/core/.claude/hooks/worktree-remove.js +4 -4
  11. package/core/.claude/settings.json +9 -0
  12. package/core/.collaboration/core/reconcile.js +16 -1
  13. package/core/.collaboration/core/task-2467-lifecycle.test.js +63 -0
  14. package/core/.collaboration/core/task-api.js +37 -7
  15. package/core/.formation/bifrost/launch.js +1 -1
  16. package/core/.formation/bifrost/openai/codex-hook-shim.js +21 -4
  17. package/core/.formation/bifrost/openai/codex-peer-pull.test.js +42 -0
  18. package/core/.formation/bifrost/provider-launch.js +2 -1
  19. package/core/.formation/tools/kenaz-stats.js +1 -1
  20. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  21. package/core/.formation/tools/prompt.js +1 -1
  22. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  23. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  24. package/core/.rule/general/project-self-containment.yaml +2 -2
  25. package/core/.specialist/Amelia/README.md +1 -1
  26. package/core/.specialist/Amelia/rule.yaml +1 -1
  27. package/core/.specialist/Ansuz/RULES.md +1 -1
  28. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  29. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  30. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  31. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  32. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  33. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  34. package/core/.specialist/tools/failure-detector.js +4 -4
  35. package/core/.specialist/tools/handoff-doc.js +1 -1
  36. package/core/.specialist/tools/lessons.js +2 -2
  37. package/core/CLAUDE.md +5 -5
  38. package/core/KENAZ_CORE_VERSION +1 -1
  39. package/core/dashboard/scripts/install-kenaz-cli.js +471 -0
  40. package/core/dev/scripts/check-file-size.js +1 -1
  41. package/core/dev/scripts/ci-feedback.js +1 -1
  42. package/core/dev/scripts/gc-agent-worktrees.js +11 -11
  43. package/core/dev/scripts/kenaz-session.js +3 -3
  44. package/core/dev/scripts/peer-identity-e2e.js +3 -3
  45. package/core/dev/scripts/run-rust-tests.js +2 -2
  46. package/core/dev/scripts/skill-routing-replay.js +3 -3
  47. package/core/dev/scripts/task1961/selftest.js +2 -2
  48. package/core/dev/scripts/windows-hide-guard.test.js +97 -0
  49. package/core/plugins/kenaz/commands/Ansuz.md +2 -0
  50. package/core/plugins/kenaz/guidance.md +2 -0
  51. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  52. package/core/plugins/kenaz/hooks/hooks.json +9 -0
  53. package/core/plugins/kenaz/hooks/kenaz-hook.js +53 -4
  54. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  55. package/core/plugins/kenaz/scripts/ygg.js +40 -4
  56. package/core/plugins/kenaz/scripts/ygg.test.js +63 -3
  57. package/core/plugins/kenaz-peer/hooks/register.test.ts +59 -2
  58. package/core/plugins/kenaz-peer/hooks/register.ts +24 -1
  59. package/lib/cli.js +9 -5
  60. package/package.json +6 -6
  61. package/vendor/install-kenaz-cli.js +21 -6
  62. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  63. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  64. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  65. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  66. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  67. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  68. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  69. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  70. package/core/.kenaz/main-memory/README.md +0 -230
  71. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  72. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  73. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  74. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  75. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  76. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  77. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  78. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  79. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  80. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  81. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  82. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  83. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  84. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  85. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  86. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  87. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  88. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  89. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  90. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  91. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  92. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  93. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  94. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  95. package/core/.kenaz/main-memory/registry.json +0 -326
  96. package/core/.kenaz/main-memory/version.yaml +0 -58
  97. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  98. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  99. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  100. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  101. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  102. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  103. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  104. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  105. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  106. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  107. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  108. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  109. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  110. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  111. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  112. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  113. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  114. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  115. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  116. package/core/.kenaz/specialist/task1825_update.json +0 -43
  117. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  118. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  119. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  120. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  121. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  122. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  123. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  124. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  125. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  126. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  127. package/core/.specialist/ansuz_session_handoff.json +0 -96
  128. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  129. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  130. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  131. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  132. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  133. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  134. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  135. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  136. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  137. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  138. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  139. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  140. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  141. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  142. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  143. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  144. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  145. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  146. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  147. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  148. package/core/dev/PRODUCT_SPEC.md +0 -317
  149. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  150. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  151. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  152. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  153. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  154. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  155. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  156. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  157. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  158. package/core/dev/ansuz-eval/README.md +0 -38
  159. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  160. package/core/dev/ansuz-eval/grade.js +0 -96
  161. package/core/dev/ansuz-eval/grader.test.js +0 -117
  162. package/core/dev/ansuz-eval/tasks.md +0 -32
  163. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  164. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  165. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  166. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  167. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  168. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  169. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  170. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  171. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  172. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  173. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  174. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  175. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  176. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  177. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  178. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  179. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  180. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  181. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  182. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  183. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  184. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  185. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  186. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  187. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  188. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  189. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  190. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  191. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  192. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  193. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  194. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  195. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  196. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  197. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  198. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  199. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  200. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  201. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  202. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  203. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  204. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  205. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  206. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  207. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  208. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  209. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  210. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  211. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  212. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  213. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  214. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  215. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  216. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  217. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  218. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  219. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  220. package/core/dev/jev-eval/README.md +0 -101
  221. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  222. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  223. package/core/dev/jev-eval/cli.mjs +0 -50
  224. package/core/dev/jev-eval/context.mjs +0 -183
  225. package/core/dev/jev-eval/corpus.mjs +0 -186
  226. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  227. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  228. package/core/dev/jev-eval/metrics.mjs +0 -67
  229. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  230. package/core/dev/jev-eval/providers.mjs +0 -95
  231. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  232. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  233. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  234. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  235. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  236. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  237. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  238. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  239. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  240. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  241. package/core/dev/jev-eval/resilience.mjs +0 -71
  242. package/core/dev/jev-eval/review.mjs +0 -78
  243. package/core/dev/jev-eval/schema.mjs +0 -87
  244. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  245. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  246. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  247. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  248. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  249. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  250. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  251. package/core/dev/pipeline/PROGRESS.md +0 -113
  252. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  253. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  254. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  255. package/core/dev/pipeline/README.md +0 -210
  256. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  257. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  258. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  259. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  260. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  261. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  262. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  263. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  264. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  265. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  266. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  267. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  268. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  269. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  270. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  271. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  272. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  273. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  274. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  275. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  276. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  277. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  278. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  279. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  280. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  281. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  282. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  283. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  284. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  285. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  286. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  287. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  288. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  289. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  290. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  291. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  292. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  293. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  294. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  295. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  296. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  297. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  298. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  299. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  300. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  301. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  302. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  303. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  304. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  305. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  306. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  307. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  308. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  309. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  310. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  311. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  312. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  313. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  314. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  315. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  316. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  317. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  318. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  319. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  320. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  321. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  322. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  323. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  324. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  325. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  326. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  327. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  328. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  329. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  330. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  331. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  332. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  333. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  334. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  335. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  336. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  337. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  338. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  339. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  340. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  341. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  342. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  343. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  344. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  345. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  346. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  347. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  348. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  349. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  350. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  351. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  352. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  353. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  354. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  355. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  356. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  357. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  358. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  359. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  360. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  361. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  362. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  363. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  364. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  365. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  366. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  367. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  368. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  369. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  370. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  371. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  372. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  373. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  374. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  375. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  376. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  377. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  378. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  379. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  380. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  381. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  382. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  383. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  384. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  385. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  386. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  387. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  388. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  389. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  390. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  391. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  392. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  393. package/core/dev/pipeline/docs/overview.md +0 -406
  394. package/core/dev/pipeline/docs/task-management.md +0 -412
  395. package/core/dev/pipeline/docs/workflows.md +0 -32
  396. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  397. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  398. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  399. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  400. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  401. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  402. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  403. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  404. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  405. package/core/dev/scripts/README.md +0 -142
  406. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  407. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  408. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  409. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  410. package/core/dev/scripts/init_git.ps1 +0 -396
  411. package/core/dev/scripts/init_git.sh +0 -337
  412. package/core/dev/scripts/init_project.ps1 +0 -851
  413. package/core/dev/scripts/init_project.sh +0 -477
  414. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  415. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  416. package/core/dev/scripts/run_once.sh +0 -47
  417. package/core/dev/scripts/setup_rag.ps1 +0 -304
  418. package/core/dev/scripts/setup_rag.sh +0 -230
  419. package/core/dev/scripts/start_dev_agent.sh +0 -137
  420. package/core/dev/scripts/start_multi_agent.sh +0 -41
  421. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  422. package/core/dev/scripts/sync_task_queue.sh +0 -392
  423. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  424. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  425. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  426. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  427. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  428. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  429. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  430. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  431. 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
  432. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  433. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  434. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  435. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  436. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  437. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  438. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  439. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  440. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  441. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  442. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  443. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  444. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  445. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  446. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  447. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  448. package/core/dev/specs/agent-connect/history/README.md +0 -47
  449. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  450. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  451. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  452. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  453. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  454. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  455. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  456. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  457. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  458. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  459. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  460. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  461. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  462. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  463. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  464. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  465. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  466. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  467. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  468. package/core/dev/spikes/bloat-rounds.sh +0 -25
  469. package/core/dev/spikes/mods/clean-claude.js +0 -9
  470. package/core/dev/spikes/mods/drive-probe.js +0 -29
  471. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  472. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  473. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  474. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  475. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  476. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  477. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  478. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  479. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  480. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  481. package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
@@ -1,536 +0,0 @@
1
- # ============================================================
2
- # Dev Agent Scheduler - Self-Enhancement Mode
3
- # ============================================================
4
- # 自我增強迭代模式:
5
- # 1. 執行 /dev 完成開發任務
6
- # 2. 當沒有 pending tasks 時,呼叫 /產品檢視 分析專案
7
- # 3. 根據分析結果決定繼續迭代或結束
8
- # ============================================================
9
-
10
- param(
11
- [int]$InitialDelaySeconds = 30,
12
- [int]$IntervalMinutes = 20,
13
- [int]$EarlyFinishDelaySeconds = 30,
14
- [int]$TotalRuns = 16,
15
- [int]$MaxEnhancementCycles = 3, # 最大自我增強循環次數
16
- [string]$WorkingDirectory, # 工作目錄
17
- [switch]$nopause # 從 Tauri 調用時使用(跳過暫停)
18
- )
19
-
20
- # Helper function to normalize Windows extended path format (\\?\)
21
- function Get-NormalizedPath {
22
- param([string]$Path)
23
- if ($Path -and $Path.StartsWith("\\?\")) {
24
- return $Path.Substring(4)
25
- }
26
- return $Path
27
- }
28
-
29
- # Use KENAZ_PROJECT_PATH env var if WorkingDirectory not specified
30
- if (-not $WorkingDirectory) {
31
- if ($env:KENAZ_PROJECT_PATH) {
32
- $WorkingDirectory = $env:KENAZ_PROJECT_PATH
33
- } else {
34
- $WorkingDirectory = (Get-Location).Path
35
- }
36
- }
37
-
38
- # Normalize WorkingDirectory to handle \\?\ prefix from Tauri
39
- $WorkingDirectory = Get-NormalizedPath $WorkingDirectory
40
-
41
- # Config
42
- $LogFile = Join-Path $WorkingDirectory "dev\pipeline\logs\scheduler_$(Get-Date -Format 'yyyy-MM-dd').log"
43
- $StatusFile = Join-Path $WorkingDirectory "dev\pipeline\SELF_ENHANCEMENT_STATUS.json"
44
-
45
- # Ensure log directory exists
46
- $LogDir = Split-Path $LogFile -Parent
47
- if (-not (Test-Path $LogDir)) {
48
- New-Item -ItemType Directory -Path $LogDir -Force | Out-Null
49
- }
50
-
51
- function Write-Log {
52
- param([string]$Message, [switch]$NoConsole)
53
- $Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
54
- $LogMessage = "[$Timestamp] $Message"
55
- if (-not $NoConsole) {
56
- Write-Host $LogMessage
57
- }
58
- Add-Content -Path $LogFile -Value $LogMessage -Encoding UTF8
59
- }
60
-
61
- function Get-ProgressInfo {
62
- $ProgressFile = Join-Path $WorkingDirectory "dev\pipeline\PROGRESS.md"
63
-
64
- $info = @{
65
- HasPendingTasks = $false
66
- CurrentTask = $null
67
- NextTask = $null
68
- Completed = 0
69
- Total = 0
70
- Pending = 0
71
- InProgress = 0
72
- }
73
-
74
- if (-not (Test-Path $ProgressFile)) {
75
- $info.HasPendingTasks = $true
76
- return $info
77
- }
78
-
79
- try {
80
- $Content = Get-Content $ProgressFile -Raw -Encoding UTF8
81
-
82
- # Count from statistics section
83
- $lines = $Content -split "`n"
84
- foreach ($line in $lines) {
85
- # 分開處理 Total 匹配,避免 -or 導致 $Matches 混亂
86
- if ($line -match "Total.*?:\s*(\d+)") {
87
- $info.Total = [int]$Matches[1]
88
- }
89
- elseif (($line -match "task") -and ($line -match ":\s*(\d+)\s*$")) {
90
- $info.Total = [int]$Matches[1]
91
- }
92
-
93
- # 分開處理完成數匹配
94
- if (($line -match "complet" -or $line -match "done") -and ($line -match "(\d+)\s*\(\d+%\)")) {
95
- $info.Completed = [int]$Matches[1]
96
- }
97
- }
98
-
99
- # Check tasks directory for pending count
100
- $tasksDir = Join-Path $WorkingDirectory "dev\pipeline\tasks"
101
- if (Test-Path $tasksDir) {
102
- $taskFiles = Get-ChildItem -Path $tasksDir -Filter "TASK_*.md" -ErrorAction SilentlyContinue
103
- $info.Pending = $taskFiles.Count
104
- if ($info.Pending -gt 0) {
105
- $info.HasPendingTasks = $true
106
-
107
- $firstTask = $taskFiles | Sort-Object Name | Select-Object -First 1
108
- if ($firstTask) {
109
- $taskId = $firstTask.BaseName -replace '_.*$', ''
110
- $taskName = $firstTask.BaseName -replace '^TASK_\d+_', '' -replace '_', ' '
111
- $info.NextTask = "${taskId}: $taskName"
112
- }
113
- }
114
- }
115
-
116
- # Check completed directory
117
- $completedDir = Join-Path $WorkingDirectory "dev\pipeline\completed"
118
- if (Test-Path $completedDir) {
119
- $completedFiles = Get-ChildItem -Path $completedDir -Filter "TASK_*.md" -ErrorAction SilentlyContinue
120
- $info.Completed = $completedFiles.Count
121
- }
122
-
123
- if ($info.Total -eq 0) {
124
- $info.Total = $info.Pending + $info.Completed + $info.InProgress
125
- }
126
-
127
- # Check for status markers in table format
128
- if ($Content -match "\|\s*pending\s*\|") {
129
- $info.HasPendingTasks = $true
130
- }
131
- if ($Content -match "\|\s*in_progress\s*\|") {
132
- $info.HasPendingTasks = $true
133
- $info.InProgress = 1
134
- }
135
-
136
- if ($Content -match "\|\s*P[0-2]\s*\|\s*(TASK_\d+)\s*\|([^|]+)\|\s*pending\s*\|") {
137
- $info.NextTask = "$($Matches[1]): $($Matches[2].Trim())"
138
- }
139
-
140
- } catch {
141
- Write-Log "Error reading PROGRESS.md: $_"
142
- $info.HasPendingTasks = $true
143
- }
144
-
145
- return $info
146
- }
147
-
148
- function Show-ProgressStatus {
149
- $info = Get-ProgressInfo
150
-
151
- Write-Host ""
152
- Write-Host "------------------------------------------------------------"
153
- Write-Host " Progress: $($info.Completed) / $($info.Total) completed ($($info.Pending) pending)"
154
-
155
- if ($info.CurrentTask) {
156
- Write-Host " Current: $($info.CurrentTask)" -ForegroundColor Yellow
157
- }
158
- if ($info.NextTask) {
159
- Write-Host " Next: $($info.NextTask)" -ForegroundColor Cyan
160
- }
161
- Write-Host "------------------------------------------------------------"
162
- Write-Host ""
163
-
164
- return $info
165
- }
166
-
167
- function Test-HasPendingTasks {
168
- $info = Get-ProgressInfo
169
- return $info.HasPendingTasks
170
- }
171
-
172
- function Invoke-DevAgent {
173
- param(
174
- [int]$RunNumber,
175
- [int]$TimeoutMinutes = 60
176
- )
177
-
178
- Write-Log "=========================================="
179
- Write-Log "Starting Dev Agent (Run $RunNumber / $TotalRuns)"
180
- Write-Log "=========================================="
181
-
182
- try {
183
- Push-Location $WorkingDirectory
184
-
185
- $Command = "claude"
186
- $Arguments = "--dangerously-skip-permissions /dev"
187
- Write-Log "Command: $Command $Arguments"
188
-
189
- # 使用 Start-Process 配合超時機制
190
- $pinfo = New-Object System.Diagnostics.ProcessStartInfo
191
- $pinfo.FileName = $Command
192
- $pinfo.Arguments = $Arguments
193
- $pinfo.RedirectStandardOutput = $true
194
- $pinfo.RedirectStandardError = $true
195
- $pinfo.UseShellExecute = $false
196
- $pinfo.WorkingDirectory = $WorkingDirectory
197
-
198
- $process = New-Object System.Diagnostics.Process
199
- $process.StartInfo = $pinfo
200
- $process.Start() | Out-Null
201
-
202
- $TimeoutMs = $TimeoutMinutes * 60 * 1000
203
- $completed = $process.WaitForExit($TimeoutMs)
204
-
205
- if (-not $completed) {
206
- Write-Log "WARNING: Command timed out after $TimeoutMinutes minutes. Killing process..."
207
- $process.Kill()
208
- Write-Log "Process killed due to timeout"
209
- } else {
210
- $stdout = $process.StandardOutput.ReadToEnd()
211
- $stderr = $process.StandardError.ReadToEnd()
212
-
213
- if ($stdout) {
214
- Write-Log "Output: $($stdout.Substring(0, [Math]::Min(500, $stdout.Length)))..." -NoConsole
215
- }
216
- if ($stderr) {
217
- Write-Log "Stderr: $stderr"
218
- }
219
- Write-Log "Execution completed with exit code: $($process.ExitCode)"
220
- }
221
-
222
- } catch {
223
- Write-Log "Error: $_"
224
- } finally {
225
- Pop-Location
226
- }
227
-
228
- Write-Log "Run $RunNumber finished"
229
- Write-Log ""
230
- }
231
-
232
- function Invoke-ProductReview {
233
- param(
234
- [int]$TimeoutMinutes = 30
235
- )
236
-
237
- Write-Log "=========================================="
238
- Write-Log "Starting Product Review (Self-Enhancement)"
239
- Write-Log "=========================================="
240
-
241
- try {
242
- Push-Location $WorkingDirectory
243
-
244
- # 備份舊的狀態文件而非直接刪除
245
- if (Test-Path $StatusFile) {
246
- $backupFile = "${StatusFile}.bak"
247
- Move-Item $StatusFile $backupFile -Force
248
- Write-Log "Backed up previous status file"
249
- }
250
-
251
- # 使用英文指令避免 PowerShell 編碼問題
252
- $Command = "claude"
253
- $Arguments = '--dangerously-skip-permissions /product-review'
254
- Write-Log "Command: $Command $Arguments"
255
-
256
- # 使用 Start-Process 配合超時機制
257
- $pinfo = New-Object System.Diagnostics.ProcessStartInfo
258
- $pinfo.FileName = $Command
259
- $pinfo.Arguments = $Arguments
260
- $pinfo.RedirectStandardOutput = $true
261
- $pinfo.RedirectStandardError = $true
262
- $pinfo.UseShellExecute = $false
263
- $pinfo.WorkingDirectory = $WorkingDirectory
264
- $pinfo.StandardOutputEncoding = [System.Text.Encoding]::UTF8
265
- $pinfo.StandardErrorEncoding = [System.Text.Encoding]::UTF8
266
-
267
- $process = New-Object System.Diagnostics.Process
268
- $process.StartInfo = $pinfo
269
- $process.Start() | Out-Null
270
-
271
- $TimeoutMs = $TimeoutMinutes * 60 * 1000
272
- $completed = $process.WaitForExit($TimeoutMs)
273
-
274
- if (-not $completed) {
275
- Write-Log "WARNING: Product Review timed out after $TimeoutMinutes minutes. Killing process..."
276
- $process.Kill()
277
- Write-Log "Process killed due to timeout"
278
-
279
- # 如果超時,恢復備份的狀態文件
280
- $backupFile = "${StatusFile}.bak"
281
- if (Test-Path $backupFile) {
282
- Move-Item $backupFile $StatusFile -Force
283
- Write-Log "Restored previous status file due to timeout"
284
- }
285
- } else {
286
- $stdout = $process.StandardOutput.ReadToEnd()
287
- $stderr = $process.StandardError.ReadToEnd()
288
-
289
- if ($stdout) {
290
- Write-Log "Output: $($stdout.Substring(0, [Math]::Min(500, $stdout.Length)))..." -NoConsole
291
- }
292
- if ($stderr) {
293
- Write-Log "Stderr: $stderr"
294
- }
295
- Write-Log "Product Review completed with exit code: $($process.ExitCode)"
296
- }
297
-
298
- } catch {
299
- Write-Log "Error in Product Review: $_"
300
-
301
- # 發生錯誤時恢復備份
302
- $backupFile = "${StatusFile}.bak"
303
- if (Test-Path $backupFile) {
304
- Move-Item $backupFile $StatusFile -Force
305
- Write-Log "Restored previous status file due to error"
306
- }
307
- } finally {
308
- Pop-Location
309
- }
310
- }
311
-
312
- function Get-EnhancementStatus {
313
- if (-not (Test-Path $StatusFile)) {
314
- return @{
315
- Status = "unknown"
316
- Decision = "Status file not found"
317
- }
318
- }
319
-
320
- try {
321
- $Content = Get-Content $StatusFile -Raw -Encoding UTF8
322
- $Json = $Content | ConvertFrom-Json
323
- return @{
324
- Status = $Json.status
325
- Decision = $Json.decision
326
- Reason = $Json.reason
327
- NewTasks = $Json.new_tasks
328
- }
329
- } catch {
330
- Write-Log "Error reading status file: $_"
331
- return @{
332
- Status = "error"
333
- Decision = "Failed to parse status file"
334
- }
335
- }
336
- }
337
-
338
- # ============================================================
339
- # Main
340
- # ============================================================
341
-
342
- Clear-Host
343
- Write-Host ""
344
- Write-Host "============================================================"
345
- Write-Host " Dev Agent Scheduler - Self-Enhancement Mode"
346
- Write-Host "============================================================"
347
- Write-Host " Initial Delay: $InitialDelaySeconds seconds"
348
- Write-Host " Interval: $IntervalMinutes minutes (or ${EarlyFinishDelaySeconds}s if finished early)"
349
- Write-Host " Total Runs: $TotalRuns"
350
- Write-Host " Max Enhancement Cycles: $MaxEnhancementCycles"
351
- Write-Host " Working Dir: $WorkingDirectory"
352
- Write-Host "============================================================"
353
- Write-Host ""
354
-
355
- Write-Log "Scheduler started (Self-Enhancement Mode)"
356
- Write-Log "Config: InitialDelay=${InitialDelaySeconds}s, Interval=${IntervalMinutes}min, MaxCycles=$MaxEnhancementCycles"
357
-
358
- # Execute schedule with self-enhancement
359
- $RunCount = 0
360
- $EnhancementCycle = 0
361
- $StoppedEarly = $false
362
- $ProjectComplete = $false
363
- $global:HasSuggestions = $false # 是否有優化建議
364
- $IntervalSeconds = $IntervalMinutes * 60
365
- $LastRunStart = Get-Date # 初始化以避免未定義變數錯誤
366
-
367
- while ($RunCount -lt $TotalRuns -and -not $ProjectComplete) {
368
- $RunCount++
369
-
370
- # Check if there are pending tasks before waiting
371
- $progressInfo = Show-ProgressStatus
372
-
373
- if (-not $progressInfo.HasPendingTasks) {
374
- # ============================================================
375
- # 自我增強模式:沒有 pending tasks,執行產品檢視
376
- # ============================================================
377
-
378
- if ($EnhancementCycle -ge $MaxEnhancementCycles) {
379
- Write-Log "=========================================="
380
- Write-Log "Max enhancement cycles ($MaxEnhancementCycles) reached!"
381
- Write-Log "Stopping to prevent infinite loop."
382
- Write-Log "=========================================="
383
- $StoppedEarly = $true
384
- break
385
- }
386
-
387
- $EnhancementCycle++
388
- Write-Host ""
389
- Write-Host "============================================================" -ForegroundColor Magenta
390
- Write-Host " Self-Enhancement Cycle $EnhancementCycle / $MaxEnhancementCycles" -ForegroundColor Magenta
391
- Write-Host " No pending tasks - Running Product Review..." -ForegroundColor Magenta
392
- Write-Host "============================================================" -ForegroundColor Magenta
393
- Write-Host ""
394
-
395
- Write-Log "Self-Enhancement Cycle ${EnhancementCycle} - Running Product Review"
396
-
397
- Invoke-ProductReview
398
-
399
- # 檢查決策結果
400
- $enhancementStatus = Get-EnhancementStatus
401
-
402
- Write-Host ""
403
- Write-Host "------------------------------------------------------------"
404
- $statusColor = switch ($enhancementStatus.Status) {
405
- "complete" { "Green" }
406
- "complete_with_suggestions" { "Cyan" }
407
- default { "Yellow" }
408
- }
409
- Write-Host " Enhancement Decision: $($enhancementStatus.Status)" -ForegroundColor $statusColor
410
- Write-Host " Reason: $($enhancementStatus.Decision)"
411
- if ($enhancementStatus.NewTasks) {
412
- Write-Host " New Tasks: $($enhancementStatus.NewTasks -join ', ')" -ForegroundColor Cyan
413
- }
414
- Write-Host "------------------------------------------------------------"
415
- Write-Host ""
416
-
417
- if ($enhancementStatus.Status -eq "complete") {
418
- Write-Log "=========================================="
419
- Write-Log "PROJECT COMPLETE!"
420
- Write-Log "Decision: $($enhancementStatus.Decision)"
421
- Write-Log "Reason: $($enhancementStatus.Reason)"
422
- Write-Log "=========================================="
423
- $ProjectComplete = $true
424
- break
425
- }
426
-
427
- if ($enhancementStatus.Status -eq "complete_with_suggestions") {
428
- Write-Log "=========================================="
429
- Write-Log "PROJECT COMPLETE (with optimization suggestions)"
430
- Write-Log "Decision: $($enhancementStatus.Decision)"
431
- Write-Log "Reason: $($enhancementStatus.Reason)"
432
- Write-Log "Check SELF_ENHANCEMENT_STATUS.json for suggestions"
433
- Write-Log "=========================================="
434
- $ProjectComplete = $true
435
- $global:HasSuggestions = $true
436
- break
437
- }
438
-
439
- if ($enhancementStatus.Status -eq "continue") {
440
- Write-Log "Enhancement added new tasks. Continuing development..."
441
- # 重新檢查 pending tasks
442
- $progressInfo = Get-ProgressInfo
443
- if (-not $progressInfo.HasPendingTasks) {
444
- Write-Log "Warning: Status says continue but no new tasks found. Stopping."
445
- $StoppedEarly = $true
446
- break
447
- }
448
- } else {
449
- Write-Log "Unknown enhancement status: $($enhancementStatus.Status). Stopping."
450
- $StoppedEarly = $true
451
- break
452
- }
453
- }
454
-
455
- # Determine wait time
456
- if ($RunCount -eq 1) {
457
- $WaitSeconds = $InitialDelaySeconds
458
- } else {
459
- $ElapsedSeconds = ((Get-Date) - $LastRunStart).TotalSeconds
460
-
461
- if ($ElapsedSeconds -lt $IntervalSeconds) {
462
- $WaitSeconds = $EarlyFinishDelaySeconds
463
- Write-Log "Previous run finished early, waiting ${EarlyFinishDelaySeconds}s"
464
- } else {
465
- $WaitSeconds = 0
466
- }
467
- }
468
-
469
- if ($WaitSeconds -gt 0) {
470
- $TargetTime = (Get-Date).AddSeconds($WaitSeconds)
471
- Write-Host ""
472
- Write-Host "Waiting... Next run (${RunCount}/${TotalRuns}): $($TargetTime.ToString('HH:mm:ss')) ($WaitSeconds seconds)"
473
- Write-Host "Press Ctrl+C to cancel"
474
- Write-Host ""
475
-
476
- while ((Get-Date) -lt $TargetTime) {
477
- $Remaining = ($TargetTime - (Get-Date)).TotalSeconds
478
- $Minutes = [math]::Floor($Remaining / 60)
479
- $Seconds = [math]::Floor($Remaining % 60)
480
- Write-Host -NoNewline "`r Remaining: $($Minutes.ToString('00')):$($Seconds.ToString('00')) "
481
- Start-Sleep -Seconds 1
482
- }
483
- Write-Host ""
484
- }
485
-
486
- $LastRunStart = Get-Date
487
-
488
- # Log current task info
489
- $taskInfo = Get-ProgressInfo
490
- if ($taskInfo.NextTask) {
491
- Write-Log "Target task: $($taskInfo.NextTask)"
492
- }
493
-
494
- Invoke-DevAgent -RunNumber $RunCount
495
-
496
- # Check again after execution
497
- if (-not (Test-HasPendingTasks)) {
498
- Write-Log "All current tasks completed. Will check for enhancement..."
499
- # 讓下一個循環處理自我增強
500
- continue
501
- }
502
- }
503
-
504
- # ============================================================
505
- # 結束摘要
506
- # ============================================================
507
-
508
- Write-Host ""
509
- Write-Host "============================================================"
510
- if ($ProjectComplete -and $global:HasSuggestions) {
511
- Write-Host " PROJECT COMPLETE (with suggestions)" -ForegroundColor Cyan
512
- Write-Host " All PRODUCT_SPEC requirements fulfilled." -ForegroundColor Green
513
- Write-Host " AI has optimization suggestions for review." -ForegroundColor Yellow
514
- Write-Host " See: dev/pipeline/SELF_ENHANCEMENT_STATUS.json" -ForegroundColor Yellow
515
- } elseif ($ProjectComplete) {
516
- Write-Host " PROJECT COMPLETE!" -ForegroundColor Green
517
- Write-Host " All PRODUCT_SPEC requirements fulfilled." -ForegroundColor Green
518
- } elseif ($StoppedEarly) {
519
- Write-Host " Scheduler Stopped Early" -ForegroundColor Yellow
520
- } else {
521
- Write-Host " Schedule Completed" -ForegroundColor Cyan
522
- }
523
- Write-Host "------------------------------------------------------------"
524
- Write-Host " Total Dev Runs: $RunCount"
525
- Write-Host " Enhancement Cycles: $EnhancementCycle"
526
- Write-Host " Log file: $LogFile"
527
- Write-Host "============================================================"
528
- Write-Host ""
529
-
530
- Write-Log "=========================================="
531
- Write-Log "Scheduler finished"
532
- Write-Log "Total Dev Runs: $RunCount, Enhancement Cycles: $EnhancementCycle"
533
- Write-Log "Project Complete: $ProjectComplete"
534
- Write-Log "=========================================="
535
-
536
- Write-Host "Scheduler finished"