kenaz 0.3.22 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/core/.claude/hooks/_user-scope.js +1 -1
  2. package/core/.claude/hooks/core-resolve.js +1 -1
  3. package/core/.claude/hooks/worktree-create.js +11 -29
  4. package/core/.claude/hooks/worktree-remove.js +12 -38
  5. package/core/.collaboration/core/reconcile.js +16 -1
  6. package/core/.collaboration/core/task-2467-lifecycle.test.js +63 -0
  7. package/core/.collaboration/core/task-api.js +37 -7
  8. package/core/.formation/bifrost/launch.js +1 -1
  9. package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +6 -1
  10. package/core/.formation/tools/kenaz-stats.js +1 -1
  11. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  12. package/core/.formation/tools/prompt.js +1 -1
  13. package/core/.formation/tools/utils.js +5 -5
  14. package/core/.formation/tools/worktree-reclaim.js +73 -2
  15. package/core/.formation/tools/worktree-reclaim.test.js +113 -0
  16. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  17. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  18. package/core/.rule/general/project-self-containment.yaml +2 -2
  19. package/core/.specialist/Amelia/README.md +1 -1
  20. package/core/.specialist/Amelia/rule.yaml +1 -1
  21. package/core/.specialist/Ansuz/RULES.md +6 -2
  22. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  23. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  24. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  25. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  26. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  27. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  28. package/core/.specialist/tools/failure-detector.js +4 -4
  29. package/core/.specialist/tools/handoff-doc.js +1 -1
  30. package/core/.specialist/tools/lessons.js +2 -2
  31. package/core/CLAUDE.md +5 -5
  32. package/core/KENAZ_CORE_VERSION +1 -1
  33. package/core/dashboard/scripts/install-kenaz-cli.js +56 -30
  34. package/core/dev/scripts/check-file-size.js +1 -1
  35. package/core/dev/scripts/ci-feedback.js +1 -1
  36. package/core/dev/scripts/gc-agent-worktrees.js +13 -12
  37. package/core/dev/scripts/kenaz-session.js +3 -3
  38. package/core/dev/scripts/peer-identity-e2e.js +6 -4
  39. package/core/dev/scripts/run-rust-tests.js +2 -2
  40. package/core/dev/scripts/skill-routing-replay.js +3 -3
  41. package/core/dev/scripts/task1961/selftest.js +2 -2
  42. package/core/dev/scripts/windows-hide-guard.test.js +112 -0
  43. package/core/plugins/kenaz/guidance.md +1 -0
  44. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  45. package/core/plugins/kenaz/hooks/hooks.json +9 -0
  46. package/core/plugins/kenaz/hooks/kenaz-hook.js +58 -4
  47. package/core/plugins/kenaz/hooks/worktree-guard.js +121 -0
  48. package/core/plugins/kenaz/hooks/worktree-guard.test.js +75 -0
  49. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  50. package/core/plugins/kenaz-peer/hooks/register.test.ts +14 -2
  51. package/core/plugins/kenaz-peer/hooks/register.ts +6 -1
  52. package/lib/cli.js +9 -5
  53. package/package.json +6 -6
  54. package/vendor/install-kenaz-cli.js +56 -30
  55. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  56. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  57. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  58. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  59. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  60. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  61. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  62. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  63. package/core/.kenaz/main-memory/README.md +0 -230
  64. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  65. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  66. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  67. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  68. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  69. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  70. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  71. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  72. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  73. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  74. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  75. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  76. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  77. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  78. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  79. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  80. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  81. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  82. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  83. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  84. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  85. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  86. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  87. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  88. package/core/.kenaz/main-memory/registry.json +0 -326
  89. package/core/.kenaz/main-memory/version.yaml +0 -58
  90. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  91. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  92. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  93. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  94. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  95. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  96. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  97. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  98. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  99. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  100. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  101. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  102. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  103. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  104. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  105. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  106. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  107. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  108. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  109. package/core/.kenaz/specialist/task1825_update.json +0 -43
  110. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  111. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  112. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  113. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  114. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  115. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  116. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  117. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  118. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  119. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  120. package/core/.specialist/ansuz_session_handoff.json +0 -96
  121. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  122. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  123. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  124. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  125. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  126. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  127. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  128. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  129. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  130. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  131. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  132. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  133. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  134. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  135. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  136. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  137. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  138. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  139. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  140. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  141. package/core/dev/PRODUCT_SPEC.md +0 -317
  142. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  143. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  144. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  145. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  146. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  147. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  148. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  149. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  150. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  151. package/core/dev/ansuz-eval/README.md +0 -38
  152. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  153. package/core/dev/ansuz-eval/grade.js +0 -96
  154. package/core/dev/ansuz-eval/grader.test.js +0 -117
  155. package/core/dev/ansuz-eval/tasks.md +0 -32
  156. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  157. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  158. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  159. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  160. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  161. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  162. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  163. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  164. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  165. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  166. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  167. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  168. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  169. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  170. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  171. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  172. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  173. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  174. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  175. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  176. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  177. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  178. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  179. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  180. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  181. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  182. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  183. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  184. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  185. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  186. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  187. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  188. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  189. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  190. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  191. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  192. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  193. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  194. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  195. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  196. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  197. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  198. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  199. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  200. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  201. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  202. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  203. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  204. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  205. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  206. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  207. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  208. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  209. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  210. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  211. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  212. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  213. package/core/dev/jev-eval/README.md +0 -101
  214. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  215. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  216. package/core/dev/jev-eval/cli.mjs +0 -50
  217. package/core/dev/jev-eval/context.mjs +0 -183
  218. package/core/dev/jev-eval/corpus.mjs +0 -186
  219. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  220. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  221. package/core/dev/jev-eval/metrics.mjs +0 -67
  222. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  223. package/core/dev/jev-eval/providers.mjs +0 -95
  224. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  225. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  226. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  227. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  228. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  229. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  230. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  231. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  232. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  233. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  234. package/core/dev/jev-eval/resilience.mjs +0 -71
  235. package/core/dev/jev-eval/review.mjs +0 -78
  236. package/core/dev/jev-eval/schema.mjs +0 -87
  237. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  238. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  239. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  240. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  241. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  242. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  243. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  244. package/core/dev/pipeline/PROGRESS.md +0 -113
  245. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  246. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  247. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  248. package/core/dev/pipeline/README.md +0 -210
  249. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  250. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  251. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  252. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  253. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  254. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  255. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  256. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  257. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  258. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  259. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  260. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  261. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  262. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  263. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  264. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  265. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  266. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  267. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  268. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  269. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  270. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  271. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  272. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  273. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  274. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  275. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  276. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  277. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  278. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  279. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  280. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  281. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  282. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  283. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  284. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  285. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  286. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  287. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  288. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  289. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  290. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  291. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  292. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  293. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  294. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  295. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  296. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  297. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  298. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  299. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  300. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  301. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  302. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  303. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  304. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  305. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  306. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  307. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  308. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  309. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  310. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  311. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  312. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  313. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  314. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  315. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  316. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  317. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  318. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  319. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  320. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  321. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  322. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  323. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  324. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  325. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  326. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  327. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  328. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  329. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  330. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  331. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  332. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  333. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  334. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  335. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  336. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  337. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  338. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  339. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  340. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  341. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  342. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  343. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  344. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  345. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  346. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  347. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  348. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  349. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  350. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  351. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  352. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  353. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  354. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  355. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  356. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  357. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  358. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  359. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  360. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  361. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  362. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  363. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  364. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  365. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  366. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  367. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  368. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  369. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  370. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  371. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  372. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  373. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  374. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  375. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  376. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  377. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  378. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  379. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  380. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  381. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  382. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  383. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  384. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  385. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  386. package/core/dev/pipeline/docs/overview.md +0 -406
  387. package/core/dev/pipeline/docs/task-management.md +0 -412
  388. package/core/dev/pipeline/docs/workflows.md +0 -32
  389. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  390. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  391. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  392. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  393. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  394. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  395. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  396. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  397. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  398. package/core/dev/scripts/README.md +0 -142
  399. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  400. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  401. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  402. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  403. package/core/dev/scripts/init_git.ps1 +0 -396
  404. package/core/dev/scripts/init_git.sh +0 -337
  405. package/core/dev/scripts/init_project.ps1 +0 -851
  406. package/core/dev/scripts/init_project.sh +0 -477
  407. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  408. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  409. package/core/dev/scripts/run_once.sh +0 -47
  410. package/core/dev/scripts/setup_rag.ps1 +0 -304
  411. package/core/dev/scripts/setup_rag.sh +0 -230
  412. package/core/dev/scripts/start_dev_agent.sh +0 -137
  413. package/core/dev/scripts/start_multi_agent.sh +0 -41
  414. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  415. package/core/dev/scripts/sync_task_queue.sh +0 -392
  416. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  417. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  418. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  419. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  420. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  421. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  422. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  423. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  424. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-empty-prompt-no-first-turn.md +0 -77
  425. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  426. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  427. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  428. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  429. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  430. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  431. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  432. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  433. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  434. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  435. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  436. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  437. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  438. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  439. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  440. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  441. package/core/dev/specs/agent-connect/history/README.md +0 -47
  442. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  443. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  444. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  445. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  446. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  447. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  448. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  449. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  450. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  451. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  452. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  453. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  454. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  455. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  456. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  457. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  458. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  459. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  460. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  461. package/core/dev/spikes/bloat-rounds.sh +0 -25
  462. package/core/dev/spikes/mods/clean-claude.js +0 -9
  463. package/core/dev/spikes/mods/drive-probe.js +0 -29
  464. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  465. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  466. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  467. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  468. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  469. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  470. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  471. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  472. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  473. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  474. package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +0 -3
