Commit Graph

3 Commits

Author SHA1 Message Date
a997c04cda fix(utils): atomic_write_json 穿透符号链接,修复设置保存后回退
os.replace 目标是符号链接时会替换链接本身,产生与共享文件脱钩的普通文件
(分叉)。docker/web 模式工作区的 personalization.json 是指向用户级共享
文件的符号链接,保存后分叉被 user_manager 的链接校准丢弃,导致个人空间
设置(如 external_session_header)保存成功却立刻回退。修复为写入前先
resolve 符号链接到真实文件再原子替换;普通文件路径行为不变。
2026-09-10 18:38:13 +08:00
d9bd599c1c feat(runtime): Gateway 独立启动与公共协议落地(改造第 0-3 步)
- 闭环修复:审批 task_id 显式化(N2)、通知回退路径门闸 finally 释放(N1)、
  personalization 原子写(S10,公共 atomic_write_json)
- server.tasks 拆解:__init__ 轻量化、Blueprint/路由移至 blueprint.py/web.py,
  app_legacy 装配点惰性挂载;models.py 循环依赖死导入移除
- 执行链 Web 解耦:emit_event/run_background 安全包装(socketio 未绑定静默),
  清除 4 处裸 socketio.emit(含 task_stopped 先写事件流再推送的顺序修复)
- RuntimeService 补建对话下沉:chat 任务无 conversation_id 时服务层装配,
  客户端无需复制 Web 两步流程
- 事件协议:get_task_events 返回 meta.window_start 缺口检测水位
- 验收:test_runtime_standalone_lifecycle 子进程隔离(config import 固化问题),
  独立启动 + 协议全链路 + 审批语义全绿;全量 74 测试失败恰为 4 项存量
2026-09-07 23:00:15 +08:00
10654c407d release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00