同时确认进程退出和任务完成
Process Success and Semantic Completion Handshake
后台进程退出成功后,还需找到任务完成记录,才能报告完成。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
后台分析器处理一份观察记录。教学运行R7因读不到输入而报告阻塞,却退出0;主进程若把它当成功并归档唯一输入,就丢失了待处理工作。
具体做法
为本轮固定输入快照和运行身份。完成契约要求必需读取、分析与写入成功后,最后一个非空行输出精确记录{“status”:”analysis_complete”};没有发现也应输出,阻塞不得输出。主进程同时检查退出0与本轮恰好一个末尾完成记录,独立核对必需产物。全部满足后只确认该快照,保留后来新增输入;失败保留待办和诊断。
反例
R7退出0,所以分析完成。即使日志说输入不可读,也归档所有当前观察记录。
改进写法
R7退出0只表示进程正常结束。检查本轮输出恰好一个末尾analysis_complete记录及必需产物;缺失、重复、写入失败或输入快照不符则保持待处理。有效的无发现分析也可以完成,但不能归档本轮未读取的新增记录。
为什么这样改
进程状态与任务状态回答不同问题。明确完成协议给主进程一个可检查信号;输入快照约束避免确认范围扩大到分析器并未处理的数据。
如何验证
教学矩阵:退出0但阻塞、记录缺失、重复记录或记录后仍有其他非空输出均不确认。退出非0即使有记录也不确认。退出0、精确末尾记录、产物核对通过可确认R7快照;新增记录仍留待办。
适用边界
自报标记可能错误,不能证明分析质量或每个写入正确,故需独立产物核验。具体记录格式是本例契约,真实宿主可能用其他协议。归档与确认还要防并发覆盖,不能只依赖模型口头完成声明。
原文与版本
- affaan-m/ECC · Completion contract
查看此版本的文件ef648e01899b - affaan-m/ECC · Exact current-run record and process-exit acknowledgement
查看此版本的文件ef648e01899b