Files
Agent-System/.doc/ops/short-term/2026-09-26-worktree-final-closeout.md
T

8.0 KiB
Raw Blame History

title, task_id, status, created, owner, task_type, task_tier, policy_revision, parent_task, user_authorization
title task_id status created owner task_type task_tier policy_revision parent_task user_authorization
Worktree 全量收口:内容落地、记录归并与清理 worktree-final-closeout-2026-09-26 done 2026-09-26 pi ops-closeout cross-module agent-governance-2026-09-21-r1 cleanup-audit-p11-2026-09-25 用户指示:将 .worktrees 下未清除任务分支彻底完成、测试验证后合入 dev,文档登记更新后清除分支任务(2026-09-26 会话)

Worktree 全量收口(2026-09-26)

1. 背景与授权

P11 清理审计(2026-09-25-p11-cleanup-audit.md)后仍有 43 个登记 worktree(38 blocked / 5 ready)。用户授权一次性收口:含未合入成果的分支彻底完成并验证合入 dev,文档登记更新,然后清除 worktree 与分支。

基线:dev 6adf694f(本地,ahead origin/dev 101)。所有集成经 agentctl integrate prepare/validate/integrate 受控通道,串行推进。

2. 内容落地(4 项,全部完成)

交付 来源分支/提交 落地方式 验证 集成 SHA
docgov 三权流转(锁定期补充积压 migration 00073、流转职责通知、阶段化批注矩阵、重开 Approver 优先)+ 对话触发(comment/reopen/pending 键进 U11 live 基线集) feature/doc-review-lifecycle-2026-09-25(986d78cc + 09fe9723) 新 land 分支 cherry-pick,12 处冲突按 dev 现行结构重解(per-docID 锁、gov()/authorizer() 访问器、U11 live 键函数化、app/docnotify 去 stream 依赖);migration 00072→00073(dev 已占用 00072);MATRIX docgov 行经 docs apply 收据更新 arch-check block / go vet / go test -short 全量 / 8 包聚焦 -count=1 / web npm test + build 全 PASS;证据 assets/2026-09-26-doc-review-lifecycle-land/revalidation-summary.txt 117ef7d8
对话办公能力全景盘点与 P0–P3 整改计划(audit 调研 + remediation 计划 + 双 INDEX) feature/dialogue-office-expansion-2026-09-25(09ffe7de) land 分支 cherry-pick,remediation/INDEX 双行并集 文件存在性 + 全链接检查(去锚点)PASS 75ff922b
项目成员权限总览(system-design + README) feature/member-permissions-doc-2026-09-24(e2a442b5) land 分支 cherry-pick;废弃的 CURRENT 认领行(d784daf8)不入;顺手修复 README t20 迁址失效链接 同上链接检查 PASS 23ee0f02
非容器化单二进制三环境交付方案(2 份设计文档) feature/single-binary-deploy-design-2026-09-24(7ebf431c) land 分支 cherry-pick;CURRENT 行改动(588fef1c)废弃不入 同上 PASS cc519e38

原任务报告口径保留:真实产品 PI E2E(对话送审/批注/重开全链)未运行(未获授权环境),不冒充 PASS;dev 环境运行时验证见 §5。

3. 记录性归并(9 分支 → dev 祖先)

git merge --no-ff -s ours(树不变、暂存为空、git:dev 租约下单发完成),使旧分支 tip 成为 dev 祖先以满足受控删除的 ancestor 检查。每个候选经 validate(git diff --quiet HEAD^1 HEAD 树不变断言)+ integrate:

分支 归并依据
feature/doc-review-lifecycle-2026-09-25 内容已由 land 分支等价落地(§2 行 1)→ 64a28c98
feature/member-permissions-doc-2026-09-24 同上 → db8585b5
feature/single-binary-deploy-design-2026-09-24 同上 → 357c869a
feature/integrate-admin-settings-maint-b-2026-09-25 patch-id 查重:tip 8f9b91d3 与 dev 等价;余为 merge 节点 → 043e10f6
feature/integrate-backlog-triage-p10(-r2)-2026-09-25 被 r3 候选替代,仅含 merge 节点 → 2d3a7a22/5f85f3c5
feature/integrate-gov-visibility-p0-b-2026-09-24 取消的重试候选,被 p0-c 替代 → 2a7a7000
feature/promote-rc-beta3-c-2026-09-24 test 晋升历史完整保留于本地 test(头 0e4b111d,含 tag rc-v1.1.0-beta.3 标注历史);不引入 dev 树变化 → dc108181
feature/sync-local-test-origin-2026-09-24 tip 9984c68d 经上述归并已为 dev 祖先(merge no-op,候选复验后不重复推进)

