2.2 KiB
2.2 KiB
Workflow Monitoring Pitfalls — 2026-06-15
auto_notify脚本挂掉不自知
auto_notify_new_file.sh依赖inotifywait持续监控,进程消失后无自动重启- 6月12日后进程消失,6月15日凌晨5份合同完全未被检测到
- 教训:inotifywait类脚本需要进程守护机制(systemd service或cron watchdog)
workflow suspended无人发现
- workflow因API 500错误suspended后,小Maggie未主动检查
- 规则:"启动后必须跟进到完成(不能启动了不管)"
- 必须有机制持续检查
uwf thread list的状态
workflow通知时序
- 旧版:deliverer先通知→final_review后终审→$END(不通知)
- 问题:终审rejected时Doro已收到虚假"完成"通知
- 修复:deliverer去掉通知,final_review approved后才通知
- workflow hash变更记录:DQVH5MWCGYXMX → 6EZEZJF8M15V6 → 6T8SCPEQJ7DWJ
禁止把Doro放入自动化流程
- Doro明确拒绝❌被加入cron监控或自动通知链
- 技术问题应自行解决,不能设计成"出问题就通知Doro"
reviewer agent进程反复崩溃
- 端午节合同两次在reviewer阶段因agent进程崩溃失败("agent command failed")
- 非workflow逻辑问题,疑为API调用超时或内存问题
- 处理方式:重新启动thread(第三次成功),不修改workflow逻辑
串行调度脚本(auto_notify挂掉时的临时方案)
- 位置:
~/.hermes/scripts/run_contract_queue.sh - 用法:
bash run_contract_queue.sh "file1.docx" "file2.docx" ... - 逐份创建thread并同步执行,suspended自动重试一次,失败则跳过继续
- 日志:
/tmp/contract_queue.log - 等待当前运行中的thread完成后再启动队列:写wrapper脚本轮询
uwf thread show的status直到非running
contract_docx_lib.py bug修复记录(2026-06-15)
- add_clause/add_clause_before numPr继承bug:deepcopy相邻段落pPr时会连带numPr,导致新增独立条款错误继承上一条的子编号列表。修复:deepcopy后自动剥离numPr
- 签署页INS字体不一致:editor照抄被替换文字的rPr(sz=24 bold=no),但签署页标签是sz=28 bold=YES。修复:final_review检查清单新增g项和h项