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.
- package/core/.claude/commands/Ansuz.md +2 -0
- package/core/.claude/hooks/__tests__/peer-session-fill.test.js +37 -0
- package/core/.claude/hooks/_ansuz-conversation.js +32 -1
- package/core/.claude/hooks/_user-scope.js +1 -1
- package/core/.claude/hooks/core-resolve.js +1 -1
- package/core/.claude/hooks/peer-optin.test.js +74 -0
- package/core/.claude/hooks/peer-session-fill.js +38 -0
- package/core/.claude/hooks/turn-context.js +5 -4
- package/core/.claude/hooks/worktree-create.js +6 -6
- package/core/.claude/hooks/worktree-remove.js +4 -4
- package/core/.claude/settings.json +9 -0
- package/core/.collaboration/core/reconcile.js +16 -1
- package/core/.collaboration/core/task-2467-lifecycle.test.js +63 -0
- package/core/.collaboration/core/task-api.js +37 -7
- package/core/.formation/bifrost/launch.js +1 -1
- package/core/.formation/bifrost/openai/codex-hook-shim.js +21 -4
- package/core/.formation/bifrost/openai/codex-peer-pull.test.js +42 -0
- package/core/.formation/bifrost/provider-launch.js +2 -1
- package/core/.formation/tools/kenaz-stats.js +1 -1
- package/core/.formation/tools/post-complete/git-merge.js +1 -1
- package/core/.formation/tools/prompt.js +1 -1
- package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
- package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
- package/core/.rule/general/project-self-containment.yaml +2 -2
- package/core/.specialist/Amelia/README.md +1 -1
- package/core/.specialist/Amelia/rule.yaml +1 -1
- package/core/.specialist/Ansuz/RULES.md +1 -1
- package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
- package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
- package/core/.specialist/Ansuz/knowledge.yaml +1 -3
- package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
- package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
- package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
- package/core/.specialist/tools/failure-detector.js +4 -4
- package/core/.specialist/tools/handoff-doc.js +1 -1
- package/core/.specialist/tools/lessons.js +2 -2
- package/core/CLAUDE.md +5 -5
- package/core/KENAZ_CORE_VERSION +1 -1
- package/core/dashboard/scripts/install-kenaz-cli.js +471 -0
- package/core/dev/scripts/check-file-size.js +1 -1
- package/core/dev/scripts/ci-feedback.js +1 -1
- package/core/dev/scripts/gc-agent-worktrees.js +11 -11
- package/core/dev/scripts/kenaz-session.js +3 -3
- package/core/dev/scripts/peer-identity-e2e.js +3 -3
- package/core/dev/scripts/run-rust-tests.js +2 -2
- package/core/dev/scripts/skill-routing-replay.js +3 -3
- package/core/dev/scripts/task1961/selftest.js +2 -2
- package/core/dev/scripts/windows-hide-guard.test.js +97 -0
- package/core/plugins/kenaz/commands/Ansuz.md +2 -0
- package/core/plugins/kenaz/guidance.md +2 -0
- package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
- package/core/plugins/kenaz/hooks/hooks.json +9 -0
- package/core/plugins/kenaz/hooks/kenaz-hook.js +53 -4
- package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
- package/core/plugins/kenaz/scripts/ygg.js +40 -4
- package/core/plugins/kenaz/scripts/ygg.test.js +63 -3
- package/core/plugins/kenaz-peer/hooks/register.test.ts +59 -2
- package/core/plugins/kenaz-peer/hooks/register.ts +24 -1
- package/lib/cli.js +9 -5
- package/package.json +6 -6
- package/vendor/install-kenaz-cli.js +21 -6
- package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
- package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
- package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
- package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
- package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
- package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
- package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
- package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
- package/core/.kenaz/main-memory/README.md +0 -230
- package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
- package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
- package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
- package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
- package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
- package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
- package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
- package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
- package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
- package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
- package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
- package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
- package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
- package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
- package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
- package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
- package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
- package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
- package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
- package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
- package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
- package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
- package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
- package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
- package/core/.kenaz/main-memory/registry.json +0 -326
- package/core/.kenaz/main-memory/version.yaml +0 -58
- package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
- package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
- package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
- package/core/.kenaz/specialist/prompt_1775.txt +0 -317
- package/core/.kenaz/specialist/prompt_1776.txt +0 -326
- package/core/.kenaz/specialist/prompt_1791.txt +0 -320
- package/core/.kenaz/specialist/prompt_1792.txt +0 -320
- package/core/.kenaz/specialist/prompt_1795.txt +0 -281
- package/core/.kenaz/specialist/prompt_1813.txt +0 -332
- package/core/.kenaz/specialist/prompt_1814.txt +0 -401
- package/core/.kenaz/specialist/prompt_1815.txt +0 -394
- package/core/.kenaz/specialist/prompt_1816.txt +0 -437
- package/core/.kenaz/specialist/prompt_1818.txt +0 -361
- package/core/.kenaz/specialist/prompt_1819.txt +0 -421
- package/core/.kenaz/specialist/prompt_1821.txt +0 -345
- package/core/.kenaz/specialist/prompt_1822.txt +0 -313
- package/core/.kenaz/specialist/prompt_1824.txt +0 -348
- package/core/.kenaz/specialist/prompt_1826.txt +0 -388
- package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
- package/core/.kenaz/specialist/task1825_update.json +0 -43
- package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
- package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
- package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
- package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
- package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
- package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
- package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
- package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
- package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
- package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
- package/core/.specialist/ansuz_session_handoff.json +0 -96
- package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
- package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
- package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
- package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
- package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
- package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
- package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
- package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
- package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
- package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
- package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
- package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
- package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
- package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
- package/core/dev/MUNINN_RETIREMENT.md +0 -115
- package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
- package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
- package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
- package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
- package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
- package/core/dev/PRODUCT_SPEC.md +0 -317
- package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
- package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
- package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
- package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
- package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
- package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
- package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
- package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
- package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
- package/core/dev/ansuz-eval/README.md +0 -38
- package/core/dev/ansuz-eval/build-fixtures.js +0 -87
- package/core/dev/ansuz-eval/grade.js +0 -96
- package/core/dev/ansuz-eval/grader.test.js +0 -117
- package/core/dev/ansuz-eval/tasks.md +0 -32
- package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
- package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
- package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
- package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
- package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
- package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
- package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
- package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
- package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
- package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
- package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
- package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
- package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
- package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
- package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
- package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
- package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
- package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
- package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
- package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
- package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
- package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
- package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
- package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
- package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
- package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
- package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
- package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
- package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
- package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
- package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
- package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
- package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
- package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
- package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
- package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
- package/core/dev/design/PHASE4_DESIGN.md +0 -559
- package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
- package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
- package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
- package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
- package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
- package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
- package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
- package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
- package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
- package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
- package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
- package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
- package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
- package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
- package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
- package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
- package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
- package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
- package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
- package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
- package/core/dev/jev-eval/README.md +0 -101
- package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
- package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
- package/core/dev/jev-eval/cli.mjs +0 -50
- package/core/dev/jev-eval/context.mjs +0 -183
- package/core/dev/jev-eval/corpus.mjs +0 -186
- package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
- package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
- package/core/dev/jev-eval/metrics.mjs +0 -67
- package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
- package/core/dev/jev-eval/providers.mjs +0 -95
- package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
- package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
- package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
- package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
- package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
- package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
- package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
- package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
- package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
- package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
- package/core/dev/jev-eval/resilience.mjs +0 -71
- package/core/dev/jev-eval/review.mjs +0 -78
- package/core/dev/jev-eval/schema.mjs +0 -87
- package/core/dev/jev-eval/test/context.test.mjs +0 -95
- package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
- package/core/dev/jev-eval/test/eval.test.mjs +0 -146
- package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
- package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
- package/core/dev/jev-eval/test/review.test.mjs +0 -61
- package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
- package/core/dev/pipeline/PROGRESS.md +0 -113
- package/core/dev/pipeline/PROGRESS_template.md +0 -860
- package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
- package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
- package/core/dev/pipeline/README.md +0 -210
- package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
- package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
- package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
- package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
- package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
- package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
- package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
- package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
- package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
- package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
- package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
- package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
- package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
- package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
- package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
- package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
- package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
- package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
- package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
- package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
- package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
- package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
- package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
- package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
- package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
- package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
- package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
- package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
- package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
- package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
- package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
- package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
- package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
- package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
- package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
- package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
- package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
- package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
- package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
- package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
- package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
- package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
- package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
- package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
- package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
- package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
- package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
- package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
- package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
- package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
- package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
- package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
- package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
- package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
- package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
- package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
- package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
- package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
- package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
- package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
- package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
- package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
- package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
- package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
- package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
- package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
- package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
- package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
- package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
- package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
- package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
- package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
- package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
- package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
- package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
- package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
- package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
- package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
- package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
- package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
- package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
- package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
- package/core/dev/pipeline/docs/overview.md +0 -406
- package/core/dev/pipeline/docs/task-management.md +0 -412
- package/core/dev/pipeline/docs/workflows.md +0 -32
- package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
- package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
- package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
- package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
- package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
- package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
- package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
- package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
- package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
- package/core/dev/scripts/README.md +0 -142
- package/core/dev/scripts/RUN_ONCE.bat +0 -40
- package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
- package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
- package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
- package/core/dev/scripts/init_git.ps1 +0 -396
- package/core/dev/scripts/init_git.sh +0 -337
- package/core/dev/scripts/init_project.ps1 +0 -851
- package/core/dev/scripts/init_project.sh +0 -477
- package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
- package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
- package/core/dev/scripts/run_once.sh +0 -47
- package/core/dev/scripts/setup_rag.ps1 +0 -304
- package/core/dev/scripts/setup_rag.sh +0 -230
- package/core/dev/scripts/start_dev_agent.sh +0 -137
- package/core/dev/scripts/start_multi_agent.sh +0 -41
- package/core/dev/scripts/sync_task_queue.ps1 +0 -505
- package/core/dev/scripts/sync_task_queue.sh +0 -392
- package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
- package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
- package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
- package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
- package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
- package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
- package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
- package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
- 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
- package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
- package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
- package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
- package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
- package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
- package/core/dev/specs/agent-connect/history/README.md +0 -47
- package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
- package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
- package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
- package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
- package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
- package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
- package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
- package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
- package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
- package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
- package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
- package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
- package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
- package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
- package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
- package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
- package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
- package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
- package/core/dev/spikes/A4-cypher-varlen.md +0 -176
- package/core/dev/spikes/bloat-rounds.sh +0 -25
- package/core/dev/spikes/mods/clean-claude.js +0 -9
- package/core/dev/spikes/mods/drive-probe.js +0 -29
- package/core/dev/spikes/mods/e2e-peer.js +0 -71
- package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
- package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
- package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
- package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
- package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
- package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
- package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
- package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
- package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
- package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# TASK_026: 規格版本化
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_026"
|
|
5
|
-
title: "規格版本化機制"
|
|
6
|
-
description: |
|
|
7
|
-
為 PRODUCT_SPEC.md 建立版本控制機制,讓任務能綁定到特定版本的規格。
|
|
8
|
-
|
|
9
|
-
目前規格與任務之間沒有版本對應關係,無法回答:
|
|
10
|
-
- 這個任務是基於哪個版本的規格?
|
|
11
|
-
- 規格更新後,哪些任務需要重新審視?
|
|
12
|
-
|
|
13
|
-
透過版本化機制,規格變更時可追蹤影響範圍。
|
|
14
|
-
|
|
15
|
-
priority: "P1"
|
|
16
|
-
status: "completed"
|
|
17
|
-
agent_type: "architect"
|
|
18
|
-
source: "SDD 改進 - 規格版本控制"
|
|
19
|
-
|
|
20
|
-
dependencies:
|
|
21
|
-
- "TASK_024"
|
|
22
|
-
|
|
23
|
-
scope_paths:
|
|
24
|
-
- "dev/PRODUCT_SPEC.md"
|
|
25
|
-
- "dev/schemas/"
|
|
26
|
-
- "dev/pipeline/orchestrator/"
|
|
27
|
-
|
|
28
|
-
requirements:
|
|
29
|
-
- "在 PRODUCT_SPEC.md 頂部加入 spec_version 和 last_modified 欄位"
|
|
30
|
-
- "擴展 TASK.schema.json 加入 spec_version 欄位"
|
|
31
|
-
- "PM Agent 建立任務時自動填入當前規格版本"
|
|
32
|
-
- "規格更新時自動遞增版本號(semver 或日期格式)"
|
|
33
|
-
- "實作 SpecVersionChecker 檢測任務與規格版本是否匹配"
|
|
34
|
-
|
|
35
|
-
acceptance_criteria:
|
|
36
|
-
- "PRODUCT_SPEC.md 頂部包含 spec_version: 'x.y.z' 和 last_modified: 'YYYY-MM-DD'"
|
|
37
|
-
- "新建立的任務自動包含 spec_version 欄位"
|
|
38
|
-
- "規格更新後,版本號自動遞增"
|
|
39
|
-
- "可查詢「哪些任務基於舊版規格」"
|
|
40
|
-
|
|
41
|
-
technical_notes:
|
|
42
|
-
- "版本格式建議:major.minor.patch(semver)"
|
|
43
|
-
- "Feature 新增 = minor++,Feature 修改 = patch++,架構變更 = major++"
|
|
44
|
-
- "考慮 Git hook 自動更新 last_modified"
|
|
45
|
-
- "舊任務的 spec_version 可標記為 'legacy' 或 '0.0.0'"
|
|
46
|
-
|
|
47
|
-
estimated_hours: 4
|
|
48
|
-
complexity: "medium"
|
|
49
|
-
|
|
50
|
-
related_tasks:
|
|
51
|
-
- "TASK_024"
|
|
52
|
-
- "TASK_027"
|
|
53
|
-
|
|
54
|
-
metadata:
|
|
55
|
-
created_at: "2026-02-01T12:00:00+08:00"
|
|
56
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# TASK_027: 漂移檢測 Agent
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_027"
|
|
5
|
-
title: "規格漂移檢測機制"
|
|
6
|
-
description: |
|
|
7
|
-
建立自動化機制檢測程式碼與規格之間的「漂移」(Drift)。
|
|
8
|
-
|
|
9
|
-
漂移的定義:
|
|
10
|
-
1. 程式碼中存在規格未定義的功能(Code > Spec)
|
|
11
|
-
2. 規格定義了但程式碼未實現的功能(Spec > Code)
|
|
12
|
-
3. 程式碼行為與規格描述不一致(Mismatch)
|
|
13
|
-
|
|
14
|
-
這是實現「規格即 Source of Truth」的關鍵機制。
|
|
15
|
-
|
|
16
|
-
priority: "P2"
|
|
17
|
-
status: "completed"
|
|
18
|
-
agent_type: "architect"
|
|
19
|
-
source: "SDD 改進 - 漂移檢測"
|
|
20
|
-
|
|
21
|
-
dependencies:
|
|
22
|
-
- "TASK_024"
|
|
23
|
-
- "TASK_026"
|
|
24
|
-
|
|
25
|
-
scope_paths:
|
|
26
|
-
- "dev/pipeline/orchestrator/"
|
|
27
|
-
- "dev/scripts/"
|
|
28
|
-
- ".claude/skills/"
|
|
29
|
-
|
|
30
|
-
requirements:
|
|
31
|
-
- "實作 DriftDetector 模組掃描程式碼與規格"
|
|
32
|
-
- "檢測 Feature 實現狀態:implemented / partial / missing"
|
|
33
|
-
- "檢測未定義功能:程式碼中存在但規格未涵蓋的模組"
|
|
34
|
-
- "產生漂移報告(drift_report.json)"
|
|
35
|
-
- "整合到 /product-review 指令,自動執行漂移檢測"
|
|
36
|
-
|
|
37
|
-
acceptance_criteria:
|
|
38
|
-
- "DriftDetector 能解析 PRODUCT_SPEC.md 的所有 Feature"
|
|
39
|
-
- "能掃描 dashboard/ 目錄識別已實現的功能"
|
|
40
|
-
- "產生的 drift_report.json 包含 implemented / partial / missing 分類"
|
|
41
|
-
- "未定義功能警告:「Component X 不在規格中,請確認是否需要補充規格」"
|
|
42
|
-
- "/product-review 執行時自動產生漂移報告"
|
|
43
|
-
|
|
44
|
-
technical_notes:
|
|
45
|
-
- "Feature 實現檢測策略:關鍵檔案存在 + 關鍵函數存在"
|
|
46
|
-
- "可用 AST 解析或簡單的 grep 搜尋"
|
|
47
|
-
- "考慮 Feature 與程式碼的映射表(feature_mapping.json)"
|
|
48
|
-
- "漂移報告格式需 PM 可讀,包含修復建議"
|
|
49
|
-
|
|
50
|
-
estimated_hours: 8
|
|
51
|
-
complexity: "complex"
|
|
52
|
-
|
|
53
|
-
related_tasks:
|
|
54
|
-
- "TASK_024"
|
|
55
|
-
- "TASK_025"
|
|
56
|
-
- "TASK_026"
|
|
57
|
-
|
|
58
|
-
metadata:
|
|
59
|
-
created_at: "2026-02-01T12:00:00+08:00"
|
|
60
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# TASK_028: PTY Manager 模組集成到 Tauri
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_028"
|
|
5
|
-
title: "PTY Manager 模組集成到 Tauri"
|
|
6
|
-
description: |
|
|
7
|
-
將現有 pty-server 的 PTY Manager 邏輯直接集成到 Tauri Rust 後端。
|
|
8
|
-
目前 pty-server 是獨立的 HTTP 服務,導致 Tauri 桌面版無法使用 CLI Sessions。
|
|
9
|
-
需要將 pty_manager.rs 的核心邏輯移植到 src-tauri 中。
|
|
10
|
-
|
|
11
|
-
priority: "P1"
|
|
12
|
-
status: "completed"
|
|
13
|
-
agent_type: "backend"
|
|
14
|
-
source: "F-006.2"
|
|
15
|
-
feature_ids:
|
|
16
|
-
- "F-006"
|
|
17
|
-
|
|
18
|
-
dependencies: []
|
|
19
|
-
|
|
20
|
-
scope_paths:
|
|
21
|
-
- "dashboard/src-tauri/src/"
|
|
22
|
-
- "dashboard/src-tauri/Cargo.toml"
|
|
23
|
-
|
|
24
|
-
requirements:
|
|
25
|
-
- "在 src-tauri/Cargo.toml 添加 portable-pty、parking_lot、uuid 依賴"
|
|
26
|
-
- "建立 src-tauri/src/pty_manager.rs 模組"
|
|
27
|
-
- "從 pty-server/src/pty_manager.rs 移植 PtySession 結構"
|
|
28
|
-
- "從 pty-server/src/pty_manager.rs 移植 PtyManager 結構"
|
|
29
|
-
- "實作 spawn_session 方法(建立 PTY session)"
|
|
30
|
-
- "實作 write_to_session 方法(寫入數據到 PTY)"
|
|
31
|
-
- "實作 resize_session 方法(調整終端大小)"
|
|
32
|
-
- "實作 close_session 方法(關閉 session)"
|
|
33
|
-
- "實作 list_sessions 方法(列出所有 sessions)"
|
|
34
|
-
- "實作 get_session 方法(取得單一 session)"
|
|
35
|
-
- "在 lib.rs 中註冊 pty_manager 模組"
|
|
36
|
-
|
|
37
|
-
acceptance_criteria:
|
|
38
|
-
- "Cargo build 成功,無編譯錯誤"
|
|
39
|
-
- "PtyManager::new() 能正常建立實例"
|
|
40
|
-
- "spawn_session 能成功啟動 shell(Windows: powershell.exe)"
|
|
41
|
-
- "write_to_session 能正確寫入數據"
|
|
42
|
-
- "resize_session 能正確調整終端大小"
|
|
43
|
-
|
|
44
|
-
technical_notes:
|
|
45
|
-
- "portable-pty 版本與 pty-server 保持一致"
|
|
46
|
-
- "使用 Tauri 的 State 管理 PtyManager 實例"
|
|
47
|
-
- "注意 Windows 平台的 shell 預設值(powershell.exe)"
|
|
48
|
-
- "輸出使用 tokio::sync::broadcast channel"
|
|
49
|
-
|
|
50
|
-
estimated_hours: 4
|
|
51
|
-
complexity: "medium"
|
|
52
|
-
|
|
53
|
-
related_tasks:
|
|
54
|
-
- "TASK_017"
|
|
55
|
-
- "TASK_022"
|
|
56
|
-
- "TASK_029"
|
|
57
|
-
|
|
58
|
-
metadata:
|
|
59
|
-
created_at: "2026-02-02T16:30:00+08:00"
|
|
60
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# TASK_029: Tauri PTY Commands 實作
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_029"
|
|
5
|
-
title: "Tauri PTY Commands 實作"
|
|
6
|
-
description: |
|
|
7
|
-
為 Tauri 實作 PTY 相關的 Commands,讓前端能透過 IPC 調用 PTY 功能。
|
|
8
|
-
包括建立、寫入、調整大小、關閉 session 等操作。
|
|
9
|
-
同時實作 Tauri Events 將 PTY 輸出推送到前端。
|
|
10
|
-
|
|
11
|
-
priority: "P1"
|
|
12
|
-
status: "completed"
|
|
13
|
-
agent_type: "backend"
|
|
14
|
-
source: "F-006.2"
|
|
15
|
-
feature_ids:
|
|
16
|
-
- "F-006"
|
|
17
|
-
|
|
18
|
-
dependencies:
|
|
19
|
-
- "TASK_028"
|
|
20
|
-
|
|
21
|
-
scope_paths:
|
|
22
|
-
- "dashboard/src-tauri/src/commands.rs"
|
|
23
|
-
- "dashboard/src-tauri/src/lib.rs"
|
|
24
|
-
|
|
25
|
-
requirements:
|
|
26
|
-
- "實作 pty_spawn command(建立新 PTY session)"
|
|
27
|
-
- "實作 pty_write command(寫入數據到 PTY)"
|
|
28
|
-
- "實作 pty_resize command(調整終端大小)"
|
|
29
|
-
- "實作 pty_close command(關閉 PTY session)"
|
|
30
|
-
- "實作 pty_list command(列出所有 sessions)"
|
|
31
|
-
- "實作 pty-data event(PTY 輸出推送到前端)"
|
|
32
|
-
- "實作 pty-exit event(session 結束通知)"
|
|
33
|
-
- "在 lib.rs 註冊所有 PTY commands"
|
|
34
|
-
- "管理 PtyManager 為 Tauri State"
|
|
35
|
-
|
|
36
|
-
acceptance_criteria:
|
|
37
|
-
- "invoke('pty_spawn') 能成功建立 session 並返回 session ID"
|
|
38
|
-
- "invoke('pty_write') 能正確寫入數據"
|
|
39
|
-
- "invoke('pty_resize') 能正確調整大小"
|
|
40
|
-
- "invoke('pty_close') 能正確關閉 session"
|
|
41
|
-
- "invoke('pty_list') 能返回所有 active sessions"
|
|
42
|
-
- "前端能收到 pty-data 事件並顯示輸出"
|
|
43
|
-
- "session 結束時前端收到 pty-exit 事件"
|
|
44
|
-
|
|
45
|
-
technical_notes:
|
|
46
|
-
- "使用 #[tauri::command] 標註所有 commands"
|
|
47
|
-
- "使用 tauri::State<PtyManager> 存取 PTY manager"
|
|
48
|
-
- "使用 app.emit() 發送事件到前端"
|
|
49
|
-
- "輸出 thread 需要持有 AppHandle 發送事件"
|
|
50
|
-
- "Command 參數結構需要 Deserialize"
|
|
51
|
-
- "返回值需要 Serialize"
|
|
52
|
-
|
|
53
|
-
estimated_hours: 4
|
|
54
|
-
complexity: "medium"
|
|
55
|
-
|
|
56
|
-
related_tasks:
|
|
57
|
-
- "TASK_028"
|
|
58
|
-
- "TASK_030"
|
|
59
|
-
|
|
60
|
-
metadata:
|
|
61
|
-
created_at: "2026-02-02T16:30:00+08:00"
|
|
62
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# TASK_030: 前端 SessionManager 適配 Tauri 模式
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_030"
|
|
5
|
-
title: "前端 SessionManager 適配 Tauri 模式"
|
|
6
|
-
description: |
|
|
7
|
-
修改前端 SessionManager 和 API adapter,讓 Tauri 桌面版能正常使用 CLI Sessions。
|
|
8
|
-
目前 SessionManager 在 Tauri 模式下被禁用,需要移除這個限制並接入 Tauri PTY commands。
|
|
9
|
-
|
|
10
|
-
priority: "P1"
|
|
11
|
-
status: "completed"
|
|
12
|
-
agent_type: "frontend"
|
|
13
|
-
source: "F-006.2"
|
|
14
|
-
feature_ids:
|
|
15
|
-
- "F-006"
|
|
16
|
-
|
|
17
|
-
dependencies:
|
|
18
|
-
- "TASK_029"
|
|
19
|
-
|
|
20
|
-
scope_paths:
|
|
21
|
-
- "dashboard/src/lib/tauri-commands.ts"
|
|
22
|
-
- "dashboard/src/lib/api-adapter.ts"
|
|
23
|
-
- "dashboard/src/components/session-manager/SessionManager.tsx"
|
|
24
|
-
|
|
25
|
-
requirements:
|
|
26
|
-
- "在 tauri-commands.ts 添加 PTY 相關類型定義"
|
|
27
|
-
- "在 tauri-commands.ts 添加 pty_spawn、pty_write、pty_resize、pty_close、pty_list 封裝"
|
|
28
|
-
- "在 api-adapter.ts 添加 PTY API(spawnPtySession、writePtySession、...)"
|
|
29
|
-
- "修改 SessionManager 移除 isTauriMode 禁用邏輯"
|
|
30
|
-
- "修改 SessionManager 在 Tauri 模式使用 Tauri commands"
|
|
31
|
-
- "修改 SessionManager 的 polling 邏輯為 Tauri events"
|
|
32
|
-
|
|
33
|
-
acceptance_criteria:
|
|
34
|
-
- "Tauri 桌面版中 '+NEW' 按鈕可點擊"
|
|
35
|
-
- "點擊 '+NEW' 能成功建立新 session"
|
|
36
|
-
- "Session 列表正確顯示 active sessions"
|
|
37
|
-
- "能正確關閉 session"
|
|
38
|
-
|
|
39
|
-
technical_notes:
|
|
40
|
-
- "使用 @tauri-apps/api/core 的 invoke"
|
|
41
|
-
- "SessionManager 需要區分 web/tauri 模式調用不同 API"
|
|
42
|
-
- "保持 web 模式的 HTTP API 不變"
|
|
43
|
-
- "Tauri 模式不需要 polling,使用 events"
|
|
44
|
-
|
|
45
|
-
estimated_hours: 3
|
|
46
|
-
complexity: "medium"
|
|
47
|
-
|
|
48
|
-
related_tasks:
|
|
49
|
-
- "TASK_029"
|
|
50
|
-
- "TASK_031"
|
|
51
|
-
|
|
52
|
-
metadata:
|
|
53
|
-
created_at: "2026-02-02T16:30:00+08:00"
|
|
54
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# TASK_031: Terminal 組件 Tauri 事件適配
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_031"
|
|
5
|
-
title: "Terminal 組件 Tauri 事件適配"
|
|
6
|
-
description: |
|
|
7
|
-
修改 Terminal 組件,讓它在 Tauri 模式下使用 Tauri events 接收 PTY 輸出,
|
|
8
|
-
而不是 WebSocket。同時處理輸入寫入和終端大小調整。
|
|
9
|
-
|
|
10
|
-
priority: "P2"
|
|
11
|
-
status: "completed"
|
|
12
|
-
agent_type: "frontend"
|
|
13
|
-
source: "F-006.2"
|
|
14
|
-
feature_ids:
|
|
15
|
-
- "F-006"
|
|
16
|
-
|
|
17
|
-
dependencies:
|
|
18
|
-
- "TASK_030"
|
|
19
|
-
|
|
20
|
-
scope_paths:
|
|
21
|
-
- "dashboard/src/components/terminal/TerminalPanel.tsx"
|
|
22
|
-
- "dashboard/src/components/terminal/Terminal.tsx"
|
|
23
|
-
- "dashboard/src/hooks/"
|
|
24
|
-
|
|
25
|
-
requirements:
|
|
26
|
-
- "建立 useTauriPtyEvents hook 監聽 pty-data 和 pty-exit 事件"
|
|
27
|
-
- "修改 Terminal 組件在 Tauri 模式使用 Tauri events"
|
|
28
|
-
- "修改 Terminal 輸入處理使用 pty_write command"
|
|
29
|
-
- "修改 Terminal resize 處理使用 pty_resize command"
|
|
30
|
-
- "處理 session 結束(pty-exit)的 UI 更新"
|
|
31
|
-
- "保持 web 模式的 WebSocket 邏輯不變"
|
|
32
|
-
|
|
33
|
-
acceptance_criteria:
|
|
34
|
-
- "Tauri 桌面版中 Terminal 能正常顯示 PTY 輸出"
|
|
35
|
-
- "能正常輸入命令並執行"
|
|
36
|
-
- "調整視窗大小時終端正確 resize"
|
|
37
|
-
- "Session 結束時正確顯示狀態"
|
|
38
|
-
- "多 tab 切換正常運作"
|
|
39
|
-
|
|
40
|
-
technical_notes:
|
|
41
|
-
- "使用 @tauri-apps/api/event 的 listen"
|
|
42
|
-
- "事件 payload 包含 session_id 用於區分多 session"
|
|
43
|
-
- "xterm.js 的 onData 需要調用 pty_write"
|
|
44
|
-
- "xterm.js 的 onResize 需要調用 pty_resize"
|
|
45
|
-
- "注意 cleanup:組件 unmount 時取消事件監聽"
|
|
46
|
-
|
|
47
|
-
estimated_hours: 4
|
|
48
|
-
complexity: "medium"
|
|
49
|
-
|
|
50
|
-
related_tasks:
|
|
51
|
-
- "TASK_030"
|
|
52
|
-
- "TASK_017"
|
|
53
|
-
|
|
54
|
-
metadata:
|
|
55
|
-
created_at: "2026-02-02T16:30:00+08:00"
|
|
56
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# TASK_041: Scheduler Core Data Models
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_041"
|
|
5
|
-
title: "Scheduler 核心數據模型定義"
|
|
6
|
-
description: |
|
|
7
|
-
為 Multi-Agent Scheduler 定義 Rust 核心數據結構,取代 PowerShell 的動態 JSON 處理。
|
|
8
|
-
|
|
9
|
-
需要擴展現有的 cmd_modules/agent.rs 和 cmd_modules/task.rs,新增:
|
|
10
|
-
- PathLock 結構(路徑鎖定)
|
|
11
|
-
- LockState 結構(全局鎖狀態)
|
|
12
|
-
- ProcessInfo 結構(進程追蹤)
|
|
13
|
-
- SchedulerConfig 結構(調度器配置)
|
|
14
|
-
|
|
15
|
-
所有結構使用 Serde 進行序列化/反序列化。
|
|
16
|
-
|
|
17
|
-
priority: "P0"
|
|
18
|
-
status: "pending"
|
|
19
|
-
agent_type: "backend"
|
|
20
|
-
source: "Multi-Agent Scheduler 重構"
|
|
21
|
-
feature_ids:
|
|
22
|
-
- "F-SCHEDULER"
|
|
23
|
-
|
|
24
|
-
dependencies: []
|
|
25
|
-
|
|
26
|
-
scope_paths:
|
|
27
|
-
- "dashboard/src-tauri/src/cmd_modules/"
|
|
28
|
-
|
|
29
|
-
requirements:
|
|
30
|
-
- "定義 PathLock 結構:path, agent_id, task_id, lock_type, acquired_at"
|
|
31
|
-
- "定義 LockState 結構:locks Vec<PathLock>, last_updated"
|
|
32
|
-
- "定義 ProcessInfo 結構:pid, status, started_at, timeout_at"
|
|
33
|
-
- "定義 SchedulerConfig 結構:max_agents, poll_interval, task_timeout"
|
|
34
|
-
- "擴展現有 Agent 結構:加入 process_info 欄位"
|
|
35
|
-
- "所有結構實作 Serialize, Deserialize, Clone, Debug"
|
|
36
|
-
- "定義 TaskStatus 和 LockType 為 Rust enum"
|
|
37
|
-
|
|
38
|
-
acceptance_criteria:
|
|
39
|
-
- "所有新數據結構可正確序列化為 JSON"
|
|
40
|
-
- "所有新數據結構可從 JSON 反序列化"
|
|
41
|
-
- "單元測試覆蓋序列化/反序列化場景"
|
|
42
|
-
- "與現有 LOCK_STATE.json 格式兼容"
|
|
43
|
-
|
|
44
|
-
technical_notes:
|
|
45
|
-
- "參考現有 cmd_modules/agent.rs 和 cmd_modules/task.rs 的模式"
|
|
46
|
-
- "使用 chrono 處理時間戳"
|
|
47
|
-
- "考慮與 PowerShell 版本的向後兼容性"
|
|
48
|
-
|
|
49
|
-
estimated_hours: 3
|
|
50
|
-
complexity: "medium"
|
|
51
|
-
|
|
52
|
-
metadata:
|
|
53
|
-
created_at: "2026-02-03T16:00:00+08:00"
|
|
54
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# TASK_042: Path Lock Manager
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_042"
|
|
5
|
-
title: "路徑鎖定管理模組"
|
|
6
|
-
description: |
|
|
7
|
-
實作路徑鎖定機制,防止多個 Agent 同時修改相同文件/目錄。
|
|
8
|
-
|
|
9
|
-
核心功能:
|
|
10
|
-
1. 鎖定/解鎖路徑
|
|
11
|
-
2. 衝突檢測(路徑重疊判斷)
|
|
12
|
-
3. 鎖狀態持久化到 LOCK_STATE.json
|
|
13
|
-
4. 過時鎖清理
|
|
14
|
-
|
|
15
|
-
priority: "P0"
|
|
16
|
-
status: "pending"
|
|
17
|
-
agent_type: "backend"
|
|
18
|
-
source: "Multi-Agent Scheduler 重構"
|
|
19
|
-
feature_ids:
|
|
20
|
-
- "F-SCHEDULER"
|
|
21
|
-
|
|
22
|
-
dependencies:
|
|
23
|
-
- "TASK_041"
|
|
24
|
-
|
|
25
|
-
scope_paths:
|
|
26
|
-
- "dashboard/src-tauri/src/cmd_modules/"
|
|
27
|
-
|
|
28
|
-
requirements:
|
|
29
|
-
- "實作 acquire_locks(agent_id, task_id, paths) -> Result<(), LockError>"
|
|
30
|
-
- "實作 release_locks(agent_id) -> Result<(), LockError>"
|
|
31
|
-
- "實作 check_conflict(paths) -> Option<ConflictInfo>"
|
|
32
|
-
- "路徑衝突檢測:A/B 和 A/B/C 視為衝突"
|
|
33
|
-
- "支援目錄鎖和文件鎖"
|
|
34
|
-
- "原子性:鎖操作要麼全部成功,要麼全部失敗"
|
|
35
|
-
- "持久化到 dev/pipeline/LOCK_STATE.json"
|
|
36
|
-
|
|
37
|
-
acceptance_criteria:
|
|
38
|
-
- "鎖定路徑後,其他 Agent 無法取得重疊路徑的鎖"
|
|
39
|
-
- "釋放鎖後,路徑可被其他 Agent 鎖定"
|
|
40
|
-
- "鎖狀態在 Scheduler 重啟後可恢復"
|
|
41
|
-
- "單元測試覆蓋衝突檢測邏輯"
|
|
42
|
-
|
|
43
|
-
technical_notes:
|
|
44
|
-
- "使用 tokio::sync::RwLock 保護內存狀態"
|
|
45
|
-
- "文件寫入使用重試機制(參考 Write-FileWithRetry)"
|
|
46
|
-
- "路徑標準化:統一使用 / 分隔符"
|
|
47
|
-
|
|
48
|
-
estimated_hours: 4
|
|
49
|
-
complexity: "medium"
|
|
50
|
-
|
|
51
|
-
metadata:
|
|
52
|
-
created_at: "2026-02-03T16:00:00+08:00"
|
|
53
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# TASK_043: Process Manager
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_043"
|
|
5
|
-
title: "進程管理模組"
|
|
6
|
-
description: |
|
|
7
|
-
使用 tokio::process 實作非同步進程管理,包括:
|
|
8
|
-
1. 啟動 Claude CLI 進程
|
|
9
|
-
2. 進程輸出收集(stdout/stderr)
|
|
10
|
-
3. 超時控制
|
|
11
|
-
4. 優雅關閉與進程樹終止
|
|
12
|
-
|
|
13
|
-
priority: "P0"
|
|
14
|
-
status: "completed"
|
|
15
|
-
agent_type: "backend"
|
|
16
|
-
source: "Multi-Agent Scheduler 重構"
|
|
17
|
-
feature_ids:
|
|
18
|
-
- "F-SCHEDULER"
|
|
19
|
-
|
|
20
|
-
dependencies:
|
|
21
|
-
- "TASK_041"
|
|
22
|
-
|
|
23
|
-
scope_paths:
|
|
24
|
-
- "dashboard/src-tauri/src/cmd_modules/"
|
|
25
|
-
- "dashboard/src-tauri/Cargo.toml"
|
|
26
|
-
|
|
27
|
-
requirements:
|
|
28
|
-
- "使用 tokio::process::Command 非同步啟動進程"
|
|
29
|
-
- "實作 spawn_agent(config) -> Result<ProcessHandle, Error>"
|
|
30
|
-
- "實作進程輸出的逐行讀取(BufReader)"
|
|
31
|
-
- "實作 tokio::time::timeout 超時控制"
|
|
32
|
-
- "實作 kill_process_tree(pid) 終止進程樹"
|
|
33
|
-
- "Windows 平台使用 taskkill /T /F"
|
|
34
|
-
- "進程狀態追蹤:Running, Completed, Failed, Timeout"
|
|
35
|
-
|
|
36
|
-
acceptance_criteria:
|
|
37
|
-
- "可成功啟動 Claude CLI 進程"
|
|
38
|
-
- "可收集進程的 stdout 和 stderr"
|
|
39
|
-
- "超時後自動終止進程"
|
|
40
|
-
- "主進程退出時,所有子進程被正確終止"
|
|
41
|
-
- "單元測試覆蓋進程生命週期"
|
|
42
|
-
|
|
43
|
-
technical_notes:
|
|
44
|
-
- "Windows: 使用 cmd.exe /c claude 啟動(npm 全局安裝生成 .cmd)"
|
|
45
|
-
- "Linux/macOS: 直接調用 claude"
|
|
46
|
-
- "使用 tokio::io::BufReader 實現逐行讀取"
|
|
47
|
-
- "進程終止需處理 SIGTERM/SIGKILL"
|
|
48
|
-
|
|
49
|
-
estimated_hours: 6
|
|
50
|
-
complexity: "complex"
|
|
51
|
-
|
|
52
|
-
related_tasks:
|
|
53
|
-
- "TASK_044"
|
|
54
|
-
|
|
55
|
-
metadata:
|
|
56
|
-
created_at: "2026-02-03T16:00:00+08:00"
|
|
57
|
-
created_by: "Product Manager Agent"
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# TASK_044: Git Integration
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_044"
|
|
5
|
-
title: "Git 自動化整合模組"
|
|
6
|
-
description: |
|
|
7
|
-
實作 Git 操作自動化,確保每個 Agent 在獨立分支工作。
|
|
8
|
-
|
|
9
|
-
核心功能:
|
|
10
|
-
1. 自動創建任務分支
|
|
11
|
-
2. 任務完成後自動 commit 和 merge
|
|
12
|
-
3. 失敗時的分支清理
|
|
13
|
-
4. 分支恢復機制(resume 功能)
|
|
14
|
-
|
|
15
|
-
priority: "P0"
|
|
16
|
-
status: "completed"
|
|
17
|
-
agent_type: "backend"
|
|
18
|
-
source: "Multi-Agent Scheduler 重構"
|
|
19
|
-
feature_ids:
|
|
20
|
-
- "F-SCHEDULER"
|
|
21
|
-
|
|
22
|
-
dependencies:
|
|
23
|
-
- "TASK_041"
|
|
24
|
-
|
|
25
|
-
scope_paths:
|
|
26
|
-
- "dashboard/src-tauri/src/cmd_modules/"
|
|
27
|
-
|
|
28
|
-
requirements:
|
|
29
|
-
- "實作 create_task_branch(task_id, agent_id) -> Result<String, Error>"
|
|
30
|
-
- "實作 checkout_branch(branch_name) -> Result<(), Error>"
|
|
31
|
-
- "實作 merge_to_main(branch_name, message) -> Result<(), Error>"
|
|
32
|
-
- "實作 delete_branch(branch_name) -> Result<(), Error>"
|
|
33
|
-
- "實作 get_commits_ahead(branch) -> Result<u32, Error>"
|
|
34
|
-
- "實作 has_uncommitted_changes() -> Result<bool, Error>"
|
|
35
|
-
- "支援 resume:檢測現有分支的進度"
|
|
36
|
-
|
|
37
|
-
acceptance_criteria:
|
|
38
|
-
- "可自動創建 task-TASK_XXX-agent_XXX 格式的分支"
|
|
39
|
-
- "任務完成後成功合併到 main"
|
|
40
|
-
- "衝突時返回錯誤而非 panic"
|
|
41
|
-
- "分支清理不影響其他分支"
|
|
42
|
-
- "單元測試覆蓋基本 Git 操作"
|
|
43
|
-
|
|
44
|
-
technical_notes:
|
|
45
|
-
- "使用 git2 crate 或直接調用 git 命令"
|
|
46
|
-
- "直接調用 git 命令更簡單,建議優先使用"
|
|
47
|
-
- "需處理 main vs master 分支名稱差異"
|
|
48
|
-
- "Merge commit message 格式:Merge TASK_XXX: Completed by agent_XXX"
|
|
49
|
-
|
|
50
|
-
estimated_hours: 5
|
|
51
|
-
complexity: "medium"
|
|
52
|
-
|
|
53
|
-
metadata:
|
|
54
|
-
created_at: "2026-02-03T16:00:00+08:00"
|
|
55
|
-
created_by: "Product Manager Agent"
|
|
56
|
-
completed_at: "2026-02-03T19:30:00+08:00"
|
|
57
|
-
completed_by: "Dev Agent (Backend Engineer Mode)"
|
|
58
|
-
|
|
59
|
-
completion_notes: |
|
|
60
|
-
## 實作摘要
|
|
61
|
-
|
|
62
|
-
建立了 `dashboard/src-tauri/src/cmd_modules/git.rs` 模組,完整實作所有需求功能:
|
|
63
|
-
|
|
64
|
-
### 核心功能
|
|
65
|
-
- `GitManager::create_task_branch()` - 創建 task-{TASK_ID}-{AGENT_ID} 格式分支
|
|
66
|
-
- `GitManager::checkout_branch()` - 切換分支(含未提交變更檢查)
|
|
67
|
-
- `GitManager::merge_to_main()` - 合併到主分支(含衝突檢測和中止)
|
|
68
|
-
- `GitManager::delete_branch()` - 刪除分支(防止刪除主分支)
|
|
69
|
-
- `GitManager::get_commits_ahead()` / `get_commits_behind()` - 提交數量統計
|
|
70
|
-
- `GitManager::has_uncommitted_changes()` - 未提交變更檢查
|
|
71
|
-
|
|
72
|
-
### Resume 支援
|
|
73
|
-
- `GitManager::find_task_branch()` - 查找現有任務分支
|
|
74
|
-
- `GitManager::resume_task_branch()` - 恢復任務分支工作狀態
|
|
75
|
-
|
|
76
|
-
### 其他功能
|
|
77
|
-
- `GitManager::commit_all()` - 暫存並提交所有變更
|
|
78
|
-
- `GitManager::list_branches()` / `list_task_branches()` - 列出分支
|
|
79
|
-
- `GitManager::cleanup_merged_branches()` - 清理已合併分支
|
|
80
|
-
- 自動偵測 main vs master 分支
|
|
81
|
-
- 完整錯誤類型定義 (GitError, GitErrorCode)
|
|
82
|
-
|
|
83
|
-
### 測試覆蓋
|
|
84
|
-
- 29 個單元測試全部通過
|
|
85
|
-
- 覆蓋所有核心功能和邊界情況
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# TASK_045: Task Queue Manager
|
|
2
|
-
# Schema: dev/schemas/TASK.schema.json
|
|
3
|
-
|
|
4
|
-
id: "TASK_045"
|
|
5
|
-
title: "任務佇列管理模組"
|
|
6
|
-
description: |
|
|
7
|
-
擴展現有的 cmd_modules/task.rs,實作完整的任務佇列管理功能。
|
|
8
|
-
|
|
9
|
-
核心功能:
|
|
10
|
-
1. 任務狀態更新
|
|
11
|
-
2. 依賴解析(找出可執行任務)
|
|
12
|
-
3. 優先級排序
|
|
13
|
-
4. 任務文件移動(tasks/ -> completed/)
|
|
14
|
-
|
|
15
|
-
priority: "P0"
|
|
16
|
-
status: "pending"
|
|
17
|
-
agent_type: "backend"
|
|
18
|
-
source: "Multi-Agent Scheduler 重構"
|
|
19
|
-
feature_ids:
|
|
20
|
-
- "F-SCHEDULER"
|
|
21
|
-
|
|
22
|
-
dependencies:
|
|
23
|
-
- "TASK_041"
|
|
24
|
-
|
|
25
|
-
scope_paths:
|
|
26
|
-
- "dashboard/src-tauri/src/cmd_modules/task.rs"
|
|
27
|
-
|
|
28
|
-
requirements:
|
|
29
|
-
- "實作 update_task_status(task_id, status, metadata) -> Result<(), Error>"
|
|
30
|
-
- "實作 get_ready_tasks() -> Vec<Task> 返回可執行任務"
|
|
31
|
-
- "實作依賴解析:只返回依賴已完成的任務"
|
|
32
|
-
- "實作優先級排序:P0 > P1 > P2 > P3"
|
|
33
|
-
- "實作 move_to_completed(task_id) -> Result<(), Error>"
|
|
34
|
-
- "任務狀態變更時自動更新 last_updated"
|
|
35
|
-
- "支援設定 assigned_agent 和 branch 欄位"
|
|
36
|
-
|
|
37
|
-
acceptance_criteria:
|
|
38
|
-
- "只有依賴全部完成的任務才會被返回"
|
|
39
|
-
- "任務按優先級正確排序"
|
|
40
|
-
- "狀態更新正確持久化到 TASK_QUEUE.json"
|
|
41
|
-
- "已完成任務正確移動到 completed/ 目錄"
|
|
42
|
-
- "單元測試覆蓋依賴解析和排序邏輯"
|
|
43
|
-
|
|
44
|
-
technical_notes:
|
|
45
|
-
- "擴展現有 task.rs,不要建立新文件"
|
|
46
|
-
- "使用 tokio::fs 進行非同步文件操作"
|
|
47
|
-
- "文件寫入使用重試機制避免競爭條件"
|
|
48
|
-
|
|
49
|
-
estimated_hours: 4
|
|
50
|
-
complexity: "medium"
|
|
51
|
-
|
|
52
|
-
metadata:
|
|
53
|
-
created_at: "2026-02-03T16:00:00+08:00"
|
|
54
|
-
created_by: "Product Manager Agent"
|