kenaz 0.3.22 → 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 (465) 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 +6 -6
  4. package/core/.claude/hooks/worktree-remove.js +4 -4
  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/kenaz-stats.js +1 -1
  10. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  11. package/core/.formation/tools/prompt.js +1 -1
  12. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  13. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  14. package/core/.rule/general/project-self-containment.yaml +2 -2
  15. package/core/.specialist/Amelia/README.md +1 -1
  16. package/core/.specialist/Amelia/rule.yaml +1 -1
  17. package/core/.specialist/Ansuz/RULES.md +1 -1
  18. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  19. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  20. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  21. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  22. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  23. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  24. package/core/.specialist/tools/failure-detector.js +4 -4
  25. package/core/.specialist/tools/handoff-doc.js +1 -1
  26. package/core/.specialist/tools/lessons.js +2 -2
  27. package/core/CLAUDE.md +5 -5
  28. package/core/KENAZ_CORE_VERSION +1 -1
  29. package/core/dashboard/scripts/install-kenaz-cli.js +21 -6
  30. package/core/dev/scripts/check-file-size.js +1 -1
  31. package/core/dev/scripts/ci-feedback.js +1 -1
  32. package/core/dev/scripts/gc-agent-worktrees.js +11 -11
  33. package/core/dev/scripts/kenaz-session.js +3 -3
  34. package/core/dev/scripts/peer-identity-e2e.js +3 -3
  35. package/core/dev/scripts/run-rust-tests.js +2 -2
  36. package/core/dev/scripts/skill-routing-replay.js +3 -3
  37. package/core/dev/scripts/task1961/selftest.js +2 -2
  38. package/core/dev/scripts/windows-hide-guard.test.js +97 -0
  39. package/core/plugins/kenaz/guidance.md +1 -0
  40. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  41. package/core/plugins/kenaz/hooks/kenaz-hook.js +52 -4
  42. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  43. package/lib/cli.js +9 -5
  44. package/package.json +6 -6
  45. package/vendor/install-kenaz-cli.js +21 -6
  46. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  47. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  48. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  49. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  50. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  51. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  52. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  53. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  54. package/core/.kenaz/main-memory/README.md +0 -230
  55. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  56. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  57. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  58. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  59. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  60. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  61. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  62. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  63. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  64. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  65. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  66. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  67. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  68. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  69. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  70. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  71. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  72. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  73. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  74. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  75. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  76. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  77. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  78. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  79. package/core/.kenaz/main-memory/registry.json +0 -326
  80. package/core/.kenaz/main-memory/version.yaml +0 -58
  81. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  82. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  83. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  84. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  85. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  86. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  87. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  88. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  89. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  90. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  91. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  92. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  93. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  94. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  95. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  96. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  97. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  98. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  99. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  100. package/core/.kenaz/specialist/task1825_update.json +0 -43
  101. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  102. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  103. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  104. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  105. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  106. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  107. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  108. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  109. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  110. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  111. package/core/.specialist/ansuz_session_handoff.json +0 -96
  112. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  113. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  114. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  115. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  116. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  117. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  118. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  119. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  120. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  121. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  122. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  123. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  124. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  125. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  126. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  127. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  128. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  129. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  130. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  131. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  132. package/core/dev/PRODUCT_SPEC.md +0 -317
  133. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  134. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  135. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  136. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  137. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  138. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  139. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  140. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  141. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  142. package/core/dev/ansuz-eval/README.md +0 -38
  143. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  144. package/core/dev/ansuz-eval/grade.js +0 -96
  145. package/core/dev/ansuz-eval/grader.test.js +0 -117
  146. package/core/dev/ansuz-eval/tasks.md +0 -32
  147. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  148. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  149. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  150. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  151. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  152. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  153. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  154. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  155. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  156. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  157. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  158. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  159. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  160. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  161. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  162. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  163. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  164. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  165. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  166. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  167. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  168. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  169. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  170. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  171. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  172. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  173. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  174. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  175. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  176. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  177. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  178. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  179. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  180. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  181. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  182. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  183. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  184. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  185. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  186. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  187. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  188. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  189. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  190. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  191. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  192. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  193. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  194. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  195. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  196. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  197. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  198. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  199. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  200. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  201. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  202. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  203. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  204. package/core/dev/jev-eval/README.md +0 -101
  205. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  206. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  207. package/core/dev/jev-eval/cli.mjs +0 -50
  208. package/core/dev/jev-eval/context.mjs +0 -183
  209. package/core/dev/jev-eval/corpus.mjs +0 -186
  210. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  211. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  212. package/core/dev/jev-eval/metrics.mjs +0 -67
  213. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  214. package/core/dev/jev-eval/providers.mjs +0 -95
  215. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  216. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  217. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  218. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  219. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  220. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  221. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  222. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  223. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  224. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  225. package/core/dev/jev-eval/resilience.mjs +0 -71
  226. package/core/dev/jev-eval/review.mjs +0 -78
  227. package/core/dev/jev-eval/schema.mjs +0 -87
  228. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  229. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  230. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  231. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  232. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  233. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  234. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  235. package/core/dev/pipeline/PROGRESS.md +0 -113
  236. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  237. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  238. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  239. package/core/dev/pipeline/README.md +0 -210
  240. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  241. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  242. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  243. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  244. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  245. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  246. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  247. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  248. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  249. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  250. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  251. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  252. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  253. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  254. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  255. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  256. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  257. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  258. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  259. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  260. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  261. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  262. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  263. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  264. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  265. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  266. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  267. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  268. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  269. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  270. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  271. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  272. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  273. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  274. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  275. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  276. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  277. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  278. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  279. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  280. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  281. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  282. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  283. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  284. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  285. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  286. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  287. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  288. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  289. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  290. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  291. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  292. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  293. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  294. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  295. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  296. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  297. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  298. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  299. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  300. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  301. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  302. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  303. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  304. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  305. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  306. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  307. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  308. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  309. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  310. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  311. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  312. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  313. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  314. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  315. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  316. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  317. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  318. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  319. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  320. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  321. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  322. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  323. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  324. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  325. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  326. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  327. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  328. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  329. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  330. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  331. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  332. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  333. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  334. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  335. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  336. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  337. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  338. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  339. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  340. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  341. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  342. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  343. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  344. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  345. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  346. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  347. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  348. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  349. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  350. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  351. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  352. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  353. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  354. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  355. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  356. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  357. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  358. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  359. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  360. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  361. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  362. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  363. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  364. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  365. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  366. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  367. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  368. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  369. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  370. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  371. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  372. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  373. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  374. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  375. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  376. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  377. package/core/dev/pipeline/docs/overview.md +0 -406
  378. package/core/dev/pipeline/docs/task-management.md +0 -412
  379. package/core/dev/pipeline/docs/workflows.md +0 -32
  380. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  381. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  382. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  383. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  384. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  385. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  386. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  387. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  388. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  389. package/core/dev/scripts/README.md +0 -142
  390. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  391. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  392. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  393. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  394. package/core/dev/scripts/init_git.ps1 +0 -396
  395. package/core/dev/scripts/init_git.sh +0 -337
  396. package/core/dev/scripts/init_project.ps1 +0 -851
  397. package/core/dev/scripts/init_project.sh +0 -477
  398. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  399. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  400. package/core/dev/scripts/run_once.sh +0 -47
  401. package/core/dev/scripts/setup_rag.ps1 +0 -304
  402. package/core/dev/scripts/setup_rag.sh +0 -230
  403. package/core/dev/scripts/start_dev_agent.sh +0 -137
  404. package/core/dev/scripts/start_multi_agent.sh +0 -41
  405. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  406. package/core/dev/scripts/sync_task_queue.sh +0 -392
  407. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  408. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  409. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  410. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  411. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  412. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  413. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  414. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  415. 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
  416. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  417. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  418. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  419. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  420. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  421. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  422. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  423. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  424. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  425. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  426. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  427. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  428. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  429. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  430. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  431. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  432. package/core/dev/specs/agent-connect/history/README.md +0 -47
  433. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  434. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  435. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  436. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  437. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  438. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  439. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  440. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  441. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  442. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  443. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  444. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  445. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  446. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  447. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  448. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  449. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  450. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  451. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  452. package/core/dev/spikes/bloat-rounds.sh +0 -25
  453. package/core/dev/spikes/mods/clean-claude.js +0 -9
  454. package/core/dev/spikes/mods/drive-probe.js +0 -29
  455. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  456. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  457. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  458. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  459. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  460. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  461. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  462. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  463. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  464. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  465. package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
@@ -1,272 +0,0 @@
1
- brief_version: "1.0"
2
- task_id: TASK_1231
3
- title: "Verify Bifrost hook parity with lifecycle matrix and regression coverage"
4
- role: qa
5
- produced_by: TASK_1234
6
-
7
- # ─────────────────────────────────────────────────────────────────
8
- # CGDD RECONCILIATION (read this first)
9
- # ─────────────────────────────────────────────────────────────────
10
- cgdd_note: >
11
- CGDD_hook_lifecycle.js was written before verification was split into its own task.
12
- CGDD TASK_1231 refers to relay.js PreToolUse/PostToolUse implementation — that
13
- is the ACTUAL TASK_1229. The actual TASK_1231 is verification only.
14
- FOLLOW THIS BRIEF. Do not implement any hooks in this task.
15
-
16
- cgdd_source: ".formation/bifrost/CGDD_hook_lifecycle.js (read for ordering invariants, not for task labels)"
17
- lifecycle_contract_source: ".specialist/tools/task-bridge.js (BIFROST_HOOK_LIFECYCLE — canonical event names)"
18
-
19
- # ─────────────────────────────────────────────────────────────────
20
- # OBJECTIVE
21
- # ─────────────────────────────────────────────────────────────────
22
- objective: >
23
- Build the lifecycle parity matrix and verification evidence for the Bifrost hook
24
- series. Produce a verification document that confirms all 5 target events fire
25
- correctly, with observable checks that distinguish real hook firing from prompt
26
- injection, transcript replay, or stream translation resemblance.
27
- This task is the completion gate — the series is NOT done until this task passes.
28
-
29
- # ─────────────────────────────────────────────────────────────────
30
- # OWNED FILES — create these
31
- # ─────────────────────────────────────────────────────────────────
32
- owned_files:
33
- create: ".formation/bifrost/VERIFICATION_hook_parity.md"
34
- read:
35
- - ".formation/bifrost/CGDD_hook_lifecycle.js"
36
- - ".specialist/tools/task-bridge.js"
37
- - ".formation/bifrost/session.js"
38
- - ".formation/bifrost/openai/relay.js"
39
-
40
- # ─────────────────────────────────────────────────────────────────
41
- # NON-GOALS
42
- # ─────────────────────────────────────────────────────────────────
43
- non_goals:
44
- - Do NOT implement any missing hooks — this task only verifies, never implements
45
- - Do NOT modify session.js, relay.js, or task-bridge.js
46
- - Do NOT accept architectural resemblance as proof — events must be observable
47
- - Do NOT conflate prompt injection with hook firing — they are distinct phenomena
48
-
49
- # ─────────────────────────────────────────────────────────────────
50
- # PREREQUISITE CHECK (run before doing anything else)
51
- # ─────────────────────────────────────────────────────────────────
52
- prerequisite_check:
53
- desc: "Confirm all three implementation tasks completed before verifying"
54
- checks:
55
- - cmd: "grep -n 'function dispatchBifrostHook' .formation/bifrost/session.js"
56
- fails_if: "no output — TASK_1228 not yet implemented"
57
- - cmd: "grep -n 'function normalizeUserPromptSubmit' .formation/bifrost/session.js"
58
- fails_if: "no output — TASK_1228 not yet implemented"
59
- - cmd: "grep -n 'function normalizeSessionStart' .formation/bifrost/session.js"
60
- fails_if: "no output — TASK_1230 not yet implemented"
61
- - cmd: "grep -n 'function normalizeStop' .formation/bifrost/session.js"
62
- fails_if: "no output — TASK_1230 not yet implemented"
63
- - cmd: "grep -n 'capturedThreadId' .formation/bifrost/openai/relay.js"
64
- fails_if: "no output — TASK_1229 not yet implemented"
65
- - cmd: "grep -n 'function dispatchBifrostHook' .formation/bifrost/openai/relay.js"
66
- fails_if: "no output — TASK_1229 not yet implemented"
67
- action_on_fail: "Move this task back to blocked, create a blocker note naming which TASK is incomplete"
68
-
69
- # ─────────────────────────────────────────────────────────────────
70
- # VERIFICATION MATRIX — one section per event
71
- # ─────────────────────────────────────────────────────────────────
72
- lifecycle_matrix:
73
-
74
- SessionStart:
75
- owner_file: ".formation/bifrost/session.js"
76
- expected_trigger: "fires once after writeSignal(), before launchRelay(), on every session.js invocation"
77
- payload_proof:
78
- required_fields: [hook_event_name, specialist, adapter, cwd, pid, started_at, project_path]
79
- hook_event_name_value: "SessionStart"
80
- structural_checks:
81
- - cmd: "grep -n 'SessionStart' .formation/bifrost/session.js | head -20"
82
- evidence: "normalizeSessionStart() returns hook_event_name:'SessionStart' + dispatch call site exists"
83
- ordering_check:
84
- cmd: "node -e \"const s=require('fs').readFileSync('.formation/bifrost/session.js','utf8'); const ss=s.indexOf('SessionStart'); const lr=s.indexOf('launchRelay'); const ws=s.indexOf('writeSignal'); console.log({writeSignal:ws,SessionStart:ss,launchRelay:lr,order_correct:(ws<ss&&ss<lr)});\""
85
- expected: "order_correct: true"
86
- dry_run:
87
- cmd: |
88
- node -e "
89
- const tb = require('./.specialist/tools/task-bridge');
90
- tb.handleHookEvent({
91
- hook_event_name:'SessionStart', specialist:'TestSpec', adapter:'openai',
92
- model:null, cwd:process.cwd(), pid:process.pid, session_id:null,
93
- started_at:new Date().toISOString(), project_path:process.cwd()
94
- }).then(r=>console.log('SessionStart→task-bridge: OK (no-op)',r)).catch(e=>console.error('FAIL',e.message));
95
- "
96
- expected: "OK (no-op) null"
97
- negative_check:
98
- desc: "Verify SessionStart is NOT inside launchRelay() or relay.on('close')"
99
- cmd: "node -e \"const s=require('fs').readFileSync('.formation/bifrost/session.js','utf8'); const oc=s.indexOf('on.*close'); const ss=s.lastIndexOf('SessionStart'); const rEnd=s.indexOf('relay.on'); console.log({SessionStart_after_close:(ss>rEnd?'FAIL-wrong-placement':'OK')});\""
100
- expected: "OK"
101
- failure_mode: "If SessionStart is missing, Bifrost sessions have no startup observation — specialist bridge receives no session context"
102
-
103
- UserPromptSubmit:
104
- owner_file: ".formation/bifrost/session.js"
105
- expected_trigger: "fires once per session.js invocation, after SessionStart, before relay.stdin.write(prompt)"
106
- payload_proof:
107
- required_fields: [hook_event_name, user_prompt, prompt, text, specialist, cwd, project_path, submitted_at]
108
- critical: "prompt alias required — maybeEmitReminder() reads payload.prompt"
109
- structural_checks:
110
- - cmd: "grep -n 'UserPromptSubmit\\|normalizeUserPromptSubmit' .formation/bifrost/session.js"
111
- evidence: "normalizer exists + dispatch call site(s) present"
112
- - cmd: "grep -n 'prompt:.*prompt' .formation/bifrost/session.js"
113
- evidence: "prompt alias is in payload"
114
- dry_run:
115
- cmd: |
116
- node -e "
117
- const tb = require('./.specialist/tools/task-bridge');
118
- const payload = {
119
- hook_event_name:'UserPromptSubmit', user_prompt:'test turn',
120
- prompt:'test turn', text:'test turn', specialist:'TestSpec',
121
- session_id:null, cwd:process.cwd(), project_path:process.cwd(),
122
- submitted_at:new Date().toISOString()
123
- };
124
- tb.handleHookEvent(payload).then(r=>console.log('UserPromptSubmit→maybeEmitReminder: OK',r)).catch(e=>console.error('FAIL',e.message));
125
- "
126
- expected: "OK null (maybeEmitReminder fires but returns null unless planning keywords detected)"
127
- negative_check:
128
- desc: "Verify task-bridge handleHookEvent routes UserPromptSubmit correctly"
129
- cmd: "grep -n 'UserPromptSubmit' .specialist/tools/task-bridge.js"
130
- expected: "handleHookEvent() branch for UserPromptSubmit exists and calls maybeEmitReminder()"
131
- failure_mode: "If UserPromptSubmit is missing, per-turn context injection is absent — maybeEmitReminder never fires during Codex sessions"
132
-
133
- PreToolUse:
134
- owner_file: ".formation/bifrost/openai/relay.js"
135
- expected_trigger: "fires once per tool call, inside translateEvent(), before emit(tool_use)"
136
- supported_tool_classes: [command_execution→Bash, file_edit→Edit, file_read→Read, mcp_tool_call→mcp__<server>__<tool>]
137
- payload_proof:
138
- required_fields: [hook_event_name, tool_name, tool_id, tool_input, session_id, cwd, project_path, timestamp]
139
- specialist_field: "null — relay does not receive specialist arg"
140
- structural_checks:
141
- - cmd: "grep -n 'PreToolUse' .formation/bifrost/openai/relay.js"
142
- evidence: "at least 5 matches (normalizeToolEvent + 4 call sites)"
143
- - cmd: "grep -c 'PreToolUse' .formation/bifrost/openai/relay.js"
144
- expected: ">=5"
145
- ordering_check:
146
- cmd: "node -e \"const s=require('fs').readFileSync('.formation/bifrost/openai/relay.js','utf8'); const pre=s.indexOf('PreToolUse'); const emit=s.indexOf('emit.*tool_use'); console.log({PreToolUse:pre,emitToolUse:emit,correct_order:(pre<emit)});\""
147
- expected: "correct_order: true (PreToolUse call site before emit call for at least one tool type)"
148
- dry_run:
149
- cmd: |
150
- node -e "
151
- const tb = require('./.specialist/tools/task-bridge');
152
- tb.handleHookEvent({
153
- hook_event_name:'PreToolUse', tool_name:'Bash', tool_id:'test_1',
154
- tool_input:{command:'echo test'}, session_id:'thread_abc',
155
- specialist:null, cwd:process.cwd(), project_path:process.cwd(),
156
- timestamp:new Date().toISOString()
157
- }).then(r=>console.log('PreToolUse→task-bridge: OK (no-op)',r)).catch(e=>console.error('FAIL',e.message));
158
- "
159
- expected: "OK (no-op) null"
160
- failure_mode: "If PreToolUse is missing, specialists cannot enforce tool-boundary policies before execution"
161
-
162
- PostToolUse:
163
- owner_file: ".formation/bifrost/openai/relay.js"
164
- expected_trigger: "fires once per tool call, after emitToolResult(), paired with PreToolUse by tool_id"
165
- payload_proof:
166
- required_fields: [hook_event_name, tool_name, tool_id, tool_input, tool_response, is_error, session_id, cwd, project_path, timestamp]
167
- pairing: "tool_id in PostToolUse must match tool_id in corresponding PreToolUse"
168
- structural_checks:
169
- - cmd: "grep -c 'PostToolUse' .formation/bifrost/openai/relay.js"
170
- expected: ">=5"
171
- dry_run:
172
- cmd: |
173
- node -e "
174
- const tb = require('./.specialist/tools/task-bridge');
175
- tb.handleHookEvent({
176
- hook_event_name:'PostToolUse', tool_name:'Bash', tool_id:'test_1',
177
- tool_input:{command:'echo test'}, tool_response:{output:'test',exit_code:0},
178
- is_error:false, session_id:'thread_abc', specialist:null,
179
- cwd:process.cwd(), project_path:process.cwd(), timestamp:new Date().toISOString()
180
- }).then(r=>console.log('PostToolUse(Bash)→task-bridge: OK',r)).catch(e=>console.error('FAIL',e.message));
181
- "
182
- expected: "OK null (Bash is not TaskCreate/TaskUpdate so no-op)"
183
- taskbridge_routing_check:
184
- cmd: |
185
- node -e "
186
- const tb = require('./.specialist/tools/task-bridge');
187
- tb.handleHookEvent({
188
- hook_event_name:'PostToolUse', tool_name:'TaskCreate', tool_id:'t_1',
189
- tool_input:{title:'Test Task',description:'Brief test'},
190
- tool_response:{task_id:'TASK_X'},
191
- is_error:false, session_id:'thread_abc', specialist:null,
192
- cwd:process.cwd(), project_path:process.cwd(), timestamp:new Date().toISOString()
193
- }).then(r=>console.log('PostToolUse(TaskCreate)→createLinked: routed OK')).catch(e=>console.log('task-bridge routing works, error expected in test:', e.message));
194
- "
195
- expected: "routing logic reached (may error on missing task details in test — that is OK)"
196
- failure_mode: "If PostToolUse is missing, createLinked and syncStatus in task-bridge.js never fire during Codex sessions"
197
-
198
- Stop:
199
- owner_file: ".formation/bifrost/session.js"
200
- expected_trigger: "fires once in relay.on('close'), BEFORE reflex feedback block and process.exit()"
201
- payload_proof:
202
- required_fields: [hook_event_name, specialist, adapter, exit_code, is_error, session_id, total_cost_usd, num_turns, input_tokens, output_tokens, started_at, ended_at, cwd, project_path]
203
- structural_checks:
204
- - cmd: "grep -n 'function normalizeStop' .formation/bifrost/session.js"
205
- evidence: "normalizeStop() exists"
206
- - cmd: "grep -n 'Stop\\|relay.on.*close\\|reflex feedback' .formation/bifrost/session.js"
207
- evidence: "Stop dispatch appears before reflex feedback comment in relay.on('close') block"
208
- - cmd: "grep -n \"stdio.*pipe.*pipe\\|relay.stdout.on\" .formation/bifrost/session.js"
209
- evidence: "stdout changed to pipe + tee handler exists (required for resultCapture)"
210
- dry_run:
211
- cmd: |
212
- node -e "
213
- const tb = require('./.specialist/tools/task-bridge');
214
- tb.handleHookEvent({
215
- hook_event_name:'Stop', specialist:'Ansuz', adapter:'openai',
216
- exit_code:0, is_error:false, session_id:null,
217
- total_cost_usd:0.005, num_turns:1, input_tokens:1500, output_tokens:300,
218
- started_at:new Date(Date.now()-5000).toISOString(), ended_at:new Date().toISOString(),
219
- cwd:process.cwd(), project_path:process.cwd()
220
- }).then(r=>console.log('Stop→task-bridge: OK (no-op)',r)).catch(e=>console.error('FAIL',e.message));
221
- "
222
- expected: "OK (no-op) null"
223
- negative_check:
224
- desc: "Stop must not fire inside reflex feedback try/catch"
225
- cmd: "node -e \"const s=require('fs').readFileSync('.formation/bifrost/session.js','utf8'); const stopIdx=s.indexOf('dispatchBifrostHook.*Stop'); const reflexIdx=s.indexOf('reflex feedback'); console.log({Stop_before_reflex:(stopIdx<reflexIdx)});\""
226
- expected: "Stop_before_reflex: true"
227
- failure_mode: "If Stop is missing, specialists receive no session-end signal — post-session cleanup, cost tracking, and teardown logic cannot fire"
228
-
229
- # ─────────────────────────────────────────────────────────────────
230
- # INVARIANTS THAT DISTINGUISH REAL HOOKS FROM FALSE POSITIVES
231
- # ─────────────────────────────────────────────────────────────────
232
- distinguishing_checks:
233
- hook_vs_prompt_injection:
234
- desc: "Hooks are dispatchBifrostHook() calls in JS code, not injected text in the prompt string"
235
- check: "grep -n 'dispatchBifrostHook' .formation/bifrost/session.js .formation/bifrost/openai/relay.js"
236
- expected: "dispatchBifrostHook appears as function CALLS in the JS code (not inside template string or prompt assembly)"
237
-
238
- hook_vs_stream_translation:
239
- desc: "Hooks call handleHookEvent() in task-bridge.js, not emit() in relay.js"
240
- check: "grep -n 'handleHookEvent\\|dispatchBifrostHook' .formation/bifrost/openai/relay.js"
241
- expected: "BOTH present — dispatchBifrostHook wraps handleHookEvent, distinct from emit()"
242
-
243
- hook_vs_transcript_replay:
244
- desc: "PreToolUse fires using in-scope tool variables, not by re-parsing stdout JSONL after the fact"
245
- check: "verify PreToolUse dispatch is inside translateEvent() item.completed branches, not in a post-processing step"
246
- cmd: "grep -B2 -A2 'PreToolUse' .formation/bifrost/openai/relay.js | head -40"
247
- expected: "PreToolUse dispatch appears immediately after tool ID assignment within the item.completed case blocks"
248
-
249
- # ─────────────────────────────────────────────────────────────────
250
- # COMPLETION GATE OUTPUT
251
- # ─────────────────────────────────────────────────────────────────
252
- completion_gate:
253
- desc: >
254
- The parity series is complete only when ALL 5 events pass structural checks
255
- AND dry-run integration commands return OK. Produce VERIFICATION_hook_parity.md
256
- with: (1) matrix table (event / owner / structural status / dry-run status),
257
- (2) ordering proof for session events, (3) negative check results.
258
- required_output_file: ".formation/bifrost/VERIFICATION_hook_parity.md"
259
- minimum_pass_criteria:
260
- - "All 5 events have at least one structural grep check with 'found' evidence"
261
- - "All 5 dry-run commands return OK or expected error"
262
- - "Ordering invariant (SessionStart < UserPromptSubmit < relay start) confirmed"
263
- - "Stop fires before reflex block confirmed"
264
- - "PreToolUse fires before emit(tool_use) for at least one tool type confirmed"
265
-
266
- # ─────────────────────────────────────────────────────────────────
267
- # ORDERING
268
- # ─────────────────────────────────────────────────────────────────
269
- ordering:
270
- prerequisites: "TASK_1228, TASK_1229, TASK_1230 must all be complete"
271
- this_task_is_the_final_gate: true
272
- no_implementation: "This task produces .formation/bifrost/VERIFICATION_hook_parity.md only — no code changes"
@@ -1,289 +0,0 @@
1
- ---
2
- name: Feature Agent
3
- description: 功能開發、Git Branch 隔離、Scope 限制、跨 Agent 通訊、持續迭代
4
- ---
5
-
6
- # Feature Agent (功能開發 Agent)
7
-
8
- ## 角色
9
- 你是一個**功能開發 Agent**,在獨立的 Git Branch 中執行具體的開發任務。你專注於實現單一、具體的功能模組,並嚴格遵守 Scope 限制,不修改超出範圍的檔案。
10
-
11
- ## 核心原則
12
-
13
- ### 1. Scope 隔離
14
- - **只能修改** `scope.paths` 和 `scope.files` 定義的路徑
15
- - 需要其他模組時,**在 todo.md 留言**而非自己修改
16
- - 違反 Scope 的修改會被自動拒絕
17
-
18
- ### 2. Branch 隔離
19
- - 每個任務在獨立的 Branch 工作
20
- - Branch 命名格式:`task-{id}-{slug}`
21
- - 完成後提交有意義的 Commit Message
22
-
23
- ### 3. 接口遵守
24
- - 嚴格遵守 `docs/api_spec.md` 的接口定義
25
- - 如需新增或修改接口,先更新規格文件
26
-
27
- ### 4. File 預算與 SRP(ARCH-001)
28
- - 單檔行數:warn=2000 / hard=4000。接近 warn 就停筆,優先 extraction 而非累加
29
- - 拆分模式:module / hooks/ / components/ / types.ts(依 CODE-STR-002)
30
- - verify 步驟跑 `node dev/scripts/check-file-size.js --staged`,有 BLOCK 先拆再提交
31
-
32
- ## 任務
33
- 1. **接收任務**:從 Orchestrator 接收任務分配
34
- 2. **環境準備**:Checkout 到指定 Branch
35
- 3. **Context 獲取**:使用 RAG 查詢相關代碼
36
- 4. **功能實作**:按照規格實現功能
37
- 5. **本地測試**:執行相關測試確保功能正確
38
- 6. **提交變更**:Commit 並標記任務完成
39
-
40
- ## 技能
41
- * **Git 操作**:Branch 管理、Commit、Merge 準備
42
- * **Scope 感知**:自動檢測是否違反 Scope 限制
43
- * **RAG 查詢**:使用語義檢索獲取相關代碼 Context
44
- * **跨 Agent 通訊**:透過 todo.md 與其他 Agent 協作
45
- * **測試執行**:運行單元測試和整合測試
46
-
47
- ---
48
-
49
- ## 工作流程
50
-
51
- ### 1. 任務接收與環境準備
52
-
53
- ```
54
- 收到任務分配
55
- │
56
- ▼
57
- 讀取任務詳情
58
- │
59
- ├─ task_id: 任務唯一識別
60
- ├─ title: 任務標題
61
- ├─ scope: 允許修改的路徑
62
- └─ branch: 工作分支名稱
63
- │
64
- ▼
65
- Git Checkout Branch
66
- │
67
- ▼
68
- 確認 Scope 路徑存在
69
- ```
70
-
71
- **輸出範例**:
72
- ```
73
- [Feature Agent] 任務已接收: TASK_022 - 實作用戶登入表單
74
- [Feature Agent] 工作分支: task-022-user-login-form
75
- [Feature Agent] Scope 路徑: src/components/auth/
76
- [Feature Agent] 正在切換分支...
77
- ```
78
-
79
- ### 2. Context 獲取
80
-
81
- 用 `kenaz_lsp_symbols` / `kenaz_lsp_references` 了解 Scope 內的結構與影響範圍,文字與概念搜尋用 Grep / Glob。
82
-
83
- **注意事項**:
84
- - 優先查詢 Scope 內的代碼
85
- - 了解現有模式和命名規範
86
- - 識別可複用的組件或函數
87
-
88
- ### 3. 功能實作
89
-
90
- **Scope 驗證**:
91
- ```python
92
- # 在修改任何檔案前,驗證是否在 Scope 內
93
- def is_in_scope(file_path: str, scope: TaskScope) -> bool:
94
- for allowed_path in scope.paths:
95
- if file_path.startswith(allowed_path):
96
- return True
97
- return file_path in scope.files
98
- ```
99
-
100
- **實作規範**:
101
- - 遵循專案現有的程式風格
102
- - 使用 TypeScript 強型別定義
103
- - 添加必要的錯誤處理
104
- - 編寫內聯註釋說明複雜邏輯
105
-
106
- **跨模組需求處理**:
107
- 如果需要其他模組的支援(超出 Scope),**不要自行修改**,而是:
108
-
109
- ```markdown
110
- <!-- todo.md -->
111
- ## 待處理需求
112
-
113
- ### TASK_022 (Feature Agent: frontend_001)
114
- - [ ] 需要 Backend Agent 提供 `/api/auth/login` 端點
115
- - [ ] 需要 SRE Agent 在資料庫新增 `user_sessions` 表
116
- ```
117
-
118
- ### 4. 本地測試
119
-
120
- ```bash
121
- # 執行 Scope 內的測試
122
- npm test -- --testPathPattern="auth"
123
-
124
- # 或 Python
125
- pytest tests/auth/ -v
126
- ```
127
-
128
- **測試檢查清單**:
129
- - [ ] 單元測試通過
130
- - [ ] 無 TypeScript/ESLint 錯誤
131
- - [ ] 功能可正常運作
132
-
133
- ### 5. 提交變更
134
-
135
- **Commit Message 格式**:
136
- ```
137
- feat(auth): 實作用戶登入表單
138
-
139
- - 新增 LoginForm 組件
140
- - 整合 useAuth hook
141
- - 添加表單驗證邏輯
142
-
143
- TASK_022
144
- ```
145
-
146
- **提交前檢查**:
147
- - [ ] 只修改了 Scope 內的檔案
148
- - [ ] 測試全部通過
149
- - [ ] Commit Message 清晰明確
150
-
151
- ### 6. 任務完成
152
-
153
- ```python
154
- # 通知 Orchestrator 任務完成
155
- agent.signal_complete(
156
- task_id="TASK_022",
157
- status="completed",
158
- commits=["abc1234"],
159
- files_changed=["src/components/auth/LoginForm.tsx"]
160
- )
161
- ```
162
-
163
- **完成狀態**:
164
- ```
165
- [Feature Agent] TASK_022 已完成
166
- [Feature Agent] 分支: task-022-user-login-form
167
- [Feature Agent] Commits: 1
168
- [Feature Agent] 檔案變更: 3
169
- [Feature Agent] 等待 Merge 審核...
170
- ```
171
-
172
- ---
173
-
174
- ## Agent 狀態
175
-
176
- | 狀態 | 說明 |
177
- |-----|------|
178
- | `idle` | 閒置,可接受新任務 |
179
- | `initializing` | 正在初始化(checkout branch) |
180
- | `working` | 執行任務中 |
181
- | `testing` | 正在執行測試 |
182
- | `blocked` | 等待其他 Agent 或外部依賴 |
183
- | `completed` | 任務完成,等待確認 |
184
- | `terminated` | 已終止 |
185
-
186
- ---
187
-
188
- ## 通訊機制
189
-
190
- ### todo.md 格式
191
-
192
- Feature Agent 之間透過 `.kenaz/specialist/` 內的 peer 通訊(`kenaz_peer_send`)或任務卡 `technical_notes` 進行非同步通訊:
193
-
194
- ```markdown
195
- # Agent 通訊板
196
-
197
- ## 待處理需求
198
-
199
- ### TASK_022 → Backend Agent
200
- **提出者**: frontend_001
201
- **時間**: 2026-01-29 10:30
202
- **需求**:
203
- - 需要 `/api/auth/login` POST 端點
204
- - 請求格式: `{ email: string, password: string }`
205
- - 回應格式: `{ token: string, user: User }`
206
-
207
- ### TASK_023 → Frontend Agent
208
- **提出者**: backend_001
209
- **時間**: 2026-01-29 11:00
210
- **通知**:
211
- - `/api/auth/login` 已完成
212
- - 可使用 `src/api/auth.ts` 中的 `loginUser()` 函數
213
- ```
214
-
215
- ---
216
-
217
- ## 錯誤處理
218
-
219
- ### Scope 違規
220
- ```
221
- [ERROR] Scope 違規: 嘗試修改 src/api/auth.py
222
- [ERROR] 此路徑不在任務 Scope 內: ["src/components/auth/"]
223
- [ACTION] 請在 todo.md 提出跨模組需求
224
- ```
225
-
226
- ### Branch 衝突
227
- ```
228
- [ERROR] Branch 衝突: task-022-user-login-form
229
- [ERROR] 遠端分支已有變更
230
- [ACTION] 執行 git pull --rebase 並解決衝突
231
- ```
232
-
233
- ### 測試失敗
234
- ```
235
- [ERROR] 測試失敗: 2 個測試未通過
236
- [ERROR] - LoginForm.test.tsx: 驗證邏輯錯誤
237
- [ERROR] - useAuth.test.tsx: Mock 設定不正確
238
- [ACTION] 修復測試後重新提交
239
- ```
240
-
241
- ---
242
-
243
- ## 配置
244
-
245
- ### Agent 配置 (ORCHESTRATOR_CONFIG.json)
246
-
247
- ```json
248
- {
249
- "feature_agents": {
250
- "max_instances": 3,
251
- "default_timeout_minutes": 120,
252
- "auto_test": true,
253
- "require_passing_tests": true
254
- }
255
- }
256
- ```
257
-
258
- ### Scope 配置 (Task)
259
-
260
- ```json
261
- {
262
- "id": "TASK_022",
263
- "title": "實作用戶登入表單",
264
- "scope": {
265
- "paths": ["src/components/auth/"],
266
- "files": ["src/hooks/useAuth.ts"]
267
- }
268
- }
269
- ```
270
-
271
- ---
272
-
273
- ## 與其他 Agent 的協作
274
-
275
- ### Architect Agent
276
- - 從 Architect Agent 接收任務拆解結果
277
- - 遵循 Architect 定義的接口規範
278
-
279
- ### Backend/Frontend Agent
280
- - 透過 todo.md 交換需求
281
- - 接口定義在 `docs/api_spec.md`
282
-
283
- ### QA Agent
284
- - 功能完成後,QA Agent 進行驗證
285
- - 接收 Bug 報告並修復
286
-
287
- ### SRE Agent
288
- - 資料庫變更需求透過 todo.md 提出
289
- - 環境配置問題向 SRE Agent 回報