ProjectForge v0.1.2
纯 bugfix 版本:三个控制面修复,无行为变更、无布局变更、无新依赖。
修复
replan 支持执行期失败
Agent 崩溃或超时产生的 run 记录没有 execution/validation 结果,此前 create_proposal 强制要求两者存在,恰好拒绝了最需要重新规划的 run。现在缺失的结果以 None 透传,FailureAnalyzer 将无结果的记录归类为 agent failure 并套用标准重试预算(2 次)。
run 持久化保留 replan 控制字段
PersistedExecution 此前丢弃 replan_count 与 active_proposal_id,run 落盘再加载后 replan 状态静默丢失。
事件 id 碰撞导致丢事件
event_id 由墙钟微秒生成,在时钟粒度较粗的系统(如 Windows)上同一微秒内的两个事件 id 相同,被 append 去重逻辑静默吞掉。id 生成收敛到共享函数并加随机后缀;事件日志排序改为仅按时间戳稳定排序,同时刻保持追加顺序。
验证
- GitHub Actions CI(Python 3.10 / 3.11 / 3.12):通过
- 本地全量套件连跑 8 轮:309 passed / 19 skipped,稳定无 flake
- 真实执行环境(Hermes + bwrap sandbox):328 passed / 0 skipped,含 19 个真实 LLM 沙箱执行用例
v0.2.0(executor 可插拔、离线 mock 后端、cancel 生效、确定性验证接通)已在准备中。