kenaz 0.3.22 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/core/.claude/hooks/_user-scope.js +1 -1
  2. package/core/.claude/hooks/core-resolve.js +1 -1
  3. package/core/.claude/hooks/worktree-create.js +11 -29
  4. package/core/.claude/hooks/worktree-remove.js +12 -38
  5. package/core/.collaboration/core/reconcile.js +16 -1
  6. package/core/.collaboration/core/task-2467-lifecycle.test.js +63 -0
  7. package/core/.collaboration/core/task-api.js +37 -7
  8. package/core/.formation/bifrost/launch.js +1 -1
  9. package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +6 -1
  10. package/core/.formation/tools/kenaz-stats.js +1 -1
  11. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  12. package/core/.formation/tools/prompt.js +1 -1
  13. package/core/.formation/tools/utils.js +5 -5
  14. package/core/.formation/tools/worktree-reclaim.js +73 -2
  15. package/core/.formation/tools/worktree-reclaim.test.js +113 -0
  16. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  17. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  18. package/core/.rule/general/project-self-containment.yaml +2 -2
  19. package/core/.specialist/Amelia/README.md +1 -1
  20. package/core/.specialist/Amelia/rule.yaml +1 -1
  21. package/core/.specialist/Ansuz/RULES.md +6 -2
  22. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  23. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  24. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  25. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  26. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  27. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  28. package/core/.specialist/tools/failure-detector.js +4 -4
  29. package/core/.specialist/tools/handoff-doc.js +1 -1
  30. package/core/.specialist/tools/lessons.js +2 -2
  31. package/core/CLAUDE.md +5 -5
  32. package/core/KENAZ_CORE_VERSION +1 -1
  33. package/core/dashboard/scripts/install-kenaz-cli.js +56 -30
  34. package/core/dev/scripts/check-file-size.js +1 -1
  35. package/core/dev/scripts/ci-feedback.js +1 -1
  36. package/core/dev/scripts/gc-agent-worktrees.js +13 -12
  37. package/core/dev/scripts/kenaz-session.js +3 -3
  38. package/core/dev/scripts/peer-identity-e2e.js +6 -4
  39. package/core/dev/scripts/run-rust-tests.js +2 -2
  40. package/core/dev/scripts/skill-routing-replay.js +3 -3
  41. package/core/dev/scripts/task1961/selftest.js +2 -2
  42. package/core/dev/scripts/windows-hide-guard.test.js +112 -0
  43. package/core/plugins/kenaz/guidance.md +1 -0
  44. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  45. package/core/plugins/kenaz/hooks/hooks.json +9 -0
  46. package/core/plugins/kenaz/hooks/kenaz-hook.js +58 -4
  47. package/core/plugins/kenaz/hooks/worktree-guard.js +121 -0
  48. package/core/plugins/kenaz/hooks/worktree-guard.test.js +75 -0
  49. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  50. package/core/plugins/kenaz-peer/hooks/register.test.ts +14 -2
  51. package/core/plugins/kenaz-peer/hooks/register.ts +6 -1
  52. package/lib/cli.js +9 -5
  53. package/package.json +6 -6
  54. package/vendor/install-kenaz-cli.js +56 -30
  55. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  56. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  57. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  58. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  59. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  60. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  61. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  62. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  63. package/core/.kenaz/main-memory/README.md +0 -230
  64. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  65. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  66. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  67. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  68. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  69. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  70. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  71. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  72. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  73. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  74. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  75. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  76. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  77. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  78. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  79. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  80. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  81. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  82. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  83. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  84. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  85. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  86. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  87. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  88. package/core/.kenaz/main-memory/registry.json +0 -326
  89. package/core/.kenaz/main-memory/version.yaml +0 -58
  90. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  91. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  92. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  93. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  94. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  95. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  96. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  97. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  98. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  99. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  100. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  101. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  102. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  103. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  104. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  105. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  106. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  107. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  108. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  109. package/core/.kenaz/specialist/task1825_update.json +0 -43
  110. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  111. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  112. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  113. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  114. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  115. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  116. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  117. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  118. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  119. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  120. package/core/.specialist/ansuz_session_handoff.json +0 -96
  121. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  122. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  123. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  124. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  125. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  126. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  127. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  128. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  129. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  130. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  131. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  132. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  133. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  134. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  135. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  136. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  137. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  138. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  139. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  140. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  141. package/core/dev/PRODUCT_SPEC.md +0 -317
  142. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  143. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  144. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  145. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  146. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  147. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  148. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  149. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  150. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  151. package/core/dev/ansuz-eval/README.md +0 -38
  152. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  153. package/core/dev/ansuz-eval/grade.js +0 -96
  154. package/core/dev/ansuz-eval/grader.test.js +0 -117
  155. package/core/dev/ansuz-eval/tasks.md +0 -32
  156. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  157. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  158. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  159. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  160. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  161. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  162. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  163. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  164. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  165. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  166. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  167. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  168. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  169. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  170. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  171. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  172. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  173. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  174. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  175. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  176. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  177. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  178. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  179. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  180. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  181. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  182. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  183. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  184. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  185. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  186. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  187. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  188. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  189. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  190. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  191. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  192. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  193. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  194. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  195. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  196. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  197. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  198. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  199. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  200. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  201. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  202. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  203. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  204. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  205. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  206. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  207. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  208. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  209. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  210. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  211. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  212. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  213. package/core/dev/jev-eval/README.md +0 -101
  214. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  215. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  216. package/core/dev/jev-eval/cli.mjs +0 -50
  217. package/core/dev/jev-eval/context.mjs +0 -183
  218. package/core/dev/jev-eval/corpus.mjs +0 -186
  219. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  220. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  221. package/core/dev/jev-eval/metrics.mjs +0 -67
  222. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  223. package/core/dev/jev-eval/providers.mjs +0 -95
  224. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  225. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  226. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  227. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  228. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  229. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  230. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  231. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  232. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  233. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  234. package/core/dev/jev-eval/resilience.mjs +0 -71
  235. package/core/dev/jev-eval/review.mjs +0 -78
  236. package/core/dev/jev-eval/schema.mjs +0 -87
  237. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  238. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  239. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  240. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  241. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  242. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  243. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  244. package/core/dev/pipeline/PROGRESS.md +0 -113
  245. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  246. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  247. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  248. package/core/dev/pipeline/README.md +0 -210
  249. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  250. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  251. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  252. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  253. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  254. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  255. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  256. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  257. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  258. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  259. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  260. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  261. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  262. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  263. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  264. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  265. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  266. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  267. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  268. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  269. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  270. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  271. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  272. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  273. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  274. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  275. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  276. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  277. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  278. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  279. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  280. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  281. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  282. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  283. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  284. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  285. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  286. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  287. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  288. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  289. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  290. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  291. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  292. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  293. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  294. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  295. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  296. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  297. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  298. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  299. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  300. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  301. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  302. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  303. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  304. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  305. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  306. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  307. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  308. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  309. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  310. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  311. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  312. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  313. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  314. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  315. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  316. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  317. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  318. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  319. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  320. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  321. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  322. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  323. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  324. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  325. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  326. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  327. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  328. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  329. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  330. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  331. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  332. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  333. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  334. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  335. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  336. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  337. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  338. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  339. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  340. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  341. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  342. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  343. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  344. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  345. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  346. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  347. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  348. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  349. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  350. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  351. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  352. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  353. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  354. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  355. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  356. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  357. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  358. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  359. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  360. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  361. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  362. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  363. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  364. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  365. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  366. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  367. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  368. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  369. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  370. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  371. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  372. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  373. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  374. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  375. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  376. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  377. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  378. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  379. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  380. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  381. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  382. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  383. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  384. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  385. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  386. package/core/dev/pipeline/docs/overview.md +0 -406
  387. package/core/dev/pipeline/docs/task-management.md +0 -412
  388. package/core/dev/pipeline/docs/workflows.md +0 -32
  389. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  390. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  391. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  392. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  393. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  394. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  395. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  396. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  397. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  398. package/core/dev/scripts/README.md +0 -142
  399. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  400. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  401. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  402. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  403. package/core/dev/scripts/init_git.ps1 +0 -396
  404. package/core/dev/scripts/init_git.sh +0 -337
  405. package/core/dev/scripts/init_project.ps1 +0 -851
  406. package/core/dev/scripts/init_project.sh +0 -477
  407. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  408. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  409. package/core/dev/scripts/run_once.sh +0 -47
  410. package/core/dev/scripts/setup_rag.ps1 +0 -304
  411. package/core/dev/scripts/setup_rag.sh +0 -230
  412. package/core/dev/scripts/start_dev_agent.sh +0 -137
  413. package/core/dev/scripts/start_multi_agent.sh +0 -41
  414. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  415. package/core/dev/scripts/sync_task_queue.sh +0 -392
  416. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  417. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  418. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  419. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  420. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  421. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  422. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  423. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  424. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-empty-prompt-no-first-turn.md +0 -77
  425. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  426. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  427. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  428. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  429. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  430. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  431. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  432. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  433. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  434. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  435. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  436. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  437. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  438. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  439. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  440. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  441. package/core/dev/specs/agent-connect/history/README.md +0 -47
  442. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  443. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  444. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  445. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  446. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  447. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  448. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  449. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  450. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  451. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  452. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  453. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  454. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  455. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  456. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  457. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  458. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  459. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  460. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  461. package/core/dev/spikes/bloat-rounds.sh +0 -25
  462. package/core/dev/spikes/mods/clean-claude.js +0 -9
  463. package/core/dev/spikes/mods/drive-probe.js +0 -29
  464. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  465. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  466. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  467. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  468. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  469. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  470. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  471. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  472. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  473. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  474. package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
