AgentEvalTool/docs/archive/campaign-architecture-deepening-20260811-v1.0.md

3.1 KiB
Raw Permalink Blame History

Campaign 架构深化阶段总结

版本v1.0 归档日期2026-08-11 阶段状态:已完成并纳入项目 v1.0.0 代码基线10a089e1782b24 需求来源Gitea Issue #2、.scratch/refactor-plan-architecture-deepening-v2.md

一、阶段目标

本阶段在不改变 HTTP 契约、业务口径、管理后台信息架构和部署拓扑的前提下,继续深化 Campaign 相关模块:统一智能分析与周期对比的耐久作业编排,建立稳定读模型,收窄 Campaign 运行时接口,并验证是否值得抽取跨领域条件写入模块。

二、交付结果

  1. 耐久智能作业:新增统一 owner集中管理 queued 持久化、条件认领、任务句柄、成功/失败结算、启动恢复和关闭。重复入队不再把 generating 回退为 queued;恢复最多 3 次,避免无限模型调用。
  2. Campaign 读模型:列表、详情、报告、时间线、智能分析、周期对比和 Markdown 导出统一消费稳定 projection列表 child Run 改为批量读取。
  3. CampaignRuntime:生产调用面收敛为 startcancelrecovershutdown时钟、child Run 执行器、tick、reconcile 与 TaskRegistry 留在实现内部。
  4. 前端请求编排useCampaignReport 统一列表、报告快照、展开行时间线、状态感知轮询、silent refresh、生成操作和迟到响应过滤页面回归渲染与交互职责。
  5. 删除测试拒绝通用条件写入模块。Campaign 与 Intelligent Evaluation 只有 SQL 外形相似,状态、时间、事务副作用和冲突语义不同;结论记录于 ADR-0006。

三、质量与发布验收

  • 后端:744 passed
  • 前端:15 passedtsc --noEmit 与生产构建通过。
  • 迁移Alembic upgrade/downgrade 往返通过,生产数据库位于 d4e7f9a1b2c3 (head)
  • 代码质量:本阶段相关 Ruff 检查及 git diff --check 通过。
  • 阶段验收镜像:agenteval:0.8.0-1782b24;版本漂移随后在项目 v1.0.0 发布中统一修正。
  • 正式地址:https://agenteval.solahqb22.cn/;前端、健康接口和 OpenClaw 均验证成功。
  • 发布前备份:/var/backups/agenteval/agenteval-0.8.0-1782b24-20260811T051927Z.tgz

四、关键决策

  • 数据库是 Campaign 与智能作业的耐久权威TaskRegistry 只保存当前进程句柄。
  • queued 可以有限恢复;遗留 generating 失败结算,不自动重放可能已产生外部副作用或费用的工作。
  • Campaign 读模型是跨 Repository 组合的唯一稳定 seamRouter 不拼装领域快照。
  • 保持单进程 FastAPI + SQLite 假设;引入多 worker 前必须重新评审认领、恢复和 SQLite 并发边界。

五、后续事项

  • 阶段结束提交为 1782b24;后续发布提交统一项目版本并重新部署双线环境。
  • .scratch/ 中原始计划和辅助脚本继续保留,未纳入版本控制。
  • 全仓库 Ruff 仍有 6 个历史迁移格式问题;与本阶段逻辑无关,后续可单独清理。
  • 下一轮架构工作应以真实第三个 adapter 或新部署约束为触发条件,避免仅因代码形状相似继续抽象。