人工审批:默认端口 8765 与 WorkBuddy Copilot 冲突:改为系统自动分配端口
已裁决工单:默认端口 8765 与 WorkBuddy Copilot 冲突:改为系统自动分配端口(t-20260713-6317d1)
修复摘要:将 server.py 的 --port 默认值从 8765 改为 0(OS 自动分配),并在测试中添加正确的回归断言:通过 patch bind_server 捕获 main([]) 实际传入的 port 参数断言为 0,不再创建独立 ArgumentParser。
改动文件:src/cutpoint_lab/studio/server.py, tests/test_studio_app.py
judge 裁定:verdict=approve,bugReal=true,fixEffective=true,regressionRisk=low,constraintsRespected=true
judge 理由:
- server.py 的 --port default 已从 8765 改为 0,与工单要求一致
- 新测试第一部分通过 patch.object(server_module, 'bind_server') spy 捕获 port 参数,调用的是真实 server_module.main([]),而非独立 ArgumentParser——正好修复了退回工单指出的核心缺陷
- spy_bind 签名 (app, *, host, port) 与真实 bind_server 调用形参一致(86 测试全绿可佐证),断言 captured_port[0]==0 真正覆盖了 server 入口行为
- 第二部分 --help 不含 '8765' 的断言保留,符合退回批注要求
- Workspace / StudioApplication / ShellAsrRunner 全部 mock,不引入真实 ASR/LLM 调用,满足离线约束
- unittest.mock 属 Python 标准库,未引入任何 pip 包,零运行时依赖约束不受影响
- HTTP 接口行为语义未变(仅默认端口配置),向后兼容约束不受影响
- harness 86/86 通过,无跳过/放宽已有断言
转人工原因:
- 风险等级 medium 的门槛配置为人工审批
AI 对这个决策的四维评估(供判断参考):
- 有无标准答案:有(偏技术最优解)
- AI 置信度:高
- 重要性:中
- 可回退性:可撤销
在工单详情页可查看完整 diff:/tickets/t-20260713-6317d1
所选项:「批准合并」
· 裁决人 Michael · 2026-07-13 07:50:11