@@ -1,569 +0,0 @@
1
- # Mobile RWD Design Specification
2
-
3
- > Kenaz Dashboard Mobile Responsive Web Design Guidelines
4
-
5
- ## 1. Overview
6
-
7
- ### 1.1 Design Philosophy
8
-
9
- Kenaz Dashboard Mobile 設計延續桌面版的 **HUD/Cyberpunk 視覺風格**,同時針對移動端優化觸控交互和資訊層級。核心原則:
10
-
11
- - **資訊優先級**:在有限螢幕空間內突出最重要的任務狀態
12
- - **觸控友善**:所有交互元素符合人機工程學標準
13
- - **一致體驗**:保持 Desktop 與 Mobile 的視覺語言統一
14
- - **效能優先**:減少動畫和視覺效果,優化低端設備體驗
15
-
16
- ### 1.2 Current Implementation Analysis
17
-
18
- 現有實現採用 Tab-based 導航(Tasks / Agents / Tools / Terminal),並使用以下響應式策略:
19
-
20
- - `useIsMobile()` hook 偵測 `md` breakpoint (768px)
21
- - Mobile 版直接復用 Desktop 的 `TaskBoard` 組件
22
- - 統計卡片使用 3 列網格(`grid-cols-3`)
23
- - 底部 Tab Bar 固定導航
24
-
25
- **問題識別**:
26
- 1. TaskBoard 三欄 Kanban 在手機上被壓縮為單欄堆疊,缺乏欄位切換能力
27
- 2. TaskCard 資訊密度過高,觸控目標偏小
28
- 3. 缺乏手勢支援(滑動切換欄位、快速操作)
29
- 4. 統計區塊字體過小
30
-
31
- ---
32
-
33
- ## 2. Breakpoint System
34
-
35
- ### 2.1 Breakpoint Definitions
36
-
37
- | Token | Width | Device Category | Layout Strategy |
38
- |-------|-------|-----------------|-----------------|
39
- | `xs` | < 375px | Small phones | Single column, simplified |
40
- | `sm` | 375px - 639px | Standard phones | Single column, full mobile UI |
41
- | `md` | 640px - 767px | Large phones / Small tablets | Single column, enhanced spacing |
42
- | `tablet` | 768px - 1023px | Tablets portrait | Two columns, hybrid layout |
43
- | `lg` | 1024px - 1279px | Tablets landscape / Small laptops | Three columns, desktop-like |
44
- | `xl` | >= 1280px | Desktop | Full desktop layout |
45
-
46
- ### 2.2 Tailwind Configuration
47
-
48
- ```typescript
49
- // tailwind.config.ts
50
- const config = {
51
- theme: {
52
- screens: {
53
- 'xs': '375px',
54
- 'sm': '640px',
55
- 'md': '768px', // Mobile/Desktop breakpoint
56
- 'tablet': '768px',
57
- 'lg': '1024px',
58
- 'xl': '1280px',
59
- '2xl': '1536px',
60
- },
61
- },
62
- }
63
- ```
64
-
65
- ### 2.3 Mobile Detection Strategy
66
-
67
- ```typescript
68
- // hooks/use-media-query.ts
69
- export function useIsMobile(): boolean {
70
- // Keep existing: matches < md (768px)
71
- }
72
-
73
- export function useIsTablet(): boolean {
74
- // New: matches >= md && < lg
75
- }
76
-
77
- export function useBreakpoint(): 'mobile' | 'tablet' | 'desktop' {
78
- // Returns current breakpoint category
79
- }
80
- ```
81
-
82
- ---
83
-
84
- ## 3. Kanban Board Mobile Layout
85
-
86
- ### 3.1 Layout Strategy: Horizontal Swipe Columns
87
-
88
- Mobile Kanban 採用**水平滑動切換欄位**設計,而非垂直堆疊:
89
-
90
- ```
91
- ┌─────────────────────────────────────────┐
92
- │ [Backlog] [Active] [Done] ← Tab Headers│
93
- ├─────────────────────────────────────────┤
94
- │ │
95
- │ ┌─────────────────────────┐ │
96
- │ │ Task Card │ │
97
- │ │ ─────────────────── │ │
98
- │ │ P1 │ WebSocket Setup │ │
99
- │ │ ────────────── │ │
100
- │ │ 🤖 backend_agent │ ← Swipe │
101
- │ └─────────────────────────┘ Area │
102
- │ │
103
- │ ┌─────────────────────────┐ │
104
- │ │ Task Card │ │
105
- │ └─────────────────────────┘ │
106
- │ │
107
- │ ○ ● ○ ← Dot Indicators │
108
- └─────────────────────────────────────────┘
109
- ```
110
-
111
- ### 3.2 Column Header Tabs
112
-
113
- | Property | Value |
114
- |----------|-------|
115
- | Height | 44px (touch target) |
116
- | Padding | 12px horizontal |
117
- | Font | font-tech, 12px, uppercase |
118
- | Active State | Cyan underline (2px), text-cyan-400 |
119
- | Inactive | text-slate-500 |
120
-
121
- ```tsx
122
- // Implementation concept
123
- <div className="flex border-b border-cyan-400/20">
124
- {['Backlog', 'Active', 'Done'].map(column => (
125
- <button
126
- className={cn(
127
- 'flex-1 py-3 font-tech text-xs uppercase tracking-wider',
128
- 'min-h-[44px]', // Touch target
129
- isActive ? 'text-cyan-400 border-b-2 border-cyan-400' : 'text-slate-500'
130
- )}
131
- >
132
- {column} ({count})
133
- </button>
134
- ))}
135
- </div>
136
- ```
137
-
138
- ### 3.3 Swipe Gesture Specifications
139
-
140
- | Gesture | Action | Threshold |
141
- |---------|--------|-----------|
142
- | Horizontal Swipe | Switch columns | > 50px distance |
143
- | Pull Down | Refresh tasks | > 80px with release |
144
- | Long Press on Card | Show quick actions | > 300ms |
145
-
146
- **Implementation**:使用 `react-swipeable` 或 CSS `scroll-snap` 實現。
147
-
148
- ```tsx
149
- // CSS scroll-snap approach
150
- <div className="flex overflow-x-auto snap-x snap-mandatory scrollbar-hide">
151
- <div className="flex-none w-full snap-center">
152
- <TaskColumn type="backlog" />
153
- </div>
154
- <div className="flex-none w-full snap-center">
155
- <TaskColumn type="active" />
156
- </div>
157
- <div className="flex-none w-full snap-center">
158
- <TaskColumn type="done" />
159
- </div>
160
- </div>
161
- ```
162
-
163
- ### 3.4 Column-specific Styling
164
-
165
- | Column | Accent Color | Glow Effect |
166
- |--------|--------------|-------------|
167
- | Backlog | orange-400 | shadow-orange-500/20 |
168
- | Active | cyan-400 | shadow-cyan-400/30 |
169
- | Done | green-400 | shadow-green-500/20 |
170
-
171
- ---
172
-
173
- ## 4. Task Card Mobile Design
174
-
175
- ### 4.1 Layout Structure
176
-
177
- ```
178
- ┌──────────────────────────────────────┐
179
- │ ┌───┐ ┌────┐│
180
- │ │P1 │ TASK_006 │ ⋮ ││ ← Quick Actions Menu
181
- │ └───┘ └────┘│
182
- ├──────────────────────────────────────┤
183
- │ │
184
- │ Mobile RWD 設計規範 │ ← Title (max 2 lines)
185
- │ │
186
- ├──────────────────────────────────────┤
187
- │ 🤖 designer 🔒 src/ │ ← Agent + Lock
188
- │ │
189
- └──────────────────────────────────────┘
190
- Min height: 80px | Touch target: 48x48px
191
- ```
192
-
193
- ### 4.2 Spacing Specifications
194
-
195
- | Element | Mobile Value | Desktop Value |
196
- |---------|--------------|---------------|
197
- | Card Padding | 12px | 12px |
198
- | Card Gap | 12px | 16px |
199
- | Card Border Radius | 6px | 4px |
200
- | Title Font Size | 14px | 14px |
201
- | Subtitle Font Size | 11px | 10px |
202
- | Badge Font Size | 10px | 10px |
203
-
204
- ### 4.3 Touch Target Requirements
205
-
206
- 根據 Apple HIG (44pt) 和 Material Design (48dp) 標準:
207
-
208
- | Element | Minimum Size | Recommended |
209
- |---------|--------------|-------------|
210
- | Priority Badge | 32x32px (visual) | 44x44px (touch area) |
211
- | Quick Actions Menu | 44x44px | 48x48px |
212
- | Card itself | Full width, min 80px height | - |
213
- | Agent Badge | 24px height | 44px touch area |
214
-
215
- ### 4.4 Simplified Information Hierarchy
216
-
217
- Mobile 版任務卡片**簡化資訊層級**:
218
-
219
- | Priority | Show | Hide |
220
- |----------|------|------|
221
- | 1 | Task ID, Priority, Title | - |
222
- | 2 | Agent Badge, Lock Status | - |
223
- | 3 | - | Dependencies (move to detail view) |
224
- | 4 | - | Description (move to detail view) |
225
-
226
- ### 4.5 Quick Actions (Swipe Gestures)
227
-
228
- | Gesture | Action | Visual Feedback |
229
- |---------|--------|-----------------|
230
- | Swipe Left | Reveal delete option | Red background revealed |
231
- | Swipe Right | Mark as done (if applicable) | Green background revealed |
232
- | Tap | Navigate to detail view | Haptic feedback |
233
-
234
- **Note**: 這些 swipe actions 僅在未來迭代中實現,當前版本專注於佈局優化。
235
-
236
- ---
237
-
238
- ## 5. Statistics Section Mobile Design
239
-
240
- ### 5.1 Grid Layout Options
241
-
242
- **Option A: 3x2 Grid (Current)**
243
- ```
244
- ┌────────┬────────┬────────┐
245
- │ Total │Pending │ Active │
246
- │ 7 │ 4 │ 1 │
247
- ├────────┼────────┼────────┤
248
- │ Done │Blocked │Canceled│
249
- │ 2 │ 0 │ 0 │
250
- └────────┴────────┴────────┘
251
- ```
252
-
253
- **Option B: 2x3 Grid (Recommended for phones)**
254
- ```
255
- ┌──────────┬──────────┐
256
- │ Total │ Active │
257
- │ 7 │ 1 │ ← Primary stats
258
- ├──────────┼──────────┤
259
- │ Pending │ Done │
260
- │ 4 │ 2 │ ← Secondary
261
- ├──────────┼──────────┤
262
- │ Blocked │ Canceled │
263
- │ 0 │ 0 │ ← Tertiary
264
- └──────────┴──────────┘
265
- ```
266
-
267
- **Option C: Horizontal Scroll (for very small screens)**
268
- ```
269
- ┌────────────────────────────────────────────┐
270
- │ [Total: 7] [Active: 1] [Pending: 4] ... →│
271
- └────────────────────────────────────────────┘
272
- ```
273
-
274
- ### 5.2 Mobile Stat Card Specifications
275
-
276
- | Property | Value |
277
- |----------|-------|
278
- | Min Width | 100px |
279
- | Min Height | 64px |
280
- | Padding | 8px 12px |
281
- | Value Font | font-display, 20px, bold |
282
- | Label Font | font-tech, 9px, uppercase |
283
- | Border | 1px solid, color varies by variant |
284
- | Glow | Removed on mobile (performance) |
285
-
286
- ### 5.3 Responsive Grid CSS
287
-
288
- ```tsx
289
- // MobileTaskView statistics grid
290
- <div className={cn(
291
- 'grid gap-2',
292
- 'grid-cols-2', // Default: 2 columns
293
- 'xs:grid-cols-3', // Small phones: 3 columns
294
- 'sm:grid-cols-3', // Standard: 3 columns
295
- )}>
296
- ```
297
-
298
- ---
299
-
300
- ## 6. Typography System
301
-
302
- ### 6.1 Mobile Font Scale
303
-
304
- | Token | Mobile | Desktop | Usage |
305
- |-------|--------|---------|-------|
306
- | `heading-lg` | 18px / 1.3 | 24px / 1.3 | Page headers |
307
- | `heading-md` | 14px / 1.4 | 16px / 1.4 | Section headers |
308
- | `body` | 14px / 1.5 | 14px / 1.5 | Task titles |
309
- | `body-sm` | 12px / 1.5 | 12px / 1.5 | Descriptions |
310
- | `caption` | 10px / 1.3 | 10px / 1.3 | Labels, badges |
311
- | `micro` | 9px / 1.2 | 9px / 1.2 | Timestamps |
312
-
313
- ### 6.2 Font Families (Unchanged)
314
-
315
- ```css
316
- .font-display { font-family: 'Orbitron', 'Rajdhani', sans-serif; }
317
- .font-tech { font-family: 'JetBrains Mono', 'Fira Code', monospace; }
318
- .font-mono { font-family: 'Share Tech Mono', monospace; }
319
- ```
320
-
321
- ---
322
-
323
- ## 7. Spacing System
324
-
325
- ### 7.1 Spacing Scale
326
-
327
- | Token | Value | Usage |
328
- |-------|-------|-------|
329
- | `space-0` | 0px | - |
330
- | `space-1` | 4px | Inline gaps |
331
- | `space-2` | 8px | Component internal padding |
332
- | `space-3` | 12px | Card padding, card gaps |
333
- | `space-4` | 16px | Section margins |
334
- | `space-5` | 20px | Large gaps |
335
- | `space-6` | 24px | Page padding |
336
-
337
- ### 7.2 Mobile Page Layout Spacing
338
-
339
- ```
340
- ┌───────────────────────────────────┐
341
- │ ←16px→ Content Area ←16px→ │
342
- │ │
343
- │ Section Header │
344
- │ ↓ 12px │
345
- │ ┌─────────────────────────────┐ │
346
- │ │ Statistics Grid │ │
347
- │ │ (gap: 8px) │ │
348
- │ └─────────────────────────────┘ │
349
- │ ↓ 16px │
350
- │ Section Header │
351
- │ ↓ 12px │
352
- │ ┌─────────────────────────────┐ │
353
- │ │ Task Board │ │
354
- │ │ (card gap: 12px) │ │
355
- │ └─────────────────────────────┘ │
356
- │ │
357
- │ ← 80px Tab Bar safe area → │
358
- └───────────────────────────────────┘
359
- ```
360
-
361
- ---
362
-
363
- ## 8. Touch Interaction Guidelines
364
-
365
- ### 8.1 Touch Target Sizes
366
-
367
- | Element | Minimum | Recommended | Standard |
368
- |---------|---------|-------------|----------|
369
- | Buttons | 44x44px | 48x48px | Apple HIG |
370
- | Tab Items | 44x48px | 56x48px | Material |
371
- | List Items | 48px height | 56px height | - |
372
- | Icon Buttons | 44x44px | 48x48px | - |
373
-
374
- ### 8.2 Gesture Support Matrix
375
-
376
- | Gesture | MobileTaskView | MobileAgentsView | MobileToolsView |
377
- |---------|----------------|------------------|-----------------|
378
- | Tap | Select/Navigate | Select session | Trigger action |
379
- | Long Press | Context menu | Session options | - |
380
- | Swipe Left | Quick action | Close session | - |
381
- | Swipe Right | Quick action | - | - |
382
- | Pull to Refresh | Refresh tasks | Refresh agents | Refresh status |
383
- | Horizontal Swipe | Switch columns | - | - |
384
-
385
- ### 8.3 Haptic Feedback
386
-
387
- 建議在以下交互時觸發震動反饋(需 device support):
388
-
389
- - 成功操作完成
390
- - Tab 切換
391
- - Swipe action 觸發
392
- - Long press 識別
393
-
394
- ---
395
-
396
- ## 9. Color System (Mobile Adjustments)
397
-
398
- ### 9.1 Core Colors (Unchanged)
399
-
400
- | Token | Value | Usage |
401
- |-------|-------|-------|
402
- | `cyan-400` | #22D3EE | Primary accent, active states |
403
- | `slate-900` | #0F172A | Background base |
404
- | `slate-700` | #334155 | Secondary background |
405
- | `slate-500` | #64748B | Muted text |
406
- | `slate-200` | #E2E8F0 | Primary text |
407
-
408
- ### 9.2 Status Colors
409
-
410
- | Status | Color | Glow (Desktop) | Mobile |
411
- |--------|-------|----------------|--------|
412
- | Active | blue-400 | Yes | Solid only |
413
- | Pending | orange-400 | Yes | Solid only |
414
- | Done | green-400 | Yes | Solid only |
415
- | Blocked | red-400 | Yes | Solid only |
416
- | Cancelled | slate-400 | No | - |
417
-
418
- ### 9.3 Mobile Performance Optimizations
419
-
420
- - **移除 glow effects**:`box-shadow` 動畫影響效能
421
- - **簡化漸層**:單色背景取代多層漸層
422
- - **減少動畫**:`pulse-active` 動畫保留,其他移除
423
-
424
- ---
425
-
426
- ## 10. Component Specifications
427
-
428
- ### 10.1 MobileTabBar
429
-
430
- ```tsx
431
- interface MobileTabBarProps {
432
- activeTab: 'tasks' | 'agents' | 'tools' | 'terminal';
433
- onTabChange: (tab: MobileTab) => void;
434
- badge?: { tools: number }; // Optional notification badges
435
- }
436
- ```
437
-
438
- | Property | Value |
439
- |----------|-------|
440
- | Height | 56px + safe-area-inset-bottom |
441
- | Background | bg-[#0a1628]/95 backdrop-blur |
442
- | Border | border-t border-cyan-400/30 |
443
- | Icon Size | 20x20px |
444
- | Label Font | font-tech, 11px |
445
- | Touch Area | 25% width each, 56px height |
446
-
447
- ### 10.2 MobileTaskBoard (New Component)
448
-
449
- ```tsx
450
- interface MobileTaskBoardProps {
451
- tasks: Task[];
452
- defaultColumn?: 'backlog' | 'active' | 'done';
453
- onColumnChange?: (column: string) => void;
454
- }
455
- ```
456
-
457
- ### 10.3 MobileTaskCard (New Component)
458
-
459
- ```tsx
460
- interface MobileTaskCardProps {
461
- task: Task;
462
- onTap?: () => void;
463
- onSwipeLeft?: () => void;
464
- onSwipeRight?: () => void;
465
- }
466
- ```
467
-
468
- ### 10.4 MobileStatCard (Existing - Optimized)
469
-
470
- 保持現有實現,調整:
471
- - 移除 glow effects
472
- - 增大字體(value: 20px → 22px)
473
- - 增加觸控區域
474
-
475
- ---
476
-
477
- ## 11. Safe Area Handling
478
-
479
- ### 11.1 iOS Notch and Home Indicator
480
-
481
- ```css
482
- /* globals.css - Already implemented */
483
- .safe-area-bottom {
484
- padding-bottom: env(safe-area-inset-bottom, 0);
485
- }
486
-
487
- .safe-area-top {
488
- padding-top: env(safe-area-inset-top, 0);
489
- }
490
- ```
491
-
492
- ### 11.2 Component Application
493
-
494
- | Component | Safe Area |
495
- |-----------|-----------|
496
- | Mobile Header | safe-area-top |
497
- | Mobile Tab Bar | safe-area-bottom |
498
- | Mobile Terminal Modal | All safe areas |
499
- | Page Content | None (handled by parent) |
500
-
501
- ---
502
-
503
- ## 12. Implementation Checklist
504
-
505
- ### Phase 1: Foundation (TASK_006)
506
- - [x] Define breakpoint system
507
- - [x] Define typography scale
508
- - [x] Define spacing system
509
- - [x] Define touch target standards
510
- - [x] Document Kanban mobile layout strategy
511
- - [x] Document task card simplification
512
-
513
- ### Phase 2: Kanban Implementation (TASK_007)
514
- - [ ] Create MobileTaskBoard component with swipe columns
515
- - [ ] Implement column header tabs
516
- - [ ] Add CSS scroll-snap support
517
- - [ ] Add swipe gesture detection
518
- - [ ] Add dot indicators for column position
519
-
520
- ### Phase 3: Task Card Optimization (TASK_008)
521
- - [ ] Create MobileTaskCard component
522
- - [ ] Implement simplified info hierarchy
523
- - [ ] Add swipe-to-reveal actions (optional)
524
- - [ ] Optimize touch targets
525
- - [ ] Test on real devices
526
-
527
- ### Phase 4: Polish
528
- - [ ] Haptic feedback integration
529
- - [ ] Pull-to-refresh
530
- - [ ] Skeleton loading states
531
- - [ ] Performance profiling
532
- - [ ] Cross-browser testing
533
-
534
- ---
535
-
536
- ## 13. Appendix
537
-
538
- ### A. Device Testing Matrix
539
-
540
- | Device | Screen | OS | Priority |
541
- |--------|--------|-----|----------|
542
- | iPhone 14 Pro | 393x852 | iOS 17 | High |
543
- | iPhone SE | 375x667 | iOS 16 | High |
544
- | Samsung Galaxy S23 | 360x780 | Android 14 | High |
545
- | iPad Mini | 768x1024 | iPadOS | Medium |
546
- | iPad Pro 11" | 834x1194 | iPadOS | Medium |
547
-
548
- ### B. Accessibility Requirements
549
-
550
- | Requirement | Standard | Implementation |
551
- |-------------|----------|----------------|
552
- | Color Contrast | WCAG AA (4.5:1) | Verified |
553
- | Touch Targets | 44x44px minimum | Enforced |
554
- | Font Scaling | Support up to 200% | System font scaling |
555
- | Screen Reader | VoiceOver/TalkBack | aria-labels on all interactive elements |
556
-
557
- ### C. Performance Budgets
558
-
559
- | Metric | Target | Current |
560
- |--------|--------|---------|
561
- | First Contentful Paint | < 1.5s | TBD |
562
- | Time to Interactive | < 3.0s | TBD |
563
- | Total Bundle Size | < 200KB (gzipped) | TBD |
564
- | Animation FPS | 60fps | TBD |
565
-
566
- ---
567
-
568
- *Generated by Designer Agent | 2026-01-31*
569
- *Version: 1.0.0*
@@ -1,136 +0,0 @@
1
- # Multi-Ansuz 併行模式 Spec
2
-
3
- > 設計定案:2026-07-20 Ansuz session(與用戶逐節收斂)。
4
- > 情境:N 個 Ansuz 注意力流(interactive session)× 各帶一隊 sub-agent,同一 repo 同時工作。
5
- > 哲學:multi-Ansuz = 一個自我、多條注意力流(共享記憶與任務池),不是互不相識的同事。
6
-
7
- ## 0. 目標與非目標
8
-
9
- **目標**
10
- - 多個 Ansuz session 同時在線時:不互踩狀態檔、不重複認領工作、不產生 stale-base 語義衝突、彼此可見。
11
- - 單 session 時所有機制退化為 no-op,零額外成本、零行為變化。
12
-
13
- **非目標**
14
- - 跨機器分散式(那是 Yggdrasil pool 的路線,claim 語義對齊即可)。
15
- - 中央 scheduler(去中心化租約優先;Amelia meta-scheduler 留給未來真需要時)。
16
-
17
- ## 1. 碰撞面盤點(問題定義)
18
-
19
- | # | 碰撞面 | 風險 |
20
- |---|--------|------|
21
- | 1 | 主工作樹單例 | post-complete 在主樹 checkout/stash/rebase,互踩另一 session 與用戶 WIP |
22
- | 2 | Session 狀態檔單槽 | `ansuz_session.json` / `ansuz_session_lock.json` / `ansuz_session_handoff.json` 後寫贏 |
23
- | 3 | 任務認領無 owner | 兩 session 可 dispatch scope 重疊的卡;overlap 偵測只在 create 時跑(且有 "e.g." 解析 bug) |
24
- | 4 | Merge 序列化不完整 | `.formation/.merge-lock` 存在但 rebase 在鎖外(C.2)、持鎖過短(C.6)、逾時 force-acquire 踩人 |
25
- | 5 | 任務狀態是 git-tracked 檔案 | `.kenaz/tasks/` YAML 移動被對方 merge 的 `git add -A` sweep 掃成 mixed commit |
26
-
27
- **天然安全(不需處理)**:sub-agent worktree 是 per-conversation 命名空間;Synapse 單一 Rust backend(18080)序列化所有認知寫入;git object DB 併發 commit 安全。
28
-
29
- **最危險的是 stale-base 語義衝突**:Team B 在 main@T1 fork、verify 全綠;Team A merge 後 main 到 T2;B 帶著「verify 通過」標籤合入,但它只對 T1 正確。頻率隨隊數平方成長。單 Ansuz 時代被天然序列化掩蓋。
30
-
31
- ## 2. 機制設計
32
-
33
- ### 2.1 Session Lease Registry
34
- ```
35
- .kenaz/specialist/sessions/leases/<session_id>.json (gitignored)
36
- { session_id, pid, conversation_id, label, // label: stream-A/B/C 短名
37
- theme, // 可選: rust-synapse / node-tooling / frontend
38
- started_at, heartbeat_at,
39
- claimed_tasks: [], scope_leases: [], resource_leases: [], phase }
40
- ```
41
- - **Heartbeat**:piggyback 既有 UserPromptSubmit hook 鏈(touch 一次 lease);boot 時 register;Stop hook 釋放。不新開 PostToolUse 高頻 hook(Windows node spawn ~50-100ms/次,成本不可接受)。
42
- - **判活 = pid 存活(主訊號,`process.kill(pid, 0)`)+ heartbeat 年齡(輔助)**。只看檔案存在 = 現行殭屍 lock 的病,禁止。
43
- - 廢除單槽 `ansuz_session_lock.json`(保留讀取相容一個過渡期)。
44
-
45
- ### 2.2 任務認領協定
46
- - Ownership **不寫進 task YAML**(YAML 是 git-tracked,owner 是暫態)。sidecar marker:
47
- ```
48
- .kenaz/locks/claim_TASK_XXXX.json ← fs.writeFileSync(..., { flag: 'wx' })
49
- { owner_session, claimed_at, dispatch_path }
50
- ```
51
- - `wx` = NTFS 原子 create-if-not-exists。同秒雙 claim 必然單勝者,輸家拿 EEXIST 換卡。
52
- - 任務到 done/blocked/cancel 時釋放 marker。
53
- - **Orphan(持有者 pid 死)永遠人工裁決,不自動搶**——headless 殘留進程可能還在寫,雙寫風險 > 閒置成本。banner 顯著標示 orphan + 年齡。
54
-
55
- ### 2.3 Dispatch-time Scope Gate
56
- - create-time overlap 偵測保留,但主 gate 搬到 dispatch 前:枚舉所有**活 lease** 的 scope_leases → 正規化路徑 **prefix-aware** 交集(`a/b/` 與 `a/b/c.rs` 算撞)→ 有交集則擋下並顯示持有者。
57
- - 順帶修 create-time 偵測把描述文字 "e.g." 當路徑的 bug(只比對真正的 scope_paths 欄位值)。
58
-
59
- ### 2.4 Integration Queue(bors-lite,唯一動 main 的地方)
60
- 鎖內全序列(新模組 `integration.js`,post-complete 退化為呼叫者):
61
- ```
62
- 1. 取 .formation/.merge-lock { owner_session, pid, heartbeat_at }
63
- 等待 = 退避輪詢;逾時「不」force-acquire,浮報用戶。
64
- 搶鎖僅當持有者 pid 死 + heartbeat 停 → 走復原(見 2.7)。
65
- 2. T_now = git rev-parse main
66
- 3. 在 integration 工作區 rebase task branch → T_now(不碰主樹)
67
- 4. 鎖內 re-verify(stale-base 防線):
68
- L0 forseti 結構檢查 + 該卡 verification.level_1 指令
69
- 硬上限 120s;超時 → merge 照做但標 PARTIAL:reverify_timeout 浮報
70
- Rust 卡:warm cargo check + 短 CARGO_TARGET_DIR(MAX_PATH 配方)
71
- 5. ff-only merge into main
72
- 6. git branch --contains 驗證 commit 落在 main(反 silent-orphan,TASK_1456 驗證過)
73
- 7. 該任務 YAML 移動(active→done)併入同一個 [TASK_X] commit(原子綁定,碰撞面 5 消失)
74
- 8. 放鎖 → 廣播 merge-completed(TASK_X, new_main_sha, changed_symbols)
75
- ```
76
- - **廢除 `git add -A` sweep**:merge 只收 task branch commits + 該任務 YAML 移動。
77
- - re-verify 失敗 → 任務轉 blocked(reason=stale_base_conflict)、放鎖、通知該隊。
78
- - N≤3 隊用「誰完成誰搶鎖」;佇列深度常態 >2 再升級 queue file + 專職 consumer(時序不變,換執行者)。
79
-
80
- ### 2.5 驗證資源租約
81
- 全機單例資源:`live-dashboard-18080`、`cargo-target-main`、`next-dev`。
82
- `.kenaz/locks/resource_<name>.lock`(wx + owner + heartbeat)。任務卡可選欄位 `resources: []`;dispatch gate 與 integration 第 4 步都會租。沒租到 = 排隊,不是失敗。
83
-
84
- ### 2.6 感知層
85
- - **Boot banner**:你是 stream-B(第 2/3 條);各流 label / claimed_tasks / scopes / heartbeat 年齡;orphan 警示。單流時整段不顯示。
86
- - **回合中**:UserPromptSubmit hook 注入增量事件(≤2 行,例:stream-A merged TASK_X,main 前進)。
87
- - **事件通道**:spike_bus(Rust backend 18080 HTTP)載 merge-completed / task-available / scope-released。
88
- - **跨流轉工**:發現租界外的問題 → 開卡不 claim → 廣播 task-available。任務池即信箱。
89
-
90
- ### 2.7 失效模式
91
- | 失效 | 處置 |
92
- |------|------|
93
- | crash 持有 merge-lock | 下一取鎖者驗 pid 死 → 檢查 integration 工作區 MERGE_HEAD / rebase state 決定 rollback 或續完 |
94
- | crash 持有 claim | 標 orphan 浮給用戶,不自動搶 |
95
- | 同秒雙 claim | wx 原子性保證單勝者 |
96
- | 用戶主樹 WIP | integration 全程不碰主樹(ff 只動 ref);**多流模式停用 post-complete autostash** |
97
-
98
- ### 2.8 Handoff 多槽(「一個自我」語義)
99
- `handoffs/<session_id>.json` 多槽;下一世 boot **收割所有未讀槽合成 digest**(繼承全部注意力流的收尾,不只自己 lineage)。解掉現行「後寫贏」遺失。
100
-
101
- ### 2.9 認知一致性
102
- - inscribe 前先 recall 在多流下升級為硬規則:高相似 rune → boost + related_rune_ids 串聯,不新建。
103
- - episode scope 加 stream label(出處標註,recall 不過濾)。
104
- - heat/preamble 全域共享是正確語義,不改。
105
- - 收到 merge-completed 且 changed_symbols 鄰接自己 in-flight scope → 主動 re-pulse(設計前提刷新反射)。
106
-
107
- ### 2.10 隊內並行既知約束
108
- 同一 conversation 的並行 Agent-tool worktree 會共享(有事故案底)。隊內真並行走 formation dispatch(per-task branch worktree,3 任務並行已驗證);Agent-tool 路徑隊內序列化。多隊 × 隊內並行的複合事故靠這條紀律隔離。
109
-
110
- ## 3. 儲存裁決(2026-07-20 定案)
111
-
112
- | 類別 | 裁決 |
113
- |------|------|
114
- | 任務卡 YAML | 保持檔案(git-tracked 是設計支柱;integration 第 7 步依賴它) |
115
- | 鎖/租約 | 保持檔案(wx 是最好的原語;`ls .kenaz/locks` 即狀態總覽) |
116
- | 單 owner 狀態 JSON | 保持(問題在命名空間 per-session 化,不在引擎) |
117
- | Append 遙測 JSONL | 新遙測經 Rust backend 進 memory.db;既有的按痛遷移(含消費端),注意 byte-compatible 契約(如 prediction_resolution_log) |
118
-
119
- ## 4. 里程碑
120
-
121
- | 里程碑 | 內容 | 規模/模型 |
122
- |--------|------|------|
123
- | **M0 互相可見** | lease registry + heartbeat piggyback + banner 感知段 + handoff 多槽收割 | 小 / sonnet |
124
- | **M1 分工原語** | wx claim marker + dispatch-time scope gate(含修 "e.g." bug)+ resource lease | 中 / sonnet |
125
- | **M2 集成佇列** | integration.js 鎖內時序;post-complete 委派;廢 sweep;fake-stream harness | 大 rigor:high / fable |
126
- | **M3 認知潤飾** | spike_bus 事件 + hook 增量注入 + theme 建議 + re-pulse 反射 | 小-中 / sonnet |
127
-
128
- 每級獨立可用、獨立可驗、向下相容(單流 no-op)。
129
-
130
- **測試策略**:`fake-stream.js` harness 腳本化註冊 lease / 心跳 / claim / 持鎖 / enqueue —— 真 session × fake stream 對打,單 session 內自動化重現:雙 claim 競速、鎖逾時、orphan 偵測、stale-base re-verify 失敗、dead-pid 復原。
131
-
132
- ## 5. 實作檢查點(前置驗證項)
133
-
134
- - [ ] Muninn watcher 的 stale 清理判準必須改成「只清自己 lineage」(現為單流假設)。
135
- - [ ] Agent-tool worktree 共享行為需在當前 harness 版本重新驗證(§2.10 案底的時效性)。
136
- - [ ] post-complete 改造遵循三段式重構紀律(build-map → plan-split → minimal-patch),抽 `integration.js` 而非原地縫補(C.2/C.6 債在頭注已列)。