fischer-agentkit/tests/unit/experts
Chiguyong 0daa4d21b0 fix(review): avoid double broadcast when stream breaks mid-way
Code review finding (P2): when chat_stream successfully emits the first
chunk (broadcasted to UI) but then breaks during subsequent chunks, the
fallback path called gateway.chat() and broadcasted the FULL content
via _replay_stream — causing the UI to see partial streamed content
followed by duplicated full content.

Fix: if `total` already contains partial content from first_chunk,
return it directly without calling gateway.chat(). Partial content is
better than duplicated content. The non-streaming fallback only runs
when no chunks were broadcasted (total is empty).

Add test_stream_breaks_after_first_chunk_returns_partial covering this
edge case: first chunk yields "部分内容", second __anext__ raises
RuntimeError. Asserts result is the partial content, gateway.chat() is
never called, and broadcast_event is called exactly once (for the
first chunk only).
2026-07-06 15:53:27 +08:00
..
__init__.py feat: Expert Team Mode — plan-execute collaboration with conversation UI 2026-06-14 22:20:14 +08:00
_helpers.py test: fix async generator mock for U3 streaming orchestrator 2026-07-02 22:52:10 +08:00
test_board_backtest.py feat: 私董会讨论模式 + 回测集成 + WS持久化修复 2026-06-17 23:52:53 +08:00
test_board_orchestrator.py fix(review): avoid double broadcast when stream breaks mid-way 2026-07-06 15:53:27 +08:00
test_board_router.py feat: 企业级客户端-服务端架构 + 代码审查修复 2026-06-20 06:48:18 +08:00
test_board_team.py refactor: remove all emoji from agentkit 2026-07-02 01:33:28 +08:00
test_config.py refactor: remove all emoji from agentkit 2026-07-02 01:33:28 +08:00
test_divergence_detection.py feat(experts): U3 分歧检测 + 方案评审辩论自动触发 2026-06-24 11:09:53 +08:00
test_expert.py refactor: remove all emoji from agentkit 2026-07-02 01:33:28 +08:00
test_orchestrator_debate.py feat(experts): U4 用户干预通道 + 手动辩论触发 2026-06-24 12:17:09 +08:00
test_phase_executor_streaming.py fix(experts): resolve residual review findings from PR #13 2026-07-01 13:26:19 +08:00
test_plan.py feat(experts): U1 协作契约数据模型 + Lead 生成契约 2026-06-24 13:44:50 +08:00
test_pm_collaboration.py test: fix async generator mock for U3 streaming orchestrator 2026-07-02 22:52:10 +08:00
test_registry.py refactor: remove all emoji from agentkit 2026-07-02 01:33:28 +08:00
test_router.py feat(experts): U7 新增 5 个编程专家模板 + dev_team 团队模板 + ExpertTeamRouter 模板展开 2026-06-18 01:50:43 +08:00
test_team.py feat(experts):重写 TeamOrchestrator 为流水线模式 + TeamStatus.PLANNING 2026-06-18 01:39:22 +08:00
test_team_intervention.py feat(experts): U4 用户干预通道 + 手动辩论触发 2026-06-24 12:17:09 +08:00
test_team_orchestrator.py fix(bitable/team): U3 — Residual P2 findings (DR-1/3/4/5 + #2/#3) 2026-07-06 03:48:14 +08:00