完成结果交付生命周期探针
请使用仓库中的虚拟环境,搭配全新的 HOME 和 HERMES_HOME 来运行该命令:
probe=$(mktemp -d)
HOME="$probe" HERMES_HOME="$probe/state" .venv/bin/python evals/gateway_completion/delivery_lifecycle.py
该探针不会使用任何远程模型或 Discord 认证信息。它会启动实际的终端子进程、进程读取线程以及异步委托工作线程;同时会使用真实的 DiscordAdapter 和运行时生命周期,仅将出站传输机制及模型处理流程在本地进行替换。该探针会检测通知完成情况、空闲状态监控匹配、仅发送原始通知的行为、异步完成结果的传递,以及无法使用的原始 API 持留问题。HERMES_EVAL_REPO 用于为 A/B 测试选择不同的代码版本。
在版本 03f3b09222b 上:终端通知控制功能正常运行,空闲状态监控保持排队状态且未触发任何轮次,导致探针测试失败。修复方案包括:确保空闲状态监控仅触发一次;后续的轮次处理钩子不会产生重复记录;能够正常发送异步 Discord 完成结果;对于缺失的 API 传输请求,则保持等待状态且不尝试多次。此外,为确保重启后的稳定性,还使用了十个共享 SQLite 数据库的新的子进程:原版本在尝试八次后仍无法解决问题而中止;修复后的版本则保持等待状态/零次尝试,随后一次性处理完所有批量任务,生成一条 API 传输记录,且不涉及模型处理轮次。