agent-Specialization/core
JOJO 99f4d3d1dd fix(server): 对话级主任务门闸,修复并发主任务交叉写入对话历史
事故:socketio 用户任务(不在 task_manager 注册)与完成通知轮询器
派发的通知任务并发写入共享 conversation_history,产生 assistant 乱序段,
导致 Kimi API 400(tool_call_id is not found)与通知永久丢失。

- 新增 server/main_task_gate.py:对话级主任务门闸(单写者不变量,
  一个 WebTerminal 同一时刻只允许一个主聊天任务)
- process_message_task 作为唯一入口获取/认领门闸,拿不到即拒绝;
  通知链 token 经 session_data 移交,失败释放并回滚通知标记;
  _run_chat_task finally 兜底释放防泄漏
- execute_tool_calls 改守护包装(try/finally 复位 _tool_loop_active),
  杜绝并发交错导致标志卡死
- build_messages 增加孤儿 tool 消息剥离防御层(止血,不替代门闸)
- AGENTS.md 新增 §12 记录门闸架构与改代码硬约束
2026-08-12 18:01:32 +08:00
..
main_terminal_parts fix(server): 对话级主任务门闸,修复并发主任务交叉写入对话历史 2026-08-12 18:01:32 +08:00
main_terminal.py fix(file-manager): direct 执行环境下文件工具不再误拦授权范围外路径 2026-08-12 11:23:27 +08:00
tool_config.py refactor: remove run_python tool, consolidate all execution to run_command 2026-06-07 16:23:01 +08:00
web_terminal.py fix(server,static): 网络权限实例级快照与快捷窗口跨对话残留消闪 2026-08-08 23:59:45 +08:00