Mark U6 merged_local_dev, backfill undertaking tip 8079f8f4, and
update CURRENT claim rows. Seven-package L1 queue is clear.
14 KiB
title, status, created, updated, owner, task_id, task_type, task_tier, policy_revision, branch, worktree, base_dev_sha, write_scope, allowed_environments, mutex, review_state, integration_state, deployment, cleanup, cleanup_owner, remote_sync
| title | status | created | updated | owner | task_id | task_type | task_tier | policy_revision | branch | worktree | base_dev_sha | write_scope | allowed_environments | mutex | review_state | integration_state | deployment | cleanup | cleanup_owner | remote_sync | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 协调库与 daemon · 实施承接计划(工作包预填) | planned | 2026-09-23 | 2026-09-23 | Cursor | coordination-db-daemon-impl-plan-2026-09-23 | research | multi_stage | agent-governance-2026-09-21-r1 @ 1f2f3d6a58 |
feature/coordination-db-daemon-impl-plan-2026-09-23 | .worktrees/coordination-db-daemon-impl-plan-2026-09-23 | 1f2f3d6a58 |
|
coordination-db-daemon-impl-plan | pending | pending | not_required | pending | 独立维护者 | not_requested |
协调库与 daemon · 实施承接计划(工作包预填)
1. 目的、输入依赖与非目标
1.1 目的
为 协调库与 daemon 方案 的 L1 七单元提供可直接开工的承接框架:三波次门禁、七个工作包预填登记(符号级锚点 + 真实并发验收)、防重复施工、开工准入、集成与收口分项。每包另立 short-term 实施时复制本表字段,不得缺项编码。
1.2 输入依赖(本机均可见)
| 输入 | 路径 | 状态 |
|---|---|---|
| 设计方案 | ./2026-09-23-coordination-db-daemon-plan.md | planned;已合入 local_dev |
| 研究依据 | ../ops/research/2026-09-23-coordination-db-daemon-research.md | done(调研可审) |
| 既有锁方案 | ./2026-09-21-agent-lock-coordination-plan.md | planned;本机 SQLite 权威 |
| 操作规范 | ../ops/2026-09-21-agent-worktree-workflow.md | active |
| 验证契约 | ../ops/2026-09-21-validation-contract.md | active;本批适用「治理脚本」行 |
| 平台深化 HA 边界 | ./2026-09-23-platform-deepening-reliability-ha-concurrency-plan.md §0 | 单宿主机;跨机需 ADR |
1.3 非目标
- 本文件不实施 U1r–U6 任何代码、不装载 launchd/systemd、不改 FEATURE-MATRIX 状态值。
- L2 跨机 PostgreSQL / 中央 daemon 不入波次;无 ADR + 二次授权不得开跨机代码。
- 不把 L1 宣称为 OS 沙箱;协调不依赖产品容器;不接触业务数据库。
- 不 push、不操作 test/main(除非另获授权)。
2. 已落地基线盘点(本机实测)
编制日:2026-09-23。基线 tip:1f2f3d6a58d153e6a7809943d2f3383b9c620085(本任务 base_dev_sha;各包开工时以当时 dev tip 重测)。
| 检查项 | 依据 | 结果 |
|---|---|---|
| queue 子解析器重复注册 | 合入 63e66c6fb35d6b4dd9f3ed92e15acc9933aeb344 |
已修复;scripts/agentctl.py 仅一处 add_parser('queue')(:1613) |
| 权威库 | .locks/state.sqlite |
11 表;scope/lease/CAS/收据/候选准入/--ff-only 已 enforced(相对受控入口) |
| queue/jobs 行数 | 活库采样 | queue_items/jobs 仍可为 0(运维闭环待用);parser 已可用 |
| 策略 YAML | configs/agent-governance.yaml |
不存在 |
| automation 分叉 | scripts/agentctl_automation.py |
零导入;schema 含活库无的 operations/doc_registry |
| 常驻服务 | *.service / *.plist / compose 协调服务 |
0 个 |
| FEATURE-MATRIX 治理行 | 「Agent worktree 治理自动化」 | partial;W4 landed;仍 deferred:PI 源码镜像、跨机隔离、automation/w4 收敛 |
| CURRENT 矛盾 | :5 vs :15 |
macOS 租约可用/不可用并存;操作规范 :3 仍写「Linux 本机」 |
含义:方案 U1 的 queue 缺陷已落地;剩余工作包默认 incremental 或 net_new(有检索证据),禁止重复施工覆盖已 PASS 的 L1/W4 证据。
3. 波次 → 门禁表
flowchart LR
subgraph W1 [W1 认领与策略基础]
U1R[U1r automation归一]
U2[U2 governance.yaml]
U3[U3 长期claim]
end
subgraph W2 [W2 执行代理与CURRENT]
U7[U7 quarantine交接]
U4[U4 常驻入口]
U5[U5 CURRENT投影]
end
subgraph W3 [W3 矩阵迁移]
U6[U6 MATRIX record id]
end
U2 --> U4
U3 --> U4
U3 --> U5
U4 --> U5
U5 --> U6
U7 --> U4
| 波次 | 包 | 准入 | 完成判据 | 验证契约适用行 |
|---|---|---|---|---|
| W1 | U1r, U2, U3 | 本承接计划已合入;mutex 无冲突 | 三包各自 short-term 验收 PASS 并合入 | 治理脚本 |
| W2 | U7, U4, U5 | W1-U2/U3 done;U7 可与 U4 并行编码 | daemon 单实例 + CURRENT 投影 PASS;操作规范/CURRENT 矛盾已修正 | 治理脚本;涉文档追加纯文档核对 |
| W3 | U6 | W2-U5 done | MATRIX 稳定 ID + done 证据门禁不回退 | 治理脚本 + 纯文档 |
编码/隔离测试可并行(mutex 不重叠);dev 集成串行(git:dev)。
4. 工作包登记表(全部预填)
4.1 必填字段约定
| 字段 | 要求 |
|---|---|
wp_id |
唯一;与 short-term task_id 可映射 |
phase |
W1 / W2 / W3 |
relation_to_baseline |
incremental / regression_gate / net_new(须检索证据) |
code_anchors |
文件路径 + 符号;禁止只写包名 |
deps |
依赖 wp_id / 已合入 tip / ADR |
mutex |
与 CURRENT 认领一致 |
write_scope |
允许写路径 |
test_scenarios |
Given/When/Then;临时 Git 仓库真实并发/拒绝;stub/SKIP 不算 PASS |
rollback |
单批 revert;迁移 additive |
4.2 登记表
| wp_id | phase | title | relation_to_baseline | code_anchors | deps | mutex | write_scope | test_scenarios | rollback |
|---|---|---|---|---|---|---|---|---|---|
| W1-U1r | W1 | automation 归一与 state.db 清理 | incremental(MATRIX 已记 deferred automation/w4 收敛) |
scripts/agentctl_automation.py(整文件);活库无 operations/doc_registry;.locks/state.db(0 字节孤儿,代码无引用) |
queue 修复 tip 63e66c6f |
agentctl-automation-converge |
scripts |
(1) rg 无导入引用后删除或合并到 agentctl_w4;(2) unittest discover 全绿;(3) 确认无代码引用后清理运行态 state.db(不入 Git) |
单批 revert;若已删文件则恢复提交 |
| W1-U2 | W1 | 治理策略外部化 | net_new(检索:configs/ 无 agent-governance.yaml) |
scripts/agentctl.py:27 SHARED_DOCS;scripts/agentctl_w4.py:64 JOB_KINDS;:75 PROJECTABLE_DOCS;:80 PROJECTABLE_PREFIXES;新建 configs/agent-governance.yaml |
— | agent-governance-config |
scripts, configs |
临时仓库:(1) 策略缺失拒写;(2) YAML 损坏拒写;(3) protocol 版本过低拒写;(4) 合法加载后 docs apply/with 行为不变 |
revert 配置+加载代码;硬编码常量可作紧急回退 |
| W1-U3 | W1 | 显式长期认领 claim | incremental(基于既有 scope/lease) |
scripts/agentctl.py:553 check_resources;:589 class Lease;tasks/freezes/runs 表;新 claim 表或等价资源键 |
W1-U2 建议先合入(策略版本字段) | agentctl-claim |
scripts |
(1) 20 并发抢同一 claim 仅 1 成功;(2) 不同资源并行均成功;(3) 目录/子文件父子重叠冲突;(4) 冻结资源拒写;(5) 重复 request_id 幂等;(6) 冲突返回持有者+票据+retry_after |
additive schema;revert 代码;旧客户端无 claim 列时 fail-closed |
| W2-U7 | W2 | quarantine 与安全交接 | regression_gate(recover 已有三值存活) |
scripts/agentctl.py:993 recover;进程层 alive_status/group_status/descent_status;runs.generation |
—(可与 W1 并行编码) | agentctl-handoff |
scripts |
(1) 杀 supervisor 留子进程不得误抢;(2) unknown 不回收;(3) TTL/心跳过期只进 suspect/quarantine;(4) 旧 generation renew/write/release 全拒;(5) env/git 未知结果须核验收据 |
单批 revert;不削弱既有 recover 负例 |
| W2-U4 | W2 | 常驻协调入口 | net_new(检索:仓库 0 个 service/plist) |
新 deploy/agentctl/ 或 scripts/systemd/+scripts/launchd/ 模板;.locks/os/manager.lock(锁方案 §3.1 规划、今日不存在);复用 queue schedule :1245、投影路径 |
W1-U2 done;W1-U3 done;W2-U7 建议先合入 | agentctl-daemon |
scripts, deploy(若放单元模板) |
(1) 双实例争 manager.lock 仅一存活;(2) daemon 停后受保护写入 fail-closed(非放行);(3) 前台 CLI 语义不变;(4) daemon 不新增权限(无 register 能力不可越权) |
卸下单元模板;删除 manager.lock 争用代码可 revert;不自动装载本机 |
| W2-U5 | W2 | CURRENT 状态输出化 | incremental(docs_project 已有) |
scripts/agentctl.py:1308 docs_project;行模板约 :1358-1362;槽位保护 :903-908;.doc/ops/CURRENT.md;.doc/ops/2026-09-21-agent-worktree-workflow.md:3 |
W1-U3 done;W2-U4 建议先合入(投影调度) | current-projection |
scripts, .doc |
(1) 双任务并行投影不丢行;(2) 同行 CAS → BASE_CHANGED;(3) 槽位保护不回退;(4) 人工「焦点/受控约束」区块机器不写;(5) 修正 CURRENT :5/:15 与操作规范「Linux 本机」过时描述 |
revert 投影代码+文档;保留人工段落 |
| W3-U6 | W3 | FEATURE-MATRIX 稳定 ID | incremental |
.doc/status/FEATURE-MATRIX.md 完成度表约 :52-78(27 行);docs apply done 门禁 :922-928 |
W2-U5 done | matrix-record-id |
scripts, .doc |
(1) 无证据升 done 被拒;(2) 未知列/历史段落保留;(3) 整文 rewrite 不能夹带 done;(4) 任务 close ≠ 自动升 done;(5) production_ready 仍只由发布门禁判定 |
revert;记录 ID 映射表保留在 Git 便于回滚对照 |
4.2.1 落地 tip 回填(2026-09-23)
| wp_id | merged tip(local_dev) | 判定 |
|---|---|---|
| W2-U7 | 981021b2 |
done |
| W2-U4 | 725e2e4b |
done |
| W2-U5 | c780a030 |
done |
| W3-U6 | 8079f8f4 |
done |
4.3 判定列(开工前填)
每包 short-term 增加列:判定 = planned | in_progress | blocked | done | cancelled。本承接计划合入时全部为 planned。
5. 防重复施工前置检查
每个工作包开工前,owner 在 short-term 勾选并留证据链接:
- 检索 gap-matrix:已有 PASS 覆盖同一缺陷 → 默认
regression_gate。 - 检索 FEATURE-MATRIX「Agent worktree 治理自动化」:W4 landed 项不得推倒重来;本包声明与 deferred 项的关系。
- 对照 设计方案 U1–U7:本包范围不越界到 L2。
- 声明
relation_to_baseline;net_new列出检索路径(至少含 §4.2 锚点)。 - mutex / write_scope 与 CURRENT /
agentctl task register一致。 - 红线:无 ADR 不开跨机;不宣称 OS 沙箱;不碰业务库/产品容器协调。
- 验证契约「治理脚本」行:计划中的并发/拒绝路径均在临时真实 Git/SQLite 执行。
任一项未勾 → 保持 planned/blocked,不得编码。
6. 开工准入(硬条件)
同时满足才可 agentctl task register 并编码:
- 本承接计划已为当前
dev祖先; - 该包 §4.2 必填字段齐全且 §5 全部勾选;
- 依赖包(§4.2
deps)已done或显式允许并行; - 从当时
dev完整 SHA 创建feature/<task-id>/fix/<task-id>,不从他人 feature 派生; - L2 相关改动另有 ADR + 用户二次授权(本波次不应触发)。
7. L2 ADR 前置门(不开工)
跨机 + 独立 PostgreSQL + 中央 daemon + systemd(Linux 中央主机)仅登记:
| 门禁 | 要求 |
|---|---|
| ADR | 覆盖锁方案 §3.2「跨机锁服务当前不采用」与平台深化 §0「跨机 HA 需先另立 ADR」 |
| 用户授权 | 二次明确授权;范围/期限/退出条件写入 short-term |
| 验收登记 | 双主机并发、断网、旧进程存活、重复 request_id、备份恢复——待执行,不得冒充已测 |
无上述门禁 → 任何 PR/合入含跨机协调代码一律拒绝。
8. 集成、部署与收口
8.1 集成
冻结 head → 候选 merge --no-ff(第一父 = expected_dev)→ agentctl validate → agentctl integrate --expected-dev <SHA>(git:dev 租约内 --ff-only)。CURRENT/MATRIX 变更走 docs apply 收据。
8.2 部署判定
| 变更 | deployment |
|---|---|
仅 .doc / 本承接计划 / 单元模板入库未装载 |
not_required |
scripts/agentctl* 行为变更 |
临时仓库治理脚本验收即可;不要求产品容器 rebuild |
| 本机装载 launchd/systemd(若另授权) | 本机装载演练记录;fail-closed 核验 |
8.3 收口分项(每包必报)
review_state / integration_state / deployment / cleanup / remote_sync(默认 not_requested)。
9. 与本框架任务的关系
- 本文件
status=planned:追踪「七包实施队列」,不是业务已开工。 - 编制本框架的 short-term:../ops/short-term/2026-09-23-coordination-db-daemon-impl-plan.md。
- 设计方案保持 planned;各包落地时在方案 U 节回填合入 tip,不代填验收。