@@ -1,403 +0,0 @@
1
- id: TASK_101
2
- title: .team 協調系統核心模組實作
3
- description: |
4
- 完成 .team 協調系統的完整實作,包含權限管理、檔案鎖定、衝突解決、訊息通訊、工作流引擎等核心模組。
5
- 該系統將支援多 Agent 並行開發,確保任務分配、檔案存取、權限驗證、通訊協調的完整功能。
6
-
7
- priority: P0
8
- status: pending
9
- agent_type: backend_engineer
10
- source: Product Manager Team
11
- created_at: "2026-02-06"
12
- updated_at: "2026-02-06"
13
-
14
- requirements:
15
- - id: REQ_101_001
16
- title: 權限管理器實作
17
- description: |
18
- 實作 permission_manager.py,根據 .team/scope_matrix.yaml 進行權限驗證。
19
- - 支援角色級別權限檢查(reader, editor, admin)
20
- - 支援路徑級別的細粒度權限(repository, file, directory)
21
- - 支援臨時權限授予與撤銷
22
- - 支援權限快取與失效機制
23
- acceptance:
24
- - 能夠根據角色驗證權限
25
- - 能夠根據路徑進行細粒度控制
26
- - 能夠支援權限繼承
27
- - 性能: <50ms 單次驗證
28
-
29
- - id: REQ_101_002
30
- title: 檔案鎖定機制實作
31
- description: |
32
- 實作 lock_manager.py,提供檔案級別的鎖定機制。
33
- - 支援 read lock(多個 Agent 同時讀取)
34
- - 支援 write lock(排他性寫入)
35
- - 支援 lock escalation(讀鎖升級為寫鎖)
36
- - 支援 deadlock detection 與 timeout 機制
37
- - 支援 first-come-first-served 優先級
38
- acceptance:
39
- - 能夠建立和釋放讀寫鎖
40
- - 能夠檢測死鎖並自動超時
41
- - 能夠記錄鎖定履歷
42
- - 性能: <100ms 鎖定/解鎖操作
43
-
44
- - id: REQ_101_003
45
- title: 衝突解決器實作
46
- description: |
47
- 實作 conflict_resolver.py,支援多種衝突解決策略。
48
- - 支援 merge conflict 自動解決(3-way merge)
49
- - 支援 version conflict 檢測與解決
50
- - 支援 dependency conflict 分析
51
- - 支援衝突報告與人工干預
52
- - 支援回滾與版本恢復
53
- acceptance:
54
- - 能夠檢測並報告衝突
55
- - 能夠自動合併無衝突的變更
56
- - 能夠記錄衝突解決過程
57
- - 能夠支援人工審查模式
58
-
59
- - id: REQ_101_004
60
- title: 訊息佇列實作
61
- description: |
62
- 實作 message_queue.py,支援 Agent 之間的非同步通訊。
63
- - 支援 pub/sub 消息模式
64
- - 支援優先級佇列(P0-P3)
65
- - 支援消息確認機制(ACK/NACK)
66
- - 支援消息持久化(SQLite)
67
- - 支援消息重試機制
68
- acceptance:
69
- - 能夠發送和接收消息
70
- - 能夠按優先級處理消息
71
- - 能夠持久化未處理消息
72
- - 吞吐量: >100 消息/秒
73
-
74
- - id: REQ_101_005
75
- title: 工作流引擎實作
76
- description: |
77
- 實作 workflow_engine.py,支援複雜工作流定義與執行。
78
- - 支援 YAML 工作流定義(DAG 格式)
79
- - 支援任務依賴關係解析
80
- - 支援並行、順序、條件執行
81
- - 支援任務狀態追蹤
82
- - 支援工作流暫停、恢復、取消
83
- - 支援失敗回復與重試
84
- acceptance:
85
- - 能夠解析 YAML 工作流定義
86
- - 能夠執行 DAG 任務圖
87
- - 能夠支援並行執行
88
- - 能夠追蹤任務狀態
89
-
90
- acceptance_criteria:
91
- - id: AC_101_001
92
- criterion: |
93
- 權限管理器能夠在 <50ms 內完成單次權限驗證,支援 3 種權限級別和路徑級別細粒度控制
94
- validation: |
95
- 運行性能測試:
96
- ```bash
97
- python -m pytest .team/tests/test_permission_manager.py::test_performance -v
98
- ```
99
- 結果要求: 平均延遲 <50ms,無超時
100
-
101
- - id: AC_101_002
102
- criterion: |
103
- 檔案鎖定機制能夠正確處理讀寫鎖、死鎖偵測、超時機制,並支援 first-come-first-served 優先級
104
- validation: |
105
- 運行並發測試:
106
- ```bash
107
- python -m pytest .team/tests/test_lock_manager.py -v
108
- ```
109
- 所有併發測試必須通過,包括死鎖偵測和超時恢復
110
-
111
- - id: AC_101_003
112
- criterion: |
113
- 衝突解決器能夠檢測多種衝突類型,自動解決無衝突變更,並支援人工審查
114
- validation: |
115
- 運行衝突解決測試:
116
- ```bash
117
- python -m pytest .team/tests/test_conflict_resolver.py -v
118
- ```
119
- 所有衝突類型測試必須通過
120
-
121
- - id: AC_101_004
122
- criterion: |
123
- 訊息佇列能夠支援 >100 消息/秒吞吐量,正確實現優先級和消息持久化
124
- validation: |
125
- 運行性能和功能測試:
126
- ```bash
127
- python -m pytest .team/tests/test_message_queue.py -v
128
- pytest .team/tests/test_message_queue.py::test_throughput -v
129
- ```
130
- 吞吐量測試結果必須 >100 消息/秒
131
-
132
- - id: AC_101_005
133
- criterion: |
134
- 工作流引擎能夠正確解析 YAML 工作流定義,執行 DAG 任務圖,支援並行和條件執行
135
- validation: |
136
- 運行工作流測試:
137
- ```bash
138
- python -m pytest .team/tests/test_workflow_engine.py -v
139
- ```
140
- 所有工作流測試必須通過,包括並行執行和條件分支
141
-
142
- - id: AC_101_006
143
- criterion: |
144
- 整個協調系統必須包含完整的文檔、類型提示、錯誤處理和日誌記錄
145
- validation: |
146
- - 所有模組必須有 docstring 和類型提示
147
- - 運行類型檢查:`mypy .team/orchestrator/ --strict`
148
- - 代碼覆蓋率 >=85%:`pytest --cov=.team/orchestrator`
149
-
150
- technical_notes: |
151
- ## Python 實作架構
152
-
153
- ### 1. 權限管理器 (permission_manager.py)
154
- ```python
155
- class PermissionManager:
156
- def __init__(self, scope_matrix_path: str):
157
- self.scope_matrix = self._load_scope_matrix(scope_matrix_path)
158
- self.cache = TTLCache(maxsize=1000, ttl=300)
159
-
160
- def check_permission(self, agent_id: str, action: str, resource: str) -> bool:
161
- # 1. 檢查緩存
162
- # 2. 查詢 scope_matrix
163
- # 3. 評估角色和路徑權限
164
- # 4. 更新緩存
165
- pass
166
-
167
- def grant_temp_permission(self, agent_id: str, resource: str, duration: int):
168
- # 授予臨時權限(用於特定任務)
169
- pass
170
- ```
171
-
172
- ### 2. 檔案鎖定管理器 (lock_manager.py)
173
- ```python
174
- class LockManager:
175
- def __init__(self, db_path: str = ".team/locks.db"):
176
- self.db = sqlite3.connect(db_path)
177
- self.locks = {} # {resource: LockInfo}
178
-
179
- def acquire_lock(self, resource: str, agent_id: str, lock_type: str, timeout: int = 300) -> LockToken:
180
- # 1. 檢查 first-come-first-served 佇列
181
- # 2. 驗證權限
182
- # 3. 建立鎖定
183
- # 4. 設置超時機制
184
- pass
185
-
186
- def detect_deadlock(self) -> List[str]:
187
- # 使用 DFS 或 Tarjan 算法檢測循環依賴
188
- pass
189
- ```
190
-
191
- ### 3. 衝突解決器 (conflict_resolver.py)
192
- ```python
193
- class ConflictResolver:
194
- def resolve_merge_conflict(self, base: str, ours: str, theirs: str) -> Tuple[str, ConflictReport]:
195
- # 執行 3-way merge
196
- # 1. 標記衝突區塊
197
- # 2. 嘗試自動合併
198
- # 3. 回報無法自動解決的衝突
199
- pass
200
-
201
- def resolve_version_conflict(self, versions: List[Version]) -> Version:
202
- # 版本衝突解決策略
203
- # 1. 比較版本号
204
- # 2. 檢查依賴關係
205
- # 3. 選擇最新相容版本
206
- pass
207
- ```
208
-
209
- ### 4. 訊息佇列 (message_queue.py)
210
- ```python
211
- class MessageQueue:
212
- def __init__(self, db_path: str = ".team/messages.db"):
213
- self.db = sqlite3.connect(db_path)
214
- self.subscribers = defaultdict(list)
215
-
216
- def publish(self, topic: str, message: Dict, priority: int = 1) -> str:
217
- # 發布消息到佇列
218
- # 1. 序列化消息
219
- # 2. 存入資料庫
220
- # 3. 通知訂閱者
221
- pass
222
-
223
- def subscribe(self, topic: str, handler: Callable) -> Subscription:
224
- # 訂閱特定主題
225
- pass
226
- ```
227
-
228
- ### 5. 工作流引擎 (workflow_engine.py)
229
- ```python
230
- class WorkflowEngine:
231
- def __init__(self, workflow_dir: str = ".team/workflows"):
232
- self.workflow_dir = workflow_dir
233
- self.executor = ThreadPoolExecutor()
234
-
235
- def load_workflow(self, workflow_file: str) -> WorkflowDAG:
236
- # 解析 YAML 工作流定義
237
- pass
238
-
239
- def execute(self, workflow: WorkflowDAG, context: Dict) -> ExecutionResult:
240
- # 執行工作流
241
- # 1. 解析依賴關係
242
- # 2. 排定執行順序
243
- # 3. 並行執行無依賴任務
244
- # 4. 追蹤狀態
245
- pass
246
- ```
247
-
248
- ## 數據模型
249
-
250
- ### Lock 數據結構
251
- ```yaml
252
- lock:
253
- resource: string # 被鎖定的資源路徑
254
- agent_id: string # 擁有鎖的 Agent ID
255
- lock_type: enum # read | write | exclusive
256
- acquired_at: timestamp
257
- expires_at: timestamp
258
- token: uuid # 鎖定憑證
259
- ```
260
-
261
- ### Message 數據結構
262
- ```yaml
263
- message:
264
- id: uuid
265
- topic: string
266
- sender: string
267
- payload: object
268
- priority: int # 0-3 (P0 最高)
269
- status: enum # pending | sent | acknowledged | failed
270
- created_at: timestamp
271
- retry_count: int
272
- ```
273
-
274
- ### Workflow 數據結構
275
- ```yaml
276
- workflow:
277
- name: string
278
- tasks:
279
- - id: string
280
- type: enum # task | branch | parallel
281
- depends_on: list # 依賴的任務 ID
282
- execute: string # 命令或 Python 函數
283
- timeout: int
284
- retry: int
285
- triggers: # 觸發條件
286
- - type: enum # scheduled | event | manual
287
- condition: string
288
- ```
289
-
290
- ## 依賴關係
291
- - `permission_manager.py` - 被其他模組調用以驗證權限
292
- - `lock_manager.py` - 被 workflow_engine.py 和外部 API 調用
293
- - `message_queue.py` - 支援 Agent 間通訊
294
- - `conflict_resolver.py` - 被 workflow_engine.py 在合併變更時調用
295
- - `workflow_engine.py` - 最高層級,調用其他模組
296
-
297
- ## 測試策略
298
- 1. 單元測試 - 各模組獨立測試
299
- 2. 整合測試 - 模組間協作測試
300
- 3. 性能測試 - 並發、吞吐量、延遲
301
- 4. 壓力測試 - 極限情況、死鎖、超時
302
- 5. 回歸測試 - 確保修改不破壞現有功能
303
-
304
- ## 部署考慮
305
- - 使用 SQLite 作為本地持久化存儲(支援多進程訪問)
306
- - 使用 threading/asyncio 實現並發
307
- - 使用 Python logging 進行詳細日誌記錄
308
- - 使用 pydantic 進行數據驗證
309
- - 考慮使用 APScheduler 實現定時任務和超時機制
310
-
311
- dependencies:
312
- - .team/scope_matrix.yaml
313
- - .team/orchestrator/
314
- - .team/tests/
315
-
316
- estimated_hours: 40
317
- complexity: high
318
- tags:
319
- - orchestrator
320
- - coordination
321
- - multi-agent
322
- - backend
323
- - python
324
- - core-system
325
-
326
- subtasks:
327
- - id: SUBTASK_101_001
328
- title: 設計系統架構和數據模型
329
- status: pending
330
- estimated_hours: 3
331
-
332
- - id: SUBTASK_101_002
333
- title: 實作權限管理器
334
- status: pending
335
- estimated_hours: 8
336
- depends_on: [SUBTASK_101_001]
337
-
338
- - id: SUBTASK_101_003
339
- title: 實作檔案鎖定管理器
340
- status: pending
341
- estimated_hours: 10
342
- depends_on: [SUBTASK_101_001]
343
-
344
- - id: SUBTASK_101_004
345
- title: 實作衝突解決器
346
- status: pending
347
- estimated_hours: 8
348
- depends_on: [SUBTASK_101_001]
349
-
350
- - id: SUBTASK_101_005
351
- title: 實作訊息佇列系統
352
- status: pending
353
- estimated_hours: 8
354
- depends_on: [SUBTASK_101_001]
355
-
356
- - id: SUBTASK_101_006
357
- title: 實作工作流引擎
358
- status: pending
359
- estimated_hours: 12
360
- depends_on: [SUBTASK_101_001, SUBTASK_101_002, SUBTASK_101_003, SUBTASK_101_004]
361
-
362
- - id: SUBTASK_101_007
363
- title: 編寫完整測試套件
364
- status: pending
365
- estimated_hours: 12
366
- depends_on: [SUBTASK_101_002, SUBTASK_101_003, SUBTASK_101_004, SUBTASK_101_005, SUBTASK_101_006]
367
-
368
- - id: SUBTASK_101_008
369
- title: 文檔與類型檢查
370
- status: pending
371
- estimated_hours: 4
372
- depends_on: [SUBTASK_101_007]
373
-
374
- deliverables:
375
- - .team/orchestrator/permission_manager.py
376
- - .team/orchestrator/lock_manager.py
377
- - .team/orchestrator/conflict_resolver.py
378
- - .team/orchestrator/message_queue.py
379
- - .team/orchestrator/workflow_engine.py
380
- - .team/orchestrator/__init__.py
381
- - .team/orchestrator/models.py (數據模型)
382
- - .team/orchestrator/exceptions.py (自定義異常)
383
- - .team/tests/test_permission_manager.py
384
- - .team/tests/test_lock_manager.py
385
- - .team/tests/test_conflict_resolver.py
386
- - .team/tests/test_message_queue.py
387
- - .team/tests/test_workflow_engine.py
388
- - .team/docs/ORCHESTRATOR_GUIDE.md
389
- - .team/docs/API_REFERENCE.md
390
-
391
- notes: |
392
- 此任務是 .team 協調系統的核心實作,完成後將支援多 Agent 並行開發的完整協調功能。
393
-
394
- 關鍵里程碑:
395
- 1. 第 1 週 - 架構設計 + 權限/鎖定管理器
396
- 2. 第 2 週 - 衝突解決器 + 訊息佇列
397
- 3. 第 3 週 - 工作流引擎 + 完整測試
398
- 4. 第 4 週 - 優化 + 文檔完善 + 部署準備
399
-
400
- 風險項目:
401
- - 死鎖檢測的複雜性 - 需要仔細的圖論算法實作
402
- - 並發性能 - 需要大量性能測試和優化
403
- - 數據一致性 - SQLite 多進程訪問需要正確的鎖定策略
@@ -1,90 +0,0 @@
1
- # TASK_102: Designer Team & SRE Team 建立
2
- # Schema: dev/schemas/TASK.schema.json
3
-
4
- id: "TASK_102"
5
- title: "Designer Team & SRE Team 建立"
6
- description: |
7
- 建立完整的 Designer Team 和 SRE Team 兩個團隊結構,包含團隊定義、10 個成員(各 5 人)、權限矩陣與工作流程。
8
-
9
- **背景**:
10
- .team 系統已完成 Product Manager Team(MVP)、Backend Team 和 Frontend Team。現在需要建立設計與基礎設施團隊,補全跨職能協作結構。
11
-
12
- **目標**:
13
- - Designer Team:展示設計流程、協作規範與交付物管理
14
- - SRE Team:展示基礎設施管理、監控、安全與部署流程
15
-
16
- priority: "P1"
17
- status: "pending"
18
- agent_type: "developer"
19
- source: "F-009"
20
- feature_ids:
21
- - "F-009"
22
-
23
- dependencies:
24
- - "TASK_098" # Product Manager Team 結構參考
25
- - "TASK_099" # Backend Team 結構參考
26
- - "TASK_100" # Frontend Team 結構參考
27
-
28
- scope_paths:
29
- - ".team/designer/"
30
- - ".team/sre/"
31
-
32
- requirements:
33
- - "建立 .team/designer/TEAM.yaml(Designer Team 團隊定義)"
34
- - "建立 Designer Team 5 個成員定義文件(design_lead, ui_designer, ux_researcher, design_system_specialist, doc_specialist)"
35
- - "建立 .team/sre/TEAM.yaml(SRE Team 團隊定義)"
36
- - "建立 SRE Team 5 個成員定義文件(sre_lead, devops_engineer, monitoring_specialist, security_specialist, doc_specialist)"
37
- - "建立 .team/designer/permissions/scope_matrix.yaml(設計團隊權限矩陣)"
38
- - "建立 .team/designer/permissions/lock_policy.yaml(設計團隊鎖定政策)"
39
- - "建立 .team/designer/workflows/design_system_development.yaml(設計系統開發流程)"
40
- - "建立 .team/designer/workflows/ui_design_review.yaml(UI 設計審查流程)"
41
- - "建立 .team/designer/communication/ 目錄結構"
42
- - "建立 .team/sre/permissions/scope_matrix.yaml(SRE 團隊權限矩陣)"
43
- - "建立 .team/sre/permissions/lock_policy.yaml(SRE 團隊鎖定政策)"
44
- - "建立 .team/sre/workflows/deployment.yaml(部署流程)"
45
- - "建立 .team/sre/workflows/incident_response.yaml(應急響應流程)"
46
- - "建立 .team/sre/communication/ 目錄結構"
47
-
48
- acceptance_criteria:
49
- - ".team/designer/TEAM.yaml 定義了 5 個成員、協作規則與交付物標準"
50
- - "所有 5 個 Designer 成員定義文件存在於 .team/designer/members/ 目錄"
51
- - ".team/designer/permissions/scope_matrix.yaml 定義每個成員的權限範圍(如 UI Designer 只能寫 dashboard/src/components/design/)"
52
- - ".team/designer/workflows/design_system_development.yaml 包含至少 5 個階段(需求收集 → 組件設計 → 代碼生成 → 測試 → 發布)"
53
- - ".team/designer/workflows/ui_design_review.yaml 定義了設計審查流程(自檢 → 設計評審 → 開發反饋 → 迭代 → 交付)"
54
- - ".team/sre/TEAM.yaml 定義了 5 個成員、協作規則與 SLA 標準"
55
- - "所有 5 個 SRE 成員定義文件存在於 .team/sre/members/ 目錄"
56
- - ".team/sre/permissions/scope_matrix.yaml 定義每個成員的權限範圍(如 DevOps Engineer 能寫 .infrastructure/,Security Specialist 能寫 .security/)"
57
- - ".team/sre/workflows/deployment.yaml 包含完整部署流程(代碼提交 → CI/CD → 測試 → 預發布 → 生產部署 → 驗證)"
58
- - ".team/sre/workflows/incident_response.yaml 定義應急響應流程(告警 → 告知 → 診斷 → 恢復 → 事後分析)"
59
- - "Designer Team 和 SRE Team 的權限不會與 Frontend/Backend Team 衝突"
60
- - "兩個團隊都配置了溝通頻道(slack_channel, email_list, standups)"
61
-
62
- technical_notes:
63
- - "參考 .team/product_manager/、.team/backend/、.team/frontend/ 的結構設計"
64
- - "Designer Team 成員權限範圍應限制在 dashboard/src/components/design/、.design/、dashboard/docs/design/ 等路徑"
65
- - "SRE Team 成員權限範圍應限制在 .infrastructure/、.security/、.monitoring/、supabase/、dev/pipeline/ 等路徑"
66
- - "設計系統開發流程應包含:需求收集 → 設計規範 → 組件設計 → 代碼生成 → 測試驗證"
67
- - "UI 設計審查流程應包含:設計師自檢 → 團隊評審 → 前端開發反饋 → 設計迭代 → 最終交付"
68
- - "部署流程應包含完整的 GitOps 實踐、藍綠部署或金絲雀部署策略"
69
- - "應急響應流程應定義 MTTR(平均恢復時間)、MTTD(平均檢測時間)等 SLA 目標"
70
-
71
- estimated_hours: 8
72
- complexity: "high"
73
-
74
- related_tasks:
75
- - "TASK_098" # Product Manager Team 完善
76
- - "TASK_099" # Backend Team 建立
77
- - "TASK_100" # Frontend Team 建立
78
- - "TASK_101" # 可能的 QA Team(未來)
79
-
80
- metadata:
81
- created_at: "2026-02-06T18:00:00+08:00"
82
- created_by: "Product Manager Agent (Lead)"
83
- feature: "F-009 多角色團隊協作系統"
84
- tags:
85
- - "team-system"
86
- - "designer-team"
87
- - "sre-team"
88
- - "cross-functional"
89
- - "workflow-design"
90
-
@@ -1,86 +0,0 @@
1
- # TASK_103: 整合測試與文件 - Claude Code Integration
2
- # Schema: dev/schemas/TASK.schema.json
3
-
4
- id: "TASK_103"
5
- title: "整合測試與文件 - Claude Code Integration"
6
- description: |
7
- 整合所有團隊系統(Product Manager、Backend、Frontend Teams),實作與 Claude Code Task tool 的整合,
8
- 建立端到端測試腳本與更新完整文檔。
9
-
10
- **背景**:
11
- .team 系統的各個團隊已建立完成(TASK_098-TASK_102),現在需要:
12
- 1. 實作與 Claude Code Task tool 的深度整合
13
- 2. 建立完整的端到端測試套件
14
- 3. 驗證多團隊並行開發場景
15
- 4. 測試權限衝突與解決機制
16
- 5. 更新專案文檔與集成指南
17
-
18
- **目標**:
19
- 讓 .team 系統成為完全可用的生產級協作框架,支援 Claude Code 直接調用。
20
-
21
- priority: "P1"
22
- status: "pending"
23
- agent_type: "developer"
24
- source: "F-009"
25
- feature_ids:
26
- - "F-009"
27
-
28
- dependencies:
29
- - "TASK_098"
30
- - "TASK_099"
31
- - "TASK_100"
32
- - "TASK_101"
33
- - "TASK_102"
34
-
35
- scope_paths:
36
- - ".team/"
37
- - "dev/pipeline/"
38
- - ".claude/commands/"
39
- - "CLAUDE.md"
40
- - ".team/README.md"
41
-
42
- requirements:
43
- - "實作 Claude Code Task tool 整合層 (.team/integration/claude_task_adapter.py)"
44
- - "建立完整的 E2E 測試套件 (dev/scripts/test_team_workflow.py)"
45
- - "實作多團隊並行開發測試場景 (test_multi_team_parallel.py)"
46
- - "實作權限衝突測試與解決機制 (test_permission_conflicts.py)"
47
- - "建立 .team/README.md - 團隊系統完整指南"
48
- - "更新 CLAUDE.md - 加入團隊系統呼叫說明與範例"
49
- - "建立集成檢查清單 (.team/INTEGRATION_CHECKLIST.md)"
50
- - "實作團隊狀態監控 (.team/orchestrator/team_monitor.py)"
51
- - "建立故障排查指南 (.team/TROUBLESHOOTING.md)"
52
- - "建立 MCP Server 工具定義 (.claude/mcp/team_tools.md)"
53
-
54
- acceptance_criteria:
55
- - "Claude Code Task tool 能成功調用 .team 系統(通過 claude_task_adapter.py)"
56
- - "E2E 測試套件涵蓋 Product Manager、Backend、Frontend Teams 的完整工作流程"
57
- - "測試成功執行多團隊並行開發場景,驗證無衝突且任務順序正確"
58
- - "權限衝突測試驗證系統能正確檢測並報告權限違規"
59
- - ".team/README.md 包含系統架構、使用指南、API 文檔、最佳實踐"
60
- - "CLAUDE.md 更新包含 /team 命令說明與各個團隊的調用示例"
61
- - "集成檢查清單覆蓋所有團隊、工作流程、權限、通信模式"
62
- - "所有測試通過並產生報告 (test_results_<date>.json)"
63
-
64
- technical_notes:
65
- - "Claude Task tool 整合應支援異步任務回調與進度追蹤"
66
- - "測試應使用臨時 .team 結構避免污染生產環境"
67
- - "並行測試應驗證 LOCK_STATE.json 的正確性"
68
- - "權限測試應包含邊界情況(如部分路徑匹配、萬用字符等)"
69
- - "監控工具應每 10 秒檢查一次 AGENT_STATE.json 並記錄狀態轉換"
70
- - "所有測試應產生可機器讀取的 JSON 報告"
71
- - "故障排查指南應包含常見 10+ 個問題與解決方案"
72
-
73
- estimated_hours: 8
74
- complexity: "very_complex"
75
-
76
- related_tasks:
77
- - "TASK_098" # Product Manager Team
78
- - "TASK_099" # Backend Team
79
- - "TASK_100" # Frontend Team
80
- - "TASK_101" # QA/SRE Teams (假設存在)
81
- - "TASK_102" # Designer Team (假設存在)
82
-
83
- metadata:
84
- created_at: "2026-02-06T18:00:00+08:00"
85
- created_by: "Product Manager Agent"
86
- feature: "F-009 多角色團隊協作系統"
@@ -1,83 +0,0 @@
1
- id: TASK_128
2
- title: 整合測試與文件 - E2E 測試與部署指南
3
- description: |
4
- 建立 Agent Coordination 系統的整合測試套件、E2E 測試、部署文件與故障排查指南。
5
-
6
- **背景**:
7
- 複雜分散式系統需要完整測試與文件確保可靠性。
8
-
9
- **目標**:
10
- 1. 建立整合測試(API 測試)
11
- 2. 建立 E2E 測試(多 Agent 協調場景)
12
- 3. 建立部署文件(安裝步驟、配置說明)
13
- 4. 建立故障排查指南(常見問題與解決方案)
14
-
15
- priority: P1
16
- status: pending
17
- agent_type: qa
18
- source: "User Request - Agent Coordination 系統整合"
19
- spec_version: "1.0.0"
20
- feature_ids: []
21
-
22
- dependencies:
23
- - "TASK_121"
24
- - "TASK_122"
25
- - "TASK_123"
26
- - "TASK_124"
27
- - "TASK_125"
28
- - "TASK_126"
29
- - "TASK_127"
30
-
31
- scope_paths:
32
- - "dashboard/src/app/agent-coordination/__tests__/"
33
- - "dashboard/docs/agent-coordination/"
34
- - "dashboard/scripts/test_agent_coordination.ps1"
35
-
36
- requirements:
37
- - "建立 API 整合測試(測試所有 API Routes)"
38
- - "建立 Lock 機制測試(測試鎖定、衝突、死鎖檢測)"
39
- - "建立 Messaging 測試(測試訊息發送、接收、過濾)"
40
- - "建立 WebSocket 測試(測試連線、推送、重連)"
41
- - "建立 E2E 測試(測試多 Agent 協調場景)"
42
- - "建立 SETUP.md 文件(安裝步驟)"
43
- - "建立 API.md 文件(API 參考)"
44
- - "建立 ARCHITECTURE.md 文件(架構說明)"
45
- - "建立 TROUBLESHOOTING.md 文件(故障排查)"
46
- - "建立測試執行腳本(test_agent_coordination.ps1)"
47
-
48
- acceptance_criteria:
49
- - id: AC-128-1
50
- type: command
51
- description: "所有 API 整合測試通過"
52
- command: "npm test -- agent-coordination"
53
- timeout_seconds: 60
54
- - id: AC-128-2
55
- type: file_exists
56
- description: "SETUP.md 文件已建立"
57
- target: "dashboard/docs/agent-coordination/SETUP.md"
58
- - id: AC-128-3
59
- type: file_exists
60
- description: "TROUBLESHOOTING.md 文件已建立"
61
- target: "dashboard/docs/agent-coordination/TROUBLESHOOTING.md"
62
- - id: AC-128-4
63
- type: manual
64
- description: "E2E 測試通過(3 個 Agent 並行協調場景)"
65
-
66
- technical_notes:
67
- - "使用 Jest + Supertest 進行 API 測試"
68
- - "使用 Socket.IO Client 進行 WebSocket 測試"
69
- - "E2E 測試使用獨立測試環境(test.env)"
70
- - "測試覆蓋率目標:80%+"
71
- - "文件使用 Markdown 格式"
72
- - "API 文件使用 OpenAPI 格式(可選)"
73
-
74
- estimated_hours: 24
75
- complexity: medium
76
-
77
- related_tasks:
78
- - "TASK_126"
79
- - "TASK_127"
80
-
81
- metadata:
82
- created_at: "2026-02-07T13:00:00+08:00"
83
- created_by: "Product Manager Team"