kenaz 0.3.22 → 0.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) 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 +6 -6
  4. package/core/.claude/hooks/worktree-remove.js +4 -4
  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/kenaz-stats.js +1 -1
  10. package/core/.formation/tools/post-complete/git-merge.js +1 -1
  11. package/core/.formation/tools/prompt.js +1 -1
  12. package/core/.kenaz/specialist/ansuz_rules.yaml +7 -51
  13. package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +2 -6
  14. package/core/.rule/general/project-self-containment.yaml +2 -2
  15. package/core/.specialist/Amelia/README.md +1 -1
  16. package/core/.specialist/Amelia/rule.yaml +1 -1
  17. package/core/.specialist/Ansuz/RULES.md +1 -1
  18. package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +1 -1
  19. package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +1 -1
  20. package/core/.specialist/Ansuz/knowledge.yaml +1 -3
  21. package/core/.specialist/tools/__tests__/task-2409-lessons.test.js +10 -0
  22. package/core/.specialist/tools/__tests__/task-2427-harvest.test.js +25 -0
  23. package/core/.specialist/tools/ansuz-boot-fast.js +1 -1
  24. package/core/.specialist/tools/failure-detector.js +4 -4
  25. package/core/.specialist/tools/handoff-doc.js +1 -1
  26. package/core/.specialist/tools/lessons.js +2 -2
  27. package/core/CLAUDE.md +5 -5
  28. package/core/KENAZ_CORE_VERSION +1 -1
  29. package/core/dashboard/scripts/install-kenaz-cli.js +21 -6
  30. package/core/dev/scripts/check-file-size.js +1 -1
  31. package/core/dev/scripts/ci-feedback.js +1 -1
  32. package/core/dev/scripts/gc-agent-worktrees.js +11 -11
  33. package/core/dev/scripts/kenaz-session.js +3 -3
  34. package/core/dev/scripts/peer-identity-e2e.js +3 -3
  35. package/core/dev/scripts/run-rust-tests.js +2 -2
  36. package/core/dev/scripts/skill-routing-replay.js +3 -3
  37. package/core/dev/scripts/task1961/selftest.js +2 -2
  38. package/core/dev/scripts/windows-hide-guard.test.js +97 -0
  39. package/core/plugins/kenaz/guidance.md +1 -0
  40. package/core/plugins/kenaz/hooks/core-resolve.js +1 -1
  41. package/core/plugins/kenaz/hooks/kenaz-hook.js +52 -4
  42. package/core/plugins/kenaz/scripts/kenaz.test.js +72 -5
  43. package/lib/cli.js +9 -5
  44. package/package.json +6 -6
  45. package/vendor/install-kenaz-cli.js +21 -6
  46. package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +0 -537
  47. package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +0 -501
  48. package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +0 -426
  49. package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +0 -103
  50. package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +0 -97
  51. package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +0 -154
  52. package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +0 -159
  53. package/core/.kenaz/designs/metaplasticity_simulation_results.json +0 -696
  54. package/core/.kenaz/main-memory/README.md +0 -230
  55. package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +0 -168
  56. package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +0 -30
  57. package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +0 -361
  58. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +0 -117
  59. package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +0 -154
  60. package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +0 -51
  61. package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +0 -46
  62. package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +0 -108
  63. package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +0 -121
  64. package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
  65. package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +0 -48
  66. package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +0 -197
  67. package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +0 -78
  68. package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
  69. package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +0 -115
  70. package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +0 -223
  71. package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +0 -242
  72. package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +0 -111
  73. package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +0 -274
  74. package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +0 -28
  75. package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +0 -137
  76. package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
  77. package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
  78. package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +0 -239
  79. package/core/.kenaz/main-memory/registry.json +0 -326
  80. package/core/.kenaz/main-memory/version.yaml +0 -58
  81. package/core/.kenaz/specialist/memory_guard_fired.json +0 -1
  82. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +0 -1
  83. package/core/.kenaz/specialist/memory_source_priority.yaml +0 -260
  84. package/core/.kenaz/specialist/prompt_1775.txt +0 -317
  85. package/core/.kenaz/specialist/prompt_1776.txt +0 -326
  86. package/core/.kenaz/specialist/prompt_1791.txt +0 -320
  87. package/core/.kenaz/specialist/prompt_1792.txt +0 -320
  88. package/core/.kenaz/specialist/prompt_1795.txt +0 -281
  89. package/core/.kenaz/specialist/prompt_1813.txt +0 -332
  90. package/core/.kenaz/specialist/prompt_1814.txt +0 -401
  91. package/core/.kenaz/specialist/prompt_1815.txt +0 -394
  92. package/core/.kenaz/specialist/prompt_1816.txt +0 -437
  93. package/core/.kenaz/specialist/prompt_1818.txt +0 -361
  94. package/core/.kenaz/specialist/prompt_1819.txt +0 -421
  95. package/core/.kenaz/specialist/prompt_1821.txt +0 -345
  96. package/core/.kenaz/specialist/prompt_1822.txt +0 -313
  97. package/core/.kenaz/specialist/prompt_1824.txt +0 -348
  98. package/core/.kenaz/specialist/prompt_1826.txt +0 -388
  99. package/core/.kenaz/specialist/rune_efe_salience_gap.md +0 -21
  100. package/core/.kenaz/specialist/task1825_update.json +0 -43
  101. package/core/.kenaz/specialist/taskgen/consolidation_i.json +0 -38
  102. package/core/.kenaz/specialist/taskgen/csharp_a.json +0 -44
  103. package/core/.kenaz/specialist/taskgen/csharp_b.json +0 -40
  104. package/core/.kenaz/specialist/taskgen/embedding_e.json +0 -34
  105. package/core/.kenaz/specialist/taskgen/hygiene_fg.json +0 -39
  106. package/core/.kenaz/specialist/taskgen/pathology_h.json +0 -36
  107. package/core/.kenaz/specialist/taskgen/unity_noise_d.json +0 -38
  108. package/core/.kenaz/specialist/taskgen/visibility_c.json +0 -38
  109. package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +0 -390
  110. package/core/.specialist/Ansuz/self_model_seed.backup.json +0 -100
  111. package/core/.specialist/ansuz_session_handoff.json +0 -96
  112. package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +0 -126
  113. package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +0 -231
  114. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +0 -355
  115. package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +0 -143
  116. package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +0 -99
  117. package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +0 -44
  118. package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +0 -263
  119. package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +0 -180
  120. package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +0 -271
  121. package/core/dev/HOOK_DIET_2026-09-21.md +0 -126
  122. package/core/dev/JEV_INTEGRATION_PLAN.md +0 -189
  123. package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +0 -139
  124. package/core/dev/MOBILE_DESIGN_SPEC.md +0 -569
  125. package/core/dev/MULTI_ANSUZ_SPEC.md +0 -136
  126. package/core/dev/MUNINN_RETIREMENT.md +0 -115
  127. package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +0 -211
  128. package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +0 -83
  129. package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +0 -83
  130. package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +0 -231
  131. package/core/dev/PREDICTION_GROUNDING_DESIGN.md +0 -376
  132. package/core/dev/PRODUCT_SPEC.md +0 -317
  133. package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +0 -86
  134. package/core/dev/STARTUP_TIMELINE_TASK_1995.md +0 -181
  135. package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +0 -881
  136. package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +0 -96
  137. package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +0 -170
  138. package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +0 -171
  139. package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +0 -262
  140. package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +0 -207
  141. package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +0 -146
  142. package/core/dev/ansuz-eval/README.md +0 -38
  143. package/core/dev/ansuz-eval/build-fixtures.js +0 -87
  144. package/core/dev/ansuz-eval/grade.js +0 -96
  145. package/core/dev/ansuz-eval/grader.test.js +0 -117
  146. package/core/dev/ansuz-eval/tasks.md +0 -32
  147. package/core/dev/archive/ansuz/BOOT_FULL.md +0 -141
  148. package/core/dev/archive/ansuz/agents/ansuz-boot.md +0 -176
  149. package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +0 -84
  150. package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +0 -307
  151. package/core/dev/archive/ansuz/designs/check_guard.md +0 -322
  152. package/core/dev/archive/ansuz/designs/consequence_loop.md +0 -227
  153. package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +0 -312
  154. package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +0 -278
  155. package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +0 -490
  156. package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +0 -167
  157. package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +0 -193
  158. package/core/dev/archive/ansuz/designs/thought_stack.md +0 -286
  159. package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +0 -330
  160. package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +0 -352
  161. package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +0 -48
  162. package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +0 -170
  163. package/core/dev/archive/ansuz/legacy/kernel.yaml +0 -399
  164. package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +0 -418
  165. package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +0 -376
  166. package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +0 -35
  167. package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +0 -582
  168. package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +0 -94
  169. package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +0 -274
  170. package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +0 -67
  171. package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +0 -32
  172. package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +0 -91
  173. package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +0 -58
  174. package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +0 -146
  175. package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +0 -424
  176. package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +0 -92
  177. package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +0 -453
  178. package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +0 -191
  179. package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +0 -250
  180. package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +0 -301
  181. package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +0 -272
  182. package/core/dev/archive/skills/feature_agent/SKILL.md +0 -289
  183. package/core/dev/design/PHASE4_DESIGN.md +0 -559
  184. package/core/dev/design/dashboard_docs_integration_PLAN.md +0 -388
  185. package/core/dev/design/matrix_format_ABBREVIATIONS.md +0 -655
  186. package/core/dev/design/matrix_format_DESIGN_SPEC.md +0 -601
  187. package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +0 -484
  188. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +0 -13
  189. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +0 -9
  190. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +0 -14
  191. package/core/dev/design/matrix_format_SYNTAX_BNF.md +0 -754
  192. package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +0 -484
  193. package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +0 -503
  194. package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +0 -414
  195. package/core/dev/design/matrix_v2_EXAMPLE.matrix +0 -67
  196. package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +0 -509
  197. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +0 -52
  198. package/core/dev/jev-eval/ANNOTATION_GUIDE.md +0 -68
  199. package/core/dev/jev-eval/BASELINE_COMPARISON.md +0 -45
  200. package/core/dev/jev-eval/CONTEXT_REVIEW.md +0 -31
  201. package/core/dev/jev-eval/EVALUATION_STATUS.md +0 -39
  202. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +0 -33
  203. package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +0 -42
  204. package/core/dev/jev-eval/README.md +0 -101
  205. package/core/dev/jev-eval/THALAMUS_RANKING.md +0 -58
  206. package/core/dev/jev-eval/VALIDATION_PROGRESS.md +0 -54
  207. package/core/dev/jev-eval/cli.mjs +0 -50
  208. package/core/dev/jev-eval/context.mjs +0 -183
  209. package/core/dev/jev-eval/corpus.mjs +0 -186
  210. package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +0 -6
  211. package/core/dev/jev-eval/fixtures/synthetic.jsonl +0 -11
  212. package/core/dev/jev-eval/metrics.mjs +0 -67
  213. package/core/dev/jev-eval/muninn-baseline.mjs +0 -119
  214. package/core/dev/jev-eval/providers.mjs +0 -95
  215. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +0 -32
  216. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +0 -48
  217. package/core/dev/jev-eval/reports/conversation-review.pending.json +0 -151
  218. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +0 -52
  219. package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +0 -133
  220. package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +0 -616
  221. package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +0 -52
  222. package/core/dev/jev-eval/reports/resilience-2026-09-20.json +0 -520
  223. package/core/dev/jev-eval/reports/rules-baseline.json +0 -197
  224. package/core/dev/jev-eval/reports/synthetic-review.pending.json +0 -357
  225. package/core/dev/jev-eval/resilience.mjs +0 -71
  226. package/core/dev/jev-eval/review.mjs +0 -78
  227. package/core/dev/jev-eval/schema.mjs +0 -87
  228. package/core/dev/jev-eval/test/context.test.mjs +0 -95
  229. package/core/dev/jev-eval/test/corpus.test.mjs +0 -102
  230. package/core/dev/jev-eval/test/eval.test.mjs +0 -146
  231. package/core/dev/jev-eval/test/muninn-baseline.test.mjs +0 -71
  232. package/core/dev/jev-eval/test/resilience.test.mjs +0 -72
  233. package/core/dev/jev-eval/test/review.test.mjs +0 -61
  234. package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +0 -338
  235. package/core/dev/pipeline/PROGRESS.md +0 -113
  236. package/core/dev/pipeline/PROGRESS_template.md +0 -860
  237. package/core/dev/pipeline/QA_REPORT_F008.md +0 -431
  238. package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +0 -583
  239. package/core/dev/pipeline/README.md +0 -210
  240. package/core/dev/pipeline/WORKFLOW_GUIDE.md +0 -824
  241. package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +0 -53
  242. package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +0 -54
  243. package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +0 -54
  244. package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +0 -53
  245. package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +0 -56
  246. package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +0 -54
  247. package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +0 -55
  248. package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +0 -65
  249. package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +0 -86
  250. package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +0 -51
  251. package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +0 -66
  252. package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +0 -56
  253. package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +0 -60
  254. package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +0 -60
  255. package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +0 -62
  256. package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +0 -54
  257. package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +0 -56
  258. package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +0 -54
  259. package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +0 -53
  260. package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +0 -57
  261. package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +0 -85
  262. package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +0 -54
  263. package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +0 -60
  264. package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +0 -55
  265. package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +0 -92
  266. package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +0 -58
  267. package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +0 -56
  268. package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +0 -53
  269. package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +0 -58
  270. package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +0 -54
  271. package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +0 -76
  272. package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +0 -64
  273. package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +0 -62
  274. package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +0 -54
  275. package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +0 -51
  276. package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +0 -51
  277. package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +0 -51
  278. package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +0 -53
  279. package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +0 -56
  280. package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +0 -56
  281. package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +0 -57
  282. package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +0 -56
  283. package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +0 -60
  284. package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +0 -53
  285. package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +0 -65
  286. package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +0 -46
  287. package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +0 -61
  288. package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +0 -46
  289. package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +0 -62
  290. package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +0 -62
  291. package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +0 -57
  292. package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +0 -98
  293. package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +0 -57
  294. package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +0 -71
  295. package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +0 -57
  296. package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +0 -68
  297. package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +0 -64
  298. package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +0 -71
  299. package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +0 -56
  300. package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +0 -69
  301. package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +0 -75
  302. package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +0 -70
  303. package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +0 -65
  304. package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +0 -51
  305. package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +0 -59
  306. package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +0 -53
  307. package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +0 -74
  308. package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +0 -63
  309. package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +0 -56
  310. package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +0 -56
  311. package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +0 -55
  312. package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +0 -57
  313. package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +0 -62
  314. package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +0 -51
  315. package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +0 -60
  316. package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +0 -48
  317. package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +0 -67
  318. package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +0 -66
  319. package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +0 -68
  320. package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +0 -46
  321. package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +0 -98
  322. package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +0 -161
  323. package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +0 -62
  324. package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +0 -163
  325. package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +0 -68
  326. package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +0 -63
  327. package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +0 -121
  328. package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +0 -60
  329. package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +0 -58
  330. package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +0 -61
  331. package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +0 -63
  332. package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +0 -56
  333. package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +0 -65
  334. package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +0 -60
  335. package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +0 -84
  336. package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +0 -57
  337. package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +0 -84
  338. package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +0 -115
  339. package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +0 -55
  340. package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +0 -129
  341. package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +0 -60
  342. package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +0 -163
  343. package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +0 -60
  344. package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +0 -59
  345. package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +0 -59
  346. package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +0 -60
  347. package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +0 -58
  348. package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +0 -258
  349. package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +0 -61
  350. package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +0 -403
  351. package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +0 -90
  352. package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +0 -86
  353. package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +0 -83
  354. package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +0 -65
  355. package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +0 -96
  356. package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +0 -63
  357. package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +0 -69
  358. package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +0 -67
  359. package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +0 -93
  360. package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +0 -68
  361. package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +0 -61
  362. package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +0 -65
  363. package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +0 -141
  364. package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +0 -76
  365. package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +0 -77
  366. package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +0 -63
  367. package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +0 -77
  368. package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +0 -82
  369. package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +0 -49
  370. package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +0 -53
  371. package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +0 -48
  372. package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +0 -55
  373. package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +0 -51
  374. package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +0 -52
  375. package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +0 -95
  376. package/core/dev/pipeline/docs/multi-agent-coordination.md +0 -446
  377. package/core/dev/pipeline/docs/overview.md +0 -406
  378. package/core/dev/pipeline/docs/task-management.md +0 -412
  379. package/core/dev/pipeline/docs/workflows.md +0 -32
  380. package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +0 -58
  381. package/core/dev/pipeline/orchestrator/schemas/task_schema.json +0 -139
  382. package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +0 -281
  383. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +0 -27
  384. package/core/dev/plans/ANSUZ_SLIM_PLAN.md +0 -68
  385. package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +0 -120
  386. package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +0 -313
  387. package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +0 -126
  388. package/core/dev/scripts/CRASH_DIAGNOSIS.md +0 -47
  389. package/core/dev/scripts/README.md +0 -142
  390. package/core/dev/scripts/RUN_ONCE.bat +0 -40
  391. package/core/dev/scripts/START_DEV_AGENT.bat +0 -63
  392. package/core/dev/scripts/START_MULTI_AGENT.bat +0 -80
  393. package/core/dev/scripts/dev_agent_scheduler.ps1 +0 -536
  394. package/core/dev/scripts/init_git.ps1 +0 -396
  395. package/core/dev/scripts/init_git.sh +0 -337
  396. package/core/dev/scripts/init_project.ps1 +0 -851
  397. package/core/dev/scripts/init_project.sh +0 -477
  398. package/core/dev/scripts/multi_agent_scheduler.ps1 +0 -2021
  399. package/core/dev/scripts/multi_agent_scheduler.sh +0 -1344
  400. package/core/dev/scripts/run_once.sh +0 -47
  401. package/core/dev/scripts/setup_rag.ps1 +0 -304
  402. package/core/dev/scripts/setup_rag.sh +0 -230
  403. package/core/dev/scripts/start_dev_agent.sh +0 -137
  404. package/core/dev/scripts/start_multi_agent.sh +0 -41
  405. package/core/dev/scripts/sync_task_queue.ps1 +0 -505
  406. package/core/dev/scripts/sync_task_queue.sh +0 -392
  407. package/core/dev/specs/agent-connect/PROTOCOL.md +0 -177
  408. package/core/dev/specs/agent-connect/SDK_GUIDE.md +0 -915
  409. package/core/dev/specs/agent-connect/examples/minimal-site/README.md +0 -137
  410. package/core/dev/specs/agent-connect/examples/minimal-site/package.json +0 -12
  411. package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +0 -116
  412. package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +0 -73
  413. package/core/dev/specs/agent-connect/examples/minimal-site/server.js +0 -516
  414. package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +0 -263
  415. 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
  416. package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +0 -90
  417. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +0 -61
  418. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +0 -76
  419. package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +0 -87
  420. package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +0 -68
  421. package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +0 -642
  422. package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +0 -244
  423. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +0 -77
  424. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +0 -44
  425. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +0 -37
  426. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +0 -56
  427. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +0 -44
  428. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +0 -56
  429. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +0 -48
  430. package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +0 -57
  431. package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +0 -379
  432. package/core/dev/specs/agent-connect/history/README.md +0 -47
  433. package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +0 -65
  434. package/core/dev/specs/peer/CODEX_MANAGED_DAEMON.md +0 -54
  435. package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +0 -54
  436. package/core/dev/specs/peer/MODS_SPIKE.md +0 -133
  437. package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +0 -143
  438. package/core/dev/specs/peer/SWARM_PROTOCOLS.md +0 -256
  439. package/core/dev/specs/peer/codex-hook-shim-peer.test.js +0 -113
  440. package/core/dev/specs/peer/codex-push-launcher.test.js +0 -142
  441. package/core/dev/specs/peer/setup-codex-hooks.test.js +0 -60
  442. package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +0 -397
  443. package/core/dev/specs/peer-ansuz/DESIGN.md +0 -109
  444. package/core/dev/specs/peer-ansuz/spike/claude_poke.js +0 -129
  445. package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +0 -37
  446. package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +0 -14
  447. package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +0 -105
  448. package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +0 -29
  449. package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +0 -26
  450. package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +0 -305
  451. package/core/dev/spikes/A4-cypher-varlen.md +0 -176
  452. package/core/dev/spikes/bloat-rounds.sh +0 -25
  453. package/core/dev/spikes/mods/clean-claude.js +0 -9
  454. package/core/dev/spikes/mods/drive-probe.js +0 -29
  455. package/core/dev/spikes/mods/e2e-peer.js +0 -71
  456. package/core/dev/spikes/mods/evidence/e2e-peer-control.json +0 -17
  457. package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +0 -17
  458. package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +0 -4
  459. package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +0 -12
  460. package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +0 -11
  461. package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +0 -18
  462. package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +0 -1
  463. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +0 -1
  464. package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +0 -65
  465. 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 債在頭注已列)。