summaryrefslogtreecommitdiff
path: root/scripts/m3_supervise.py
Commit message (Collapse)AuthorAgeFilesLines
* fix(m3): 加固监督器生命周期与冻结证据校验Somhairle H. Marisol2026-09-191-90/+419
| | | | | | | | | | | | | | | | | | | [问题原因] - 监督器需要在批次退出、中断、控制器重启和状态异常时保持 fail-closed。 - 同秒控制器重启可能复用旧日志及退出标记,造成生命周期结果误判。 [问题根因] - 旧判据未完整绑定固定阶段参数、world 索引与 seed,冻结清单也未覆盖递归文件完整性。 - 进程身份和孤儿子进程检测不足,无法可靠区分重复拉起与中断现场。 [修复方案] - 固定 PHASES 判据,强化退出码、日志、manifest、PID 身份和孤儿检测。 - 增加递归 v2 manifest、同秒路径去重、原子状态处理和真实隔离生命周期 selftest。 - 对失败或 interrupted 状态停机并生成诊断,禁止自动重启。 [影响范围] - 仅修改 scripts/m3_supervise.py。 - 不修改生产 state、日志、frozen evidence 或其他工作区文件。
* infra: P0 监督加固 — m3_supervise.py ↵Somhairle H. Marisol2026-09-191-81/+427
| | | | flock防重入/原子状态/冻结Release全依赖+sha256清单/真实child退出码(sh -c exitfile)/PID+starttime身份/收紧PASS判据(批次参数+world行数全OK+batch_summary+verdict token+清单hash+commit绑定)/失败停机并写diagnosis报告, selftest 33项合成断言; completion_notify.py 新completion-notice.md hash仅打印一次缺失静默, selftest 7项; Headless --batch 世界级并行(LV_BATCH_WORKERS 默认modest 4, 逐世界确定性, 输出按序, world行与串行逐字节一致); .gitignore 补冻结/锁/通知状态文件
* chore: M3 验收监督脚本 scripts/m3_supervise.py — cron 10min no_agent ↵Somhairle H. Marisol2026-09-191-0/+154
状态机(idle→30x20→50x100→done), pid/cmdline 防重复拉起, 运行中零输出, PASS 链式推进/FAIL 停机待人工, --selftest(9 项解析+转移断言); .gitignore 补 m3_logs/m3_state/.opencode-tmp