3.1 KiB
3.1 KiB
Campaign 架构深化阶段总结
版本:v1.0
归档日期:2026-08-11
阶段状态:已完成并纳入项目 v1.0.0
代码基线:10a089e → 1782b24
需求来源:Gitea Issue #2、.scratch/refactor-plan-architecture-deepening-v2.md
一、阶段目标
本阶段在不改变 HTTP 契约、业务口径、管理后台信息架构和部署拓扑的前提下,继续深化 Campaign 相关模块:统一智能分析与周期对比的耐久作业编排,建立稳定读模型,收窄 Campaign 运行时接口,并验证是否值得抽取跨领域条件写入模块。
二、交付结果
- 耐久智能作业:新增统一 owner,集中管理 queued 持久化、条件认领、任务句柄、成功/失败结算、启动恢复和关闭。重复入队不再把
generating回退为queued;恢复最多 3 次,避免无限模型调用。 - Campaign 读模型:列表、详情、报告、时间线、智能分析、周期对比和 Markdown 导出统一消费稳定 projection;列表 child Run 改为批量读取。
- CampaignRuntime:生产调用面收敛为
start、cancel、recover、shutdown,时钟、child Run 执行器、tick、reconcile 与 TaskRegistry 留在实现内部。 - 前端请求编排:
useCampaignReport统一列表、报告快照、展开行时间线、状态感知轮询、silent refresh、生成操作和迟到响应过滤;页面回归渲染与交互职责。 - 删除测试:拒绝通用条件写入模块。Campaign 与 Intelligent Evaluation 只有 SQL 外形相似,状态、时间、事务副作用和冲突语义不同;结论记录于 ADR-0006。
三、质量与发布验收
- 后端:
744 passed。 - 前端:
15 passed;tsc --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 组合的唯一稳定 seam,Router 不拼装领域快照。
- 保持单进程 FastAPI + SQLite 假设;引入多 worker 前必须重新评审认领、恢复和 SQLite 并发边界。
五、后续事项
- 阶段结束提交为
1782b24;后续发布提交统一项目版本并重新部署双线环境。 .scratch/中原始计划和辅助脚本继续保留,未纳入版本控制。- 全仓库 Ruff 仍有 6 个历史迁移格式问题;与本阶段逻辑无关,后续可单独清理。
- 下一轮架构工作应以真实第三个 adapter 或新部署约束为触发条件,避免仅因代码形状相似继续抽象。