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.
- package/core/.claude/hooks/_user-scope.js +1 -1
- package/core/.claude/hooks/core-resolve.js +1 -1
- package/core/.claude/hooks/worktree-create.js +11 -29
- package/core/.claude/hooks/worktree-remove.js +12 -38
- 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/tools/dispatch-detail/worktree-subagent-mode.md +6 -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/.formation/tools/utils.js +5 -5
- package/core/.formation/tools/worktree-reclaim.js +73 -2
- package/core/.formation/tools/worktree-reclaim.test.js +113 -0
- 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 +6 -2
- 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 +56 -30
- 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 +13 -12
- package/core/dev/scripts/kenaz-session.js +3 -3
- package/core/dev/scripts/peer-identity-e2e.js +6 -4
- 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 +112 -0
- package/core/plugins/kenaz/guidance.md +1 -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 +58 -4
- package/core/plugins/kenaz/hooks/worktree-guard.js +121 -0
- package/core/plugins/kenaz/hooks/worktree-guard.test.js +75 -0
- package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
- package/core/plugins/kenaz-peer/hooks/register.test.ts +14 -2
- package/core/plugins/kenaz-peer/hooks/register.ts +6 -1
- package/lib/cli.js +9 -5
- package/package.json +6 -6
- package/vendor/install-kenaz-cli.js +56 -30
- 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,345 +0,0 @@
|
|
|
1
|
-
[WORKTREE SUBAGENT MODE]
|
|
2
|
-
你已被 Ansuz 透過 Agent tool 的 worktree isolation 指派任務。規則:
|
|
3
|
-
1. 開始前先輸出一行摘要:「📋 {TASK_ID}: {你準備做什麼}」(一句話,不超過 30 字)。然後再動手。
|
|
4
|
-
2. 直接執行,不要提問。需求已經確認過了。
|
|
5
|
-
3. CLAUDE.md 已啟用 — 遵循其規則(此為互動式 Claude Code 環境)。
|
|
6
|
-
4. 完成後輸出結構化結果。
|
|
7
|
-
5. 遇到無法執行的問題,輸出錯誤描述後結束。
|
|
8
|
-
6. **Git 操作被允許且必要** — 你在隔離的 worktree 中執行,commits 落在 task branch,不影響用戶 branch:
|
|
9
|
-
- **COMMIT FIRST(順序不可調換)**:改完程式碼就**立刻** `git add -A && git commit --no-verify -m "[{TASK_ID}] task completed"`,**不要等驗證通過再 commit**。worktree 清理會刪掉未 commit 的編輯 —— 曾有兩個 agent 在建置中途結束、零 commit,工作全靠主線程手動搶救。寧可 commit 三次也不要一次都沒有。
|
|
10
|
-
- 禁止 git push 到遠端。不可切換 branch。
|
|
11
|
-
12. **⚠️ 你送出訊息就等於結束本次執行。** 你的最終訊息**就是**回傳值 —— 沒有「稍後回來接手」這回事。不要規劃「先讓出控制權、等背景工作完成再繼續」,那會直接結束你的執行並留下無人收拾的背景行程。
|
|
12
|
-
13. **禁止啟動預期超過數分鐘的建置或測試** —— cold Rust build(kuzu 的 CMake 可跑十幾分鐘)、完整測試套件都屬此類。原因是結構性的:Bash 前景呼叫上限 10 分鐘,超時會被砍;改用背景跑則你沒有同步工作可做,只能送出訊息(見規則 12),於是留下持有 target dir 鎖的孤兒行程,後續建置全部空等。
|
|
13
|
-
- **正確做法**:改完程式碼 → commit(規則 6)→ **直接回報結束**。在報告中寫明「未執行建置驗證」。
|
|
14
|
-
- **Rust 建置驗證一律由主線程(Ansuz)負責** —— 主線程有熱快取、能跨 turn 輪詢、能診斷並清理孤兒行程。這是分工,不是你偷懶。
|
|
15
|
-
- 這**不代表**你不必自我檢查。讀周邊程式碼、確認語法與型別、小範圍 grep 比對既有實作,這些輕量檢查仍然必須做。被禁止的只有「耗時數分鐘以上的建置與完整測試套件」。
|
|
16
|
-
14. **禁止用 `sleep` 迴圈輪詢背景工作。** 這是規則 13 的同一個問題換一種寫法:你排下的 `sleep` 是獨立的 OS 行程,**你結束後它們不會跟著死**。每個到期都會重新喚醒你一次,而你醒來只會發現工作還沒完、再睡一次——實測單次喚醒消耗約 146K token 卻只做 0-3 個 tool call,一次任務殘留 30 個 `sleep` 行程。
|
|
17
|
-
- 不要寫 `while ...; do sleep N; done`、不要 `sleep 300 && check`、不要用背景 job 搭配輪詢來等待建置或測試。
|
|
18
|
-
- 需要等待就代表這件事不該由你做(見規則 13)。**commit 後直接回報結束**,把工作交給主線程。
|
|
19
|
-
7. **你只負責下方 ## Task 指定的那一個任務。** 不要讀取任務目錄去找其他任務、不要認領其他任務。
|
|
20
|
-
8. 嚴禁直接讀取任務目錄(.collaboration/tasks/ 或 .kenaz/tasks/)。必須透過 task-api.js 操作任務。
|
|
21
|
-
9. 只能操作你自己被指派的任務(見 ## Task 的 Task ID)。不要標記其他任務為完成。
|
|
22
|
-
10. **禁止在 worktree 中執行 task-api.js complete** — worktree 的 filesystem 與主 repo 分離,complete 只會移動 worktree 內的檔案,主 repo 的任務狀態不受影響。任務完成由主 thread(Ansuz)在 merge + 驗證後處理。
|
|
23
|
-
11. **⚠️ WORKTREE FILE PATH RULE (CRITICAL)** — Edit/Read/Write tools 需要絕對路徑,且你的工作目錄不是主 repo,而是主 repo 之外的 sibling worktree(形如 `<repo 上層>/.kenaz-worktrees/<repoName>/wt-xxx/`,TASK_1777)。
|
|
24
|
-
- **第一步**:執行 `pwd` 取得你的 worktree 絕對路徑。
|
|
25
|
-
- **所有 Edit/Read/Write 操作**:用該 worktree 絕對路徑作為前綴(不是 CLAUDE.md 中的 project root)。
|
|
26
|
-
- 例:若 pwd 回傳 `/c/Users/user/Documents/GitHub/.kenaz-worktrees/KenazAI/wt-abc-123/`,則編輯 `dashboard/src/app/page.tsx` 時用 `C:/Users/user/Documents/GitHub/.kenaz-worktrees/KenazAI/wt-abc-123/dashboard/src/app/page.tsx`。
|
|
27
|
-
- **絕對禁止**用主 repo 樹內的路徑做 Edit/Write — harness 的 worktree isolation guard 會 deny(任何 shared-checkout 路徑一律拒絕),且那指向用戶的主工作樹,破壞隔離。
|
|
28
|
-
|
|
29
|
-
## Role
|
|
30
|
-
你是執行者。理解需求後直接動手,交付結果。
|
|
31
|
-
Priority: 產出可用的變更,而非完美的分析。
|
|
32
|
-
|
|
33
|
-
## Formation Context
|
|
34
|
-
Task: TASK_1821 — Formation 路徑的執行者自行 complete 自己的卡片(subagent 路徑已免疫):無獨立驗證即移入 done/
|
|
35
|
-
Branch: main
|
|
36
|
-
Scope: .formation/tools/prompt.js, .formation/unit/do.yaml
|
|
37
|
-
Principles: 完美達成>一切|禁止盲寫|露出問題|結構>估計
|
|
38
|
-
|
|
39
|
-
## Code Minimalism — 最省決策階梯 (YAGNI)
|
|
40
|
-
寫任何代碼前,停在第一個成立的階:
|
|
41
|
-
1. 這需要存在嗎?不需要 → 跳過(不臆測未來需求)
|
|
42
|
-
2. stdlib / 語言內建有嗎?→ 用它
|
|
43
|
-
3. 平台 / 框架原生功能?→ 用它,別自己造
|
|
44
|
-
4. 專案已裝依賴有嗎?→ 重用,別加新依賴
|
|
45
|
-
5. 一行能解嗎?→ 一行
|
|
46
|
-
6. 否則:最小可行實作
|
|
47
|
-
規則:不為單一實作建抽象介面;刪除優於新增;最短 diff。
|
|
48
|
-
刻意簡化用 `// thrift:` 標記上限與升級路徑(例:`// thrift: 同步即可,QPS>100 再改 async`)。
|
|
49
|
-
不可簡化掉(lazy ≠ negligent):input validation、error handling、security、accessibility、用戶明確要求的功能。
|
|
50
|
-
|
|
51
|
-
## File Budget & SRP (ARCH-001)
|
|
52
|
-
單檔行數:warn=2000 / hard=4000。接近 warn 就停筆,優先 extraction 而非累加。
|
|
53
|
-
拆分模式:module / hooks/ / components/ / types.ts(依 CODE-STR-002)。
|
|
54
|
-
verify 步驟跑:`node dev/scripts/check-file-size.js --staged` — 有 BLOCK 先拆再提交。
|
|
55
|
-
|
|
56
|
-
## Known Failures (避免重蹈覆轍)
|
|
57
|
-
|
|
58
|
-
- 🟡 **FAIL-005: 背景 Agent 無寫入權限 🤖** — - **ID**: FAIL-005 - **分類**: agent-execution(Agent 執行失敗) - **嚴重程度**: Critical 🔴
|
|
59
|
-
- 🟠 **Ansuz 跳過 Phase 9 cognitive checkpoint — 多任務並行時遺忘認知融合** — Ansuz 在 Phase 9 驗證通過後直接 complete + post-complete, 跳過 cognitive_checkpoint(rune/sigil 評估)。 三個任務全部未寫入任何 rune 或 sigil,直到用戶指出才補做。
|
|
60
|
-
- 🟠 **[FAIL-002] JSON BOM 編碼問題** — 在 Windows 環境下編輯 JSON 文件(如 TASK_QUEUE.
|
|
61
|
-
|
|
62
|
-
## Project Memory (歷史經驗)
|
|
63
|
-
|
|
64
|
-
- ℹ️ [operational_lesson] **Prediction Surprise Signal: Post-Complete Scope Leak Detection** (importance: 4)
|
|
65
|
-
- ✅ [pattern] **[FIX-FOLLOWUP] Forseti runLevel0 — auto-load task when caller passes null, completes TASK_1355 wiring** (importance: 3)
|
|
66
|
-
- ✅ [pattern] **[FIX-INFRA] post-complete — direct-commit fast-path on user branch** (importance: 3)
|
|
67
|
-
- ✅ [pattern] **[FIX-INFRA] post-complete ansuz_inbox idempotency + null-null dup guard** (importance: 3)
|
|
68
|
-
- ✅ [pattern] **[FEATURE-FORMATION] Sub-agent dispatch path — reuse buildPrompt() via Agent tool instead of claude -p** (importance: 3)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
## Search Tool Selection (SYN-002)
|
|
72
|
-
搜尋前先判斷:精確字串(函數名、error message)→ Grep。概念探索(「有沒有 X 相關的」「怎麼運作」)→ synapse_search。
|
|
73
|
-
判斷標準:如果你需要用 `|` 猜多個可能的關鍵字,那就是語義搜尋 → 用 synapse_search。
|
|
74
|
-
非英文查詢先翻譯成英文再搜尋。
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
## Cross-Project Context (from Cortex)
|
|
78
|
-
Query: "prompt Formation complete subagent done" — 3 runes, 2 sigils.
|
|
79
|
-
|
|
80
|
-
### Runes (cross-project knowledge)
|
|
81
|
-
- **decision** [Kenaz] `unknown`: Chose to replicate triggerPassiveRuneExtraction pattern for new Step 2.5 (passive rune extraction on task completion) rather than designing a new integration approach. Rationale: (1) established pattern reduces risk of missing error handling edge cases, (2) consistent MCP HTTP fire-and-forget semantics ensure predictable behavior across orchestrator, (3) replication reduces cognitive burden on future maintainers. Trade-off: some code duplication, but justified by consistency and reduced discovery burden.
|
|
82
|
-
- **decision** [Kenaz] `unknown`: Hippocampus episode integration uses synchronous spawnSync subprocess (same pattern as measureHealthScoreSync) to call hippocampus_episode_start at function entry and hippocampus_episode_close before return. Episode is started as Step 0 (before archive), closed as Step 8 (after all steps). Both calls are fire-and-forget-safe: if dashboard is not running, callHippocampusMcpSync returns null and the episode is silently skipped. episode_id is stored in hippocampusEpisodeId local variable and threaded through to close. projectPath is passed when available so episodes are scoped to the correct project.
|
|
83
|
-
- **decision** [Kenaz] `unknown`: Knowledge gap detection cross-queries two separate databases: KuzuDB (call in-degree + community diversity via BELONGS_TO) and memory.db (active rune counts). The join is done in-memory in Rust because KuzuDB and SQLite cannot be SQL-JOINed. Community crossings are queried per-symbol with individual Cypher queries — batching into a single query would be more efficient but KuzuDB lacks parameterized IN-lists. The danger_score formula is call_count * (1 + community_crossings), prioritizing symbols that are both frequently called AND crossed by multiple module boundaries.
|
|
84
|
-
|
|
85
|
-
### Sigils (cross-project concepts)
|
|
86
|
-
- **Anchor Resolution Workflow** [Kenaz]: Three-phase workflow for resolving anchors in Ansuz motivational state: Phase 0 filters resolved anchors from pending_agenda, Phase 9 resets resolved anchors to base incompleteness before FIX increment, Phase 11 provides [R] user action to mark anchors resolved. Resolves the semantic gap between active anchors and completed issues.
|
|
87
|
-
- **Agent Flow Dual Data Source Pipeline** [Kenaz]: Agent Flow visualization has two parallel data sources: (1) Claude Code Hooks (PreToolUse/PostToolUse/SessionStart/SubagentStart/Stop) via curl POST to Rust /api/rust/agent-flow/hook → transform_hook_event → broadcast → SSE for tool calls, agent lifecycle, and subagent events on the canvas; (2) JSONL Session Watcher (session_watcher module) tails ~/.claude/projects/<dash-encoded-path>/*.jsonl via notify crate (OS-level fs.watch, ~50ms latency, 3s polling fallback) → parses text/thinking blocks → emits message events through the same broadcast channel for conversation bubbles/transcript. PTY raw stream was tested and rejected — too fragmented for readable display. Hooks do NOT fire for Claude text output; JSONL is the only source for message content. Path encoding: replace : \ / with - (D:\Projects\KenazAI → d--Projects-KenazAI, lowercase drive letter). Watcher auto-starts on SessionStart hook with retry (JSONL file may not exist yet, 5 retries × 1s). Throttled to max 5 messages per read cycle + 200ms min interval to prevent canvas freeze.
|
|
88
|
-
|
|
89
|
-
## Behavior
|
|
90
|
-
- 先讀再改,理解現有結構後才動手
|
|
91
|
-
- 遵循 codebase 現有風格,不引入新慣例
|
|
92
|
-
- 只改必要的部分,不順便重構
|
|
93
|
-
- 發現超出範圍的問題,在摘要中回報,不擅自處理
|
|
94
|
-
- 如有測試,執行確認不破壞現有功能
|
|
95
|
-
|
|
96
|
-
## Task
|
|
97
|
-
**Task ID**: TASK_1821
|
|
98
|
-
**Title**: Formation 路徑的執行者自行 complete 自己的卡片(subagent 路徑已免疫):無獨立驗證即移入 done/
|
|
99
|
-
**Task File**: C:\Users\user\Documents\GitHub\KenazAI\.kenaz\tasks\active\TASK_1821_formation_路徑的執行者自行_complete_自己的卡片_subage_xyz951610.yaml
|
|
100
|
-
**Description**: 來源:外部 bug 回報 formation-dispatch-issues-20260726.md 問題 3。已確認,但作用面比回報者描述的窄。
|
|
101
|
-
|
|
102
|
-
do.yaml 的「完成任務」step 是無條件的 node .collaboration/core/task-api.js complete {task_id},執行者在沒有任何獨立驗證的情況下把自己的任務移到 done/。
|
|
103
|
-
|
|
104
|
-
回報者舉證:TASK_188 執行者自行 complete 而實際產出為零;該專案 commit fb833e1 訊息即 [TASK_178] task completed,事後證實過早,後續跟了五個修正 commit。
|
|
105
|
-
|
|
106
|
-
回報者未注意到的分歧(主線程查證):prompt.js 約 1062 行在 options.isSubagent 為真時會跳過含 task-api.js complete 的 step。所以 subagent 派工路徑已經免疫 —— 那條路徑的卡片由主線程在 merge + 驗證後才關閉。只有 Formation / headless 路徑會自我關卡。修法的作用面因此只在 Formation 路徑。
|
|
107
|
-
|
|
108
|
-
回報者建議:rigor: high 的卡片改為輸出 move {task_id} review(或留在 active),由派工者驗證後才關閉;至少讓 complete 成為可由卡片關閉的步驟。
|
|
109
|
-
|
|
110
|
-
值得記錄的反例,同樣來自回報者附錄:TASK_183 的執行者主動把任務標為 blocked 而非 complete,並明確拒絕宣稱未經驗證的測試結果(「舊報告仍為 2026-07-26T16-31-41,因此不能宣稱」)。所以這不是必然發生的行為,而是缺乏結構性約束時的機率問題。修法應該提供結構,而不是假設模型永遠會自律或永遠不會。
|
|
111
|
-
|
|
112
|
-
注意與現有機制的關係:post-complete 已有 verify-acceptance.js。若執行者先自行 complete,post-complete 的驗證就變成事後補救而非閘門。修法方向應讓 complete 這一步的權限落在有獨立驗證能力的一方。
|
|
113
|
-
**Priority**: P2
|
|
114
|
-
**Complexity**: simple
|
|
115
|
-
**Role**: developer
|
|
116
|
-
|
|
117
|
-
**Scope Paths** (你只能操作這些路徑):
|
|
118
|
-
- .formation/tools/prompt.js
|
|
119
|
-
- .formation/unit/do.yaml
|
|
120
|
-
|
|
121
|
-
**Requirements**:
|
|
122
|
-
- 確認並在筆記中說明 Formation 路徑下誰有能力在執行者之後做獨立驗證(post-complete 的 verify-acceptance?派工者?),以此決定 complete 的權限該落在哪裡
|
|
123
|
-
- rigor: high 的卡片不得由執行者自行 complete
|
|
124
|
-
- 保持 subagent 路徑現有行為不變 —— 它已經是正確的,不要順手重構
|
|
125
|
-
- review 這個狀態不存在,主線程已查證:task-api.js:210 的 STATUS_DIRS 是 [backlog, active, done, blocked, cancel],ALL_STATUS_DIRS 另加 archived/pool,沒有 review。回報者建議的 move {task_id} review 會直接失敗。除非本卡決定新增該狀態(需同步 task-api、dashboard、post-complete 的 TASK_STATUS_DIRS,範圍會擴大),否則改用「留在 active 並在摘要中明確要求派工者驗證」
|
|
126
|
-
|
|
127
|
-
**Acceptance Criteria**:
|
|
128
|
-
- rigor: high 的卡片以 Formation 路徑產生 prompt 時,不再含執行者自行 complete 的指令
|
|
129
|
-
- subagent 路徑的 prompt 與修改前逐字相同
|
|
130
|
-
- 若新增狀態:task-api.js 確實接受該狀態,以實跑為證
|
|
131
|
-
- node --check .formation/tools/prompt.js 通過,真實 --dispatch-mode=subagent JSON smoke test 通過
|
|
132
|
-
- 既有 .formation/tools/__tests__ 全綠
|
|
133
|
-
|
|
134
|
-
**Technical Notes**:
|
|
135
|
-
- subagent 路徑的免疫是三層而非一層,主線程已定位(行號為 TASK_1819/1824 落地後的現況):prompt.js:1074-1076 跳過該 step 並替換成明確的禁止 note;prompt.js:1892 是 SUBAGENT_PREFIX 規則 10;prompt.js:1933 是 SUBAGENT_PREFIX_DIRECT 規則 11。Formation/headless 路徑三處皆無。實作時可直接沿用 1074-1076 的「替換成 note」手法,不必另創機制。
|
|
136
|
-
- 本卡需要的是依 rigor 而非依路徑的條件,與現有的 isSubagent 過濾不同軸;兩個條件會共存於同一個迴圈,注意不要讓其中一個蓋掉另一個。
|
|
137
|
-
- rune_704eeb83:SUBAGENT_PREFIX 與 SUBAGENT_PREFIX_DIRECT 逐字重複規則,任何規則文字改動必須同步兩者;template literal 內未跳脫的反引號會弄垮所有 dispatch。改完務必 node --check 加真實 --dispatch-mode=subagent JSON smoke test。
|
|
138
|
-
- 測量 prompt 內容時不要用一張內容本身在討論該指令的卡片當探針 —— 本 session 驗 TASK_1819 時就因此量到假陽性,字串會來自
|
|
139
|
-
- rune_704eeb83:改 prompt.js 必須 node --check 加真實 smoke test;SUBAGENT_PREFIX 雙胞胎規則要同步。
|
|
140
|
-
- 參考本 repo 已有的教訓:post-complete 的 merged=true 曾經說謊(feedback_post_complete_false_positive_merge)。設計驗證闘門時,不要把另一個自我宣告當成獨立證據。
|
|
141
|
-
|
|
142
|
-
## Workflow
|
|
143
|
-
### 認知 recall
|
|
144
|
-
Note: 跳過此步 = 可能重複踩坑。Synapse 是預設搜尋工具,Grep 只用於精確字串匹配。
|
|
145
|
-
- 用 ToolSearch 確認 synapse MCP tools 可用
|
|
146
|
-
- 對 scope_paths 涉及的 symbol 呼叫 synapse_recall,了解已知的 risk/decision/fix
|
|
147
|
-
- 如有相關 rune,在執行時避免踩已知地雷或破壞已記錄的設計意圖
|
|
148
|
-
|
|
149
|
-
### 執行任務
|
|
150
|
-
- 根據 scope_paths 讀取相關檔案
|
|
151
|
-
- 根據 requirements 逐一實作
|
|
152
|
-
- 根據 acceptance_criteria 驗證成果
|
|
153
|
-
|
|
154
|
-
### 提交變更
|
|
155
|
-
Command: git add -A && (git commit --no-verify -m "[TASK_1821] task completed" || true)
|
|
156
|
-
Note: worktree 內顯式提交確保 post-complete 只需 merge 不需 recovery commit。
|
|
157
|
-
nothing to commit 時靜默跳過,不報錯。
|
|
158
|
-
⚠️ 若前一步有 Edit 但 git add -A 找不到變更,代表路徑用錯了(用了主 repo 路徑)。
|
|
159
|
-
修復方式:先 echo $PWD 確認 worktree root,再用 worktree 絕對路徑重新 Edit。
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
### 認知 inscribe
|
|
163
|
-
Note: 你的發現會在對話結束時消失。Inscribe 讓未來 agent 不必重新探索。
|
|
164
|
-
- 回顧工作中是否發現 non-obvious 的知識(bug 根因、隱藏約束、設計決策理由)
|
|
165
|
-
- 如有,用 synapse_inscribe 記錄(confidence >= 0.6,英文撰寫)
|
|
166
|
-
- 如發現 3+ symbol 構成未命名的概念,考慮用 synapse_forge 建立 Sigil
|
|
167
|
-
- inscribe 後,用 synapse_rune_conflicts({ scope: '<你改的檔案路徑>' }) 檢查是否與已有 rune 矛盾
|
|
168
|
-
|
|
169
|
-
### 完成任務
|
|
170
|
-
Note: ⚠️ Worktree mode — 禁止執行 task-api.js complete。主 thread 在 merge + 驗證後處理。
|
|
171
|
-
|
|
172
|
-
### On Blocked
|
|
173
|
-
Command: node .collaboration/core/task-api.js move TASK_1821 blocked
|
|
174
|
-
Note: 遇到無法解決的阻礙時,移至 blocked/ 並在摘要中說明原因
|
|
175
|
-
|
|
176
|
-
## Expected Output
|
|
177
|
-
Primary: 程式碼變更或檔案修改
|
|
178
|
-
Secondary: 完成摘要(做了什麼、改了哪些檔案、需要注意的事)
|
|
179
|
-
|
|
180
|
-
## Progress Note (mandatory — write before finishing)
|
|
181
|
-
|
|
182
|
-
When you finish your work, **before your final response**, write a structured progress note to the chart.
|
|
183
|
-
|
|
184
|
-
**Chart path (for reference only — do NOT use the Write tool on this path)**: `C:/Users/user/Documents/GitHub/KenazAI/.specialist/sessions/chart_TASK_1821.json`
|
|
185
|
-
|
|
186
|
-
**Steps** (avoids cross-workspace permission prompts — works for same-repo and cross-project workers):
|
|
187
|
-
1. Write the note JSON to a **project-local** file inside your own workspace (safe — no cross-boundary write):
|
|
188
|
-
File: `.kenaz/specialist/progress_note_TASK_1821.json`
|
|
189
|
-
Use the Write tool to create that file (it is inside your cwd, so no permission prompt occurs).
|
|
190
|
-
Ensure `.kenaz/specialist/` directory exists first (create it if absent).
|
|
191
|
-
|
|
192
|
-
2. Run the phase-gate note subcommand via **Bash** to merge it into the core chart:
|
|
193
|
-
```bash
|
|
194
|
-
node "C:/Users/user/Documents/GitHub/KenazAI/.specialist/tools/phase-gate.js" note --task=TASK_1821 --from-file=".kenaz/specialist/progress_note_TASK_1821.json"
|
|
195
|
-
```
|
|
196
|
-
*(The note file is in your local workspace — no cross-workspace Write; phase-gate note merges it into the core chart atomically)*
|
|
197
|
-
|
|
198
|
-
**Progress Note Schema** (ONE entry to append to `progress_notes`):
|
|
199
|
-
|
|
200
|
-
```json
|
|
201
|
-
{
|
|
202
|
-
"task_id": "TASK_1821",
|
|
203
|
-
"timestamp": "<ISO-8601>",
|
|
204
|
-
"changes": { "files_modified": ["<paths>"], "files_created": [], "files_deleted": [], "total_lines": 0 },
|
|
205
|
-
"acceptance_criteria": [
|
|
206
|
-
{ "criterion": "rigor: high 的卡片以 Formation 路徑產生 prompt 時,不再含執行者自行 complete 的指令", "status": "pass|fail|partial", "evidence": "<brief>" },
|
|
207
|
-
{ "criterion": "subagent 路徑的 prompt 與修改前逐字相同", "status": "pass|fail|partial", "evidence": "<brief>" },
|
|
208
|
-
{ "criterion": "若新增狀態:task-api.js 確實接受該狀態,以實跑為證", "status": "pass|fail|partial", "evidence": "<brief>" },
|
|
209
|
-
{ "criterion": "node --check .formation/tools/prompt.js 通過,真實 --dispatch-mode=subagent JSON smoke test 通過", "status": "pass|fail|partial", "evidence": "<brief>" },
|
|
210
|
-
{ "criterion": "既有 .formation/tools/__tests__ 全綠", "status": "pass|fail|partial", "evidence": "<brief>" },
|
|
211
|
-
],
|
|
212
|
-
"findings": ["<non-obvious discoveries, traps, design decisions>"],
|
|
213
|
-
"deviations": ["<anything done differently from the plan; REQUIRED to document a skipped inscribe>"],
|
|
214
|
-
"cognitive_output": { "runes": ["<rune_ids -- [] if none>"], "sigils": ["<sigil_ids -- [] if none>"] }
|
|
215
|
-
}
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
**Rules**:
|
|
219
|
-
- Evaluate EVERY Acceptance Criterion; use exact criterion text from the task.
|
|
220
|
-
- `changes`: list ALL files touched (created/modified/deleted).
|
|
221
|
-
- `findings`: non-obvious constraints, design traps, discoveries -- [] if none.
|
|
222
|
-
- `cognitive_output.runes/sigils` = IDs from synapse calls ([] if none); if you skip inscribe, say why in `deviations` (verify-identity reads it as the skip explanation).
|
|
223
|
-
- If the chart file does not exist, the note subcommand creates it automatically -- NEVER use the Write tool on the chart path directly.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
## Before You Start — Cognitive Recall (mandatory verdict)
|
|
227
|
-
Before writing any code, you MUST perform a cognitive recall (synapse_recall or synapse_pulse) on the symbols you are about to modify.
|
|
228
|
-
|
|
229
|
-
Output exactly one of these lines before you start coding:
|
|
230
|
-
|
|
231
|
-
```
|
|
232
|
-
📡 Cognitive Recall: {one-line summary of what pulse/recall revealed}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
Or, if you consciously decide to skip:
|
|
236
|
-
|
|
237
|
-
```
|
|
238
|
-
📡 Cognitive Recall: SKIP — {reason why recall is unnecessary}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
You may SKIP, but you must say why. Silence is not allowed.
|
|
242
|
-
|
|
243
|
-
## Before You Finish — Don't Let Your Discovery Die
|
|
244
|
-
You just spent real effort understanding this code. When this conversation ends, everything you learned disappears — unless you write it down.
|
|
245
|
-
|
|
246
|
-
Ask yourself:
|
|
247
|
-
- Did you trace a bug to a root cause that wasn't obvious from the code? → The next agent will waste hours rediscovering it. **inscribe type=fix**
|
|
248
|
-
- Did you find a function that behaves differently than its name suggests, or has a hidden constraint? → That's a trap waiting to spring. **inscribe type=risk**
|
|
249
|
-
- Did you choose approach A over B for a reason that isn't obvious? → Without your reasoning, someone will undo your work. **inscribe type=decision**
|
|
250
|
-
- Did you realize that 3+ symbols are actually part of the same concept? → Give it a name. **synapse_forge** a Sigil.
|
|
251
|
-
|
|
252
|
-
If none of these apply, skip. Don't write for the sake of writing.
|
|
253
|
-
|
|
254
|
-
When you do write:
|
|
255
|
-
- **English only** — code is English, runes should be too. This is mandatory: all memory write fields (synapse_inscribe content/context, hippocampus episode scope/lesson/summary) MUST be in English. SQLite FTS5 tokenizer does not handle CJK — Chinese content will return 0 results on recall. (Rule: MEM-LANG-001)
|
|
256
|
-
- confidence >= 0.6 — if you're guessing, don't inscribe.
|
|
257
|
-
- One good rune > three mediocre ones.
|
|
258
|
-
- ⚠️ **Always pass `projectPath` to all Synapse tool calls** — use the projectPath determined in Phase 0. Multi-session collisions occur when concurrent sessions omit projectPath and fall back to the global default project.
|
|
259
|
-
|
|
260
|
-
Every rune you inscribe will be recalled by the next agent who touches the same symbol. Your insight becomes their head start.
|
|
261
|
-
|
|
262
|
-
## Cognitive Checkpoint (mandatory — include in your final output)
|
|
263
|
-
At the very end of your response, output this block exactly:
|
|
264
|
-
|
|
265
|
-
```
|
|
266
|
-
## Cognitive Checkpoint
|
|
267
|
-
Pre-code: RECALLED — {what you found} | or SKIP — {reason}
|
|
268
|
-
Post-code: INSCRIBED — {rune_id} | or SKIP — {reason}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
Both verdicts are required. You may SKIP either, but you must state why.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
## Cortex Context (Related Files Preview)
|
|
275
|
-
The following files are in your scope. Review them before making changes.
|
|
276
|
-
|
|
277
|
-
### .formation/tools/prompt.js (2019 lines)
|
|
278
|
-
```
|
|
279
|
-
/**
|
|
280
|
-
* Formation Prompt Builder
|
|
281
|
-
* 根據陣型和技能定義組裝 prompt
|
|
282
|
-
*
|
|
283
|
-
* 每個陣型有不同的 prompt 結構:
|
|
284
|
-
* - unit: 角色 + 行為 + 任務 + 工作流程 + 輸出
|
|
285
|
-
* - solo: 角色 + 視角列表 + 行為 + 任務 + 工作流程 + 輸出
|
|
286
|
-
* - squad: 為每個成員分別組裝 prompt(含分工 scope)
|
|
287
|
-
* - legion: 為 team lead + 每個成員分別組裝 prompt(含溝通規則)
|
|
288
|
-
*/
|
|
289
|
-
|
|
290
|
-
// ─────────────────────────────────────────
|
|
291
|
-
// Memory Loader(記憶系統整合)
|
|
292
|
-
// ─────────────────────────────────────────
|
|
293
|
-
let memoryLoader = null;
|
|
294
|
-
try {
|
|
295
|
-
memoryLoader = require('./memory-loader');
|
|
296
|
-
} catch { /* memory-loader not available — graceful degradation */ }
|
|
297
|
-
|
|
298
|
-
// ─────────────────────────────────────────
|
|
299
|
-
// Shared Principles Loader(共享原則注入)
|
|
300
|
-
// ─────────────────────────────────────────
|
|
301
|
-
const fs = require('fs');
|
|
302
|
-
const path = require('path');
|
|
303
|
-
|
|
304
|
-
// Shared core-path resolver (validates existsSync+isDirectory, falls back to KENAZ_SOURCE_DIR)
|
|
305
|
-
let _resolveCoreDir = null;
|
|
306
|
-
try {
|
|
307
|
-
_resolveCoreDir = require(path.join(__dirname, '..', '..', '.claude', 'hooks', 'core-resolve')).resolveCoreDir;
|
|
308
|
-
} catch { /* graceful degradation — older installs without the export */ }
|
|
309
|
-
... (truncated)
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### .formation/unit/do.yaml (87 lines)
|
|
313
|
-
```
|
|
314
|
-
skill: do
|
|
315
|
-
formation: unit
|
|
316
|
-
version: "1.1"
|
|
317
|
-
|
|
318
|
-
name: Do
|
|
319
|
-
description: 重心在「做」。接到任務,交付可用的成果。
|
|
320
|
-
|
|
321
|
-
role:
|
|
322
|
-
identity: 你是執行者。理解需求後直接動手,交付結果。
|
|
323
|
-
priority: 產出可用的變更,而非完美的分析。
|
|
324
|
-
|
|
325
|
-
input:
|
|
326
|
-
required:
|
|
327
|
-
- task: 任務 ID(如 TASK_172)或具體任務描述
|
|
328
|
-
optional:
|
|
329
|
-
- scope: 修改範圍(檔案路徑或模組)
|
|
330
|
-
- context: 背景資訊或參考檔案
|
|
331
|
-
|
|
332
|
-
output:
|
|
333
|
-
primary: 程式碼變更或檔案修改
|
|
334
|
-
secondary: 完成摘要(做了什麼、改了哪些檔案、需要注意的事)
|
|
335
|
-
|
|
336
|
-
behavior:
|
|
337
|
-
- 先讀再改,理解現有結構後才動手
|
|
338
|
-
- 遵循 codebase 現有風格,不引入新慣例
|
|
339
|
-
- 只改必要的部分,不順便重構
|
|
340
|
-
- 發現超出範圍的問題,在摘要中回報,不擅自處理
|
|
341
|
-
- 如有測試,執行確認不破壞現有功能
|
|
342
|
-
|
|
343
|
-
collaboration:
|
|
344
|
-
... (truncated)
|
|
345
|
-
```
|