iter: 协议升级为连续迭代+心跳监护模式
This commit is contained in:
@@ -5,3 +5,5 @@ dist/
|
||||
apps/docs/*.html
|
||||
.workbuddy/
|
||||
.gitea-token
|
||||
.ua/loop.lock
|
||||
.ua/heartbeat*
|
||||
|
||||
+10
-1
@@ -1,7 +1,16 @@
|
||||
# 无人值守自我迭代协议(ITERATION.md)
|
||||
## 无人值守自我迭代协议(ITERATION.md)
|
||||
|
||||
> 本协议由自动化 Agent 执行,也可供人工参考。任何迭代必须遵守 `CODING.md`、`AGENTS.md`、`ARCHITECTURE.md` 三份规范,门禁 `npm run check` 不通过的一切产出作废。
|
||||
|
||||
## 运行模式:连续迭代 + 心跳监护
|
||||
|
||||
调度器(每小时唤起)**不是**迭代器,只做两件事:健康检查 + 中断重启。真正的迭代是单次唤起内的**连续循环**——反复执行《每轮迭代流程》,直到 backlog 清空或时间预算耗尽,中间不停歇。
|
||||
|
||||
- **并发锁**:`.ua/loop.lock`(含时间戳,不入库)。唤起时若锁存在且心跳在 15 分钟内 → 已有实例在跑,直接退出;否则写锁开始循环。每轮开始前刷新锁内时间戳作心跳。
|
||||
- **时间预算**:单次唤起最多连续迭代约 50 分钟,到点在完成当前轮后停止(防止与下次唤起重叠)。
|
||||
- **熔断**:同一 backlog 条目连续 2 轮失败 → 停止循环,锁照常释放,等待下次唤起。
|
||||
- **重启语义**:锁心跳超过 15 分钟视为循环中断(崩溃/超时),调度器删旧锁、重新点火。
|
||||
|
||||
## 分支流水线
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user