4. 唯一证据归档与缓存处置

  • handoff-e2e.log(4K):committed 报告 2026-09-25-admin-settings-maintenance-test-report.md 引用但未入库 → git add -f 归档至原引用路径。
  • focused-security-tests.log(8K,53 行):P11 指定唯一日志 → git add -f 归档至 .doc/ops/evidence/2026-09-25-security-redline-false-positive/。
  • websysadmin playwright 输出(524K,playwright-output-main/、playwright-report-main/):P9 报告未引用,属可再生测试产物,登记后随 worktree 删除。
  • scripts/handoff-e2e.sh(worktree 未跟踪副本):committed 等价物已在 assets/2026-09-25-admin-settings-maintenance/handoff-e2e.sh → 副本废弃。
  • web/dist_placeholder(single-binary-dev-impl worktree):dev 以 web/dist/.gitkeep 机制覆盖,本地占位副本废弃。
  • 遗留孤儿测试进程 pid 3484192(/tmp/TestRealFDHandoffE2E…/stubserver,PPID=1):终止(测试产物进程,无父服务)。
  • 其余 ignored 文件(.codegraph/、internal/server/data/、__pycache__、bin/、web/node_modules、web/dist、.tmp/):可再生缓存,登记后随 worktree 删除。

5. 合入后运行时验证(已执行,2026-09-26 20:28–20:31)

  • ./scripts/build-single-binary.sh 从 dev 19700e85 主仓干净树构建 bin/agent-server(32M)。
  • agentctl with --task dev-runtime-verify-2026-09-26 --resource env:dev 经主入口 ./scripts/launch.sh --no-docker 重启:旧进程 2398019 停止,新二进制接管 :8080(PI sidecar/localpg 复用)。
  • /health:status=ok, schema_version=73, database_ready/kb_ready/task_store_ready/events_ready=true;/ready:200。
  • 业务冒烟:GET /api/v1/projects/1/documents/x/comments、POST …/trace/reopens/1/approve 返回 401 鉴权门(路由存在、无 panic);migration 00073_document_pending_supplements 已在 dev DB 落账(goose version_id=73)。
  • 过程注记:launch 的常驻子进程与租约同进程组导致 recovery 卡住,按 verified 流程停止后改用 setsid 分离拉起(pid 202055,PPID=1),租约均 completed/recovered;另发现某 server 测试在 20:14 已先行将 migration 00073 应用于共享 dev DB(测试隔离糖疑点,待独立排查,不阻断本次验收)。

6. CURRENT 修正(docs:admin @document CAS)

  • 新增本任务行;intent-plan-i2-rollout-b-2026-09-24、intent-plan-i2-impl-2026-09-24、worktree-cleanup-closeout-2026-09-24、dialogue-context-injection-2026-09-25 四行 in_progress→done(registry 早已 done,P11c/P14 漂移修正)。

7. 清理结果(已执行)

  • 预清理:孤儿 stubserver pid 3484192 终止;可再生缓存(.codegraph/、internal/server/data/、__pycache__、bin/、web/node_modules、web/dist、.tmp/、worktree 本地 data//deploy/ 副本与 .env 副本、playwright 输出、占位/重复脚本)逐项删除并登记;已归档日志从源 worktree 移除。
  • 受控删除:agent-worktree.sh remove --delete-branch 共移除 59 个 worktree+分支(43 个历史 + 16 个本轮 land/record/integrate),全部普通 remove,无 --force/-D。
  • 保留项:u9u12-keys-rollout-2026-09-25 被空闲用户 shell(pid 3386059,orca-relay bash,cwd 驻留)占用,工具正确拒绝;登记 cleanup_pending,待用户处置该 shell 后重跑 remove。
  • 终态盘点:agentctl cleanup report 仅余上述占用项;docs drift 无硬告警;dev 本地领先 origin/dev(未 push,未获授权)。

红线遵守

  • 未用 --force worktree remove / git branch -D / 按年龄批量删除;每个删除前经工具 ancestor/registry/文件/进程检查。
  • 未 push 远端(dev 本地 ahead,用户未要求)。
  • 测试/迁移/红线能力未冒充:真实 PI E2E 与 PG 集成负例按原任务口径记未运行,dev 运行时验证单独执行。