auto-sync: 2026-05-18 23:04:49
This commit is contained in:
@@ -140,22 +140,27 @@ parent_task TEXT -- 子 Task 填父 Task 的 id,顶层 Task 为 NULL
|
||||
- 子 Task 有自己独立的 `status`、`assignee`、`depends_on`、`stage`
|
||||
- 子 Task 的 `stage` 字段绑定到父 Task 的 `stages_json` 中的某个 stage id
|
||||
|
||||
**父 Task 状态 = 子 Task 聚合**:
|
||||
**父 Task 状态 = 子 Task 聚合**(v2.8 更新):
|
||||
|
||||
| 父 Task 状态 | 推导规则 |
|
||||
|-------------|---------|
|
||||
| `pending` | 所有子 Task 都是 pending,或无子 Task |
|
||||
| `escalated` | 有子 Task escalated(v2.8 新增,视同 working) |
|
||||
| `waiting_human` | 有子 Task waiting_human(v2.8/M3 新增,视同 working) |
|
||||
| `working` | 有子 Task 在 claimed / working |
|
||||
| `review` | 有子 Task 在 review |
|
||||
| `done` | 所有子 Task 都是 done |
|
||||
| `failed` | 有子 Task failed 且无 active 子 Task |
|
||||
| `blocked` | 有子 Task blocked 且无 active 子 Task |
|
||||
| `cancelled` | 用户/AI 取消(手动设置,**不参与聚合**) |
|
||||
| `paused` | 用户暂停(手动设置,**不参与聚合**) |
|
||||
|
||||
**聚合优先级**(子 Task 同时满足多个条件时):
|
||||
review > working > pending > blocked > failed
|
||||
**聚合优先级**(v2.8 更新):
|
||||
escalated > waiting_human > review > working > pending > failed > blocked
|
||||
|
||||
**手动状态保护**:父 Task 被手动设为 cancelled 后,聚合不覆盖(与 Card 层的 MANUAL_STATUSES 机制一致)。
|
||||
**不参与聚合**:paused, cancelled(手动状态)
|
||||
|
||||
**手动状态保护**:父 Task 被手动设为 cancelled 或 paused 后,聚合不覆盖。
|
||||
|
||||
**聚合刷新时机**:每次 Ticker tick 时,全量扫描有子 Task 的父 Task,刷新聚合状态。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user