HEL-911: 修好通话收尾报错并查清开口等待(候选,不合并) #14

Open
leefer wants to merge 5 commits from agent/2/8e99cc2cc592 into agent/agent/ab943ea62162
Owner

起点 407fc81(HEL-910 证据链 tip),单提交差异,供原总工一次复审。不合并;合并路由归总管。

  • worker _on_item:按 1.8.8 ConversationItemAddedEvent.item 判别字段过滤(ChatMessage | AgentHandoff | _TypeDiscriminator),仅 assistant 的 str 部件正文进回声过滤(修 HEL-910 实录 AttributeError)
  • bind_interrupt_channel 卸载改协程(JobContext 关停回调一律被 await)、幂等、断连安全(修 TypeError await None);interrupt(force=True)/回执/预算路径不动
  • TURN_HANDLING 显式 turn_detection: None:1.8.8 默认补入的英文 EOU TurnDetector 对中文终稿的 unlikely 判定把 endpointing 顶到 max_delay=6.0,实测吃掉 user_final→turn_start 3.667/3.654s(HEL-910 call2);离线 A/B(真 SDK+真 silero VAD+实测时间轴):BASELINE 3.704s → 修复 0.004s。endpointing 0.8/6.0 逐字保留,不降 VAD 阈值、不动 buffer_turn。首声总时延下降需真实窗口复测,不在此承诺
  • scripts/gen_hel911_wait_repro.py 离线复现工具;tests +3 项真 SDK 检查(.12 agent venv 11/11);产品套 .12 规范环境 480 passed / 2 预存失败与基准一致
  • hel910_call1.mjs 可靠性修正(分段落盘防超时丢证;时机A 门控改为服务端已落 chat 行+生成中相位,node --check 离线验证);window-record.md §9 追加事实纠偏(原文未回改)
  • 需求检查 origin/main 与 407fc81 带 handoff-HEL-911.json 均通过;全程真实 cap=0
起点 407fc81(HEL-910 证据链 tip),单提交差异,供原总工一次复审。不合并;合并路由归总管。 - worker `_on_item`:按 1.8.8 `ConversationItemAddedEvent.item` 判别字段过滤(ChatMessage | AgentHandoff | _TypeDiscriminator),仅 assistant 的 str 部件正文进回声过滤(修 HEL-910 实录 AttributeError) - `bind_interrupt_channel` 卸载改协程(JobContext 关停回调一律被 await)、幂等、断连安全(修 TypeError await None);interrupt(force=True)/回执/预算路径不动 - `TURN_HANDLING` 显式 `turn_detection: None`:1.8.8 默认补入的英文 EOU TurnDetector 对中文终稿的 unlikely 判定把 endpointing 顶到 max_delay=6.0,实测吃掉 user_final→turn_start 3.667/3.654s(HEL-910 call2);离线 A/B(真 SDK+真 silero VAD+实测时间轴):BASELINE 3.704s → 修复 0.004s。endpointing 0.8/6.0 逐字保留,不降 VAD 阈值、不动 buffer_turn。首声总时延下降需真实窗口复测,不在此承诺 - `scripts/gen_hel911_wait_repro.py` 离线复现工具;tests +3 项真 SDK 检查(.12 agent venv 11/11);产品套 .12 规范环境 480 passed / 2 预存失败与基准一致 - hel910_call1.mjs 可靠性修正(分段落盘防超时丢证;时机A 门控改为服务端已落 chat 行+生成中相位,node --check 离线验证);window-record.md §9 追加事实纠偏(原文未回改) - 需求检查 origin/main 与 407fc81 带 handoff-HEL-911.json 均通过;全程真实 cap=0
leefer added 1 commit 2026-10-29 21:27:55 +08:00
- worker _on_item: filter conversation_item_added by the real 1.8.8 item
  discriminator (ChatMessage | AgentHandoff | _TypeDiscriminator); only
  assistant str-part body feeds the echo filter (HEL-910 AttributeError)
- bind_interrupt_channel unload: async (JobContext shutdown callbacks are
  awaited), idempotent, disconnect-safe; interrupt/receipt/budget paths
  untouched (HEL-910 TypeError await None)
- TURN_HANDLING: explicit turn_detection=None — 1.8.8 silently installs an
  English EOU TurnDetector whose unlikely verdicts on Chinese finals push
  endpointing to max_delay=6.0 (measured 3.667/3.654s HEL-910 call2; offline
  A/B on the real SDK: baseline 3.704s vs fixed 0.004s). Endpointing
  0.8/6.0 kept verbatim; no VAD/buffer_turn/semantic change
- scripts/gen_hel911_wait_repro.py: offline reproduction harness (real
  AgentSession + real silero VAD + HEL-910 wav and measured timings)
- tests: +3 real-SDK checks (11/11 on .12 agent venv; prior 8 regressions
  kept, unload call sites await the new protocol)
- hel910_call1.mjs reliability: segmented probe/recorder dumps to disk,
  timing-A trigger requires the server-committed voice turn row (not a
  we-sent-it proxy); node --check only, no real run
- window-record.md §9: appended factual corrections (companion 9 not 18,
  turn_start +6.099 not +4.10, assistant_final is the playout/receipt gate,
  post-window ListRooms token failure is not empty-room evidence); original
  record untouched
- docs/rework/hel911/summary.md + handoff-HEL-911.json; requirement checks
  pass vs origin/main and 407fc81

Co-authored-by: multica-agent <github@multica.ai>
leefer added 1 commit 2026-10-29 22:04:55 +08:00
leefer added 1 commit 2026-10-29 22:30:59 +08:00
leefer added 1 commit 2026-10-29 22:39:07 +08:00
leefer added 1 commit 2026-10-29 22:41:32 +08:00
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin agent/2/8e99cc2cc592:agent/2/8e99cc2cc592
git checkout agent/2/8e99cc2cc592
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leefer/CyberGril#14