v0.3.3
v0.3.3 — fusion-desk → fusion-cowork 重命名 + 三个非阻断项落地
关键修复
上游底座实为 fusion-cowork(import fusion_cowork,已装 v0.2.5),不存在 fusion-desk。
旧代码 try: import fusion_desk 始终失败,FUSION_DESK_AVAILABLE 恒为 False,
集成处于静默降级态(隐藏的 P1 集成缺陷)。本次更正后 FUSION_COWORK_AVAILABLE=True,
集成恢复。
三个非阻断项
- server.py 覆盖率 43% → 补 6 个冒烟测试:MCPServer start/stop 生命周期(SSE 真实启停、幂等 start、安全 stop、stdio 信号停止)+ CLI main()(argparse 启停、KeyboardInterrupt 分支)
- PROCESS 沙箱约束文档:CLAUDE.md 入口契约补充——PROCESS 模式下入口必须为模块级可导入属性,闭包/lambda/局部函数(
<locals>)无法在子进程importlib.import_module导入,会在 spawn 时失败 - 全工程 fusion-desk 残留清理:desk_runtime.py / mcp_exporter.py / claude_gateway.py / init.py / pyproject.toml / README.md / README_CN.md / CLAUDE.md 全部 desk → cowork,DeskContext → DeskRuntime,移除已不存在的 desk_context.py / test_desk_context.py
测试稳定性
- 修复
test_mcp_server_stdio_signal_stop在 Linux CI 挂死:SelectorEventLoop 自身实现 add_signal_handler 遮蔽类级 patch → 改实例级 patch + wait_for 兜底 - CI 增加
pytest-timeout --timeout=120兜底,防止未来测试挂起阻塞 CI
验证
pytest tests/ -q→ 420 passed(+6)ruff check --select=F,E711,E712,E721,E741,W无问题ruff format --check全绿- CI:3.11/3.12/3.13 + lint 全绿
Full Changelog: v0.3.2...v0.3.3