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,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 回報