diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index e80e2efe..a74ba8aa 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -18,13 +18,14 @@ | owner | task | branch | worktree | mutex | status | |---|---|---|---|---|---| +| pi | worktree-final-closeout-2026-09-26 | feature/worktree-final-closeout-2026-09-26 | .worktrees/worktree-final-closeout-2026-09-26 | git:dev+docs | in_progress | | cursor-auto | cleanup-audit-r3-2026-09-25 | feature/cleanup-audit-p11-2026-09-25 | .worktrees/cleanup-audit-p11-2026-09-25 | docs-cleanup-audit | done | | Cursor | admin-settings-maint-b-2026-09-25 | feature/admin-env-settings-maintenance-2026-09-25 | .worktrees/admin-env-settings-maintenance-2026-09-25 | admin-settings-maintenance | done | | Cursor | dm-migration-2026-09-24-r2 | feature/dm-migration-2026-09-24 | .worktrees/dm-migration-2026-09-24 | dm-migration | done | | Cursor | governance-console-p1-impl-2026-09-24 | feature/governance-console-p1-impl-2026-09-24 | .worktrees/governance-console-p1-impl-2026-09-24 | agentctl-console | done | | Cursor | governance-console-p1-design-2026-09-24 | feature/governance-console-p1-design-2026-09-24 | .worktrees/governance-console-p1-design-2026-09-24 | agentctl-console-design | done | | Cursor | governance-visibility-p0-2026-09-24 | feature/governance-visibility-p0-2026-09-24 | .worktrees/governance-visibility-p0-2026-09-24 | agentctl-visibility | done | -| Cursor | worktree-cleanup-closeout-2026-09-24 | feature/worktree-cleanup-closeout-2026-09-24 | .worktrees/worktree-cleanup-closeout-2026-09-24 | worktree-cleanup | in_progress | +| Cursor | worktree-cleanup-closeout-2026-09-24 | feature/worktree-cleanup-closeout-2026-09-24 | (已清理) | worktree-cleanup | done | | Cursor | non-author-closeout-2026-09-24 | feature/non-author-closeout-2026-09-24 | .worktrees/non-author-closeout-2026-09-24 | docs+git:dev | done | | Cursor | integrate-non-author-docs-2026-09-24 | feature/integrate-non-author-docs-2026-09-24 | .worktrees/integrate-non-author-docs-2026-09-24 | git:dev | done | | Cursor | non-author-member-access-docs-2026-09-24 | feature/non-author-member-access-2026-09-24 | .worktrees/non-author-member-access-2026-09-24 | docs+matrix | done | @@ -60,8 +61,8 @@ | Cursor | integrate-pi-narrative-docs-2026-09-23 | feature/integrate-pi-narrative-docs-2026-09-23 | .worktrees/integrate-pi-narrative-final-closeout-b-2026-09-23 | git:dev | done | | Cursor | pi-narrative-final-closeout-b-2026-09-23 | feature/pi-narrative-final-closeout-b-2026-09-23 | .worktrees/pi-narrative-final-closeout-2026-09-23 | docgov | done | | Cursor | chat-semantic-d3-matrix-land-2026-09-23 | feature/chat-semantic-d3-matrix-land-2026-09-23 | .worktrees/chat-semantic-d3-matrix-land-2026-09-23 | chat | done | -| Cursor | intent-plan-i2-rollout-b-2026-09-24 | feature/intent-plan-i2-rollout-2026-09-24 | .worktrees/intent-plan-i2-rollout-2026-09-24 | intent-plan | in_progress | -| Cursor | intent-plan-i2-impl-2026-09-24 | feature/intent-plan-i2-shadow-allowlist-2026-09-24 | .worktrees/intent-plan-i2-shadow-allowlist-2026-09-24 | intent-plan | in_progress | +| Cursor | intent-plan-i2-rollout-b-2026-09-24 | feature/intent-plan-i2-rollout-2026-09-24 | (已清理) | intent-plan | done | +| Cursor | intent-plan-i2-impl-2026-09-24 | feature/intent-plan-i2-shadow-allowlist-2026-09-24 | (已清理) | intent-plan | done | | Cursor | closeout-claim-removed-2026-09-23 | feature/closeout-claim-removed-2026-09-23 | (removed) | git:dev+worktree-cleanup | done | | Cursor | module-batches-ag-status-fix-2026-09-23 | feature/module-batches-ag-status-fix-2026-09-23 | .worktrees/module-batches-ag-status-fix-2026-09-23 | module-decoupling-spec | done | | Cursor | fav-constraint-current-2026-09-23 | feature/fav-constraint-current-2026-09-23 | (removed) | git:dev+docs | done | @@ -113,7 +114,7 @@ | Cursor | 2026-09-21-dev-multiuser-four-issues | fix/dev-multiuser-four-issues-2026-09-21 | .worktrees/fix-dev-multiuser-four-issues | projectinstance+docgov | done | | Codex | 2026-09-17-initial-load-performance-plan | feature/initial-load-performance-plan | .worktrees/feature-initial-load-performance-plan | loading-performance-audit | done | | Cline | 2026-09-16-partial-deferred-completion | docs/partial-deferred-completion-plan | - | architecture-docs | in_progress | -| Cursor | dialogue-context-injection-2026-09-25 | feature/dialogue-context-injection-2026-09-25 | /home/weichen/projects/Agent-System/.worktrees/dialogue-context-injection-2026-09-25 | dialogue-ctx | in_progress | +| Cursor | dialogue-context-injection-2026-09-25 | feature/dialogue-context-injection-2026-09-25 | (已清理) | dialogue-ctx | done | | Cursor | dialogue-context-injection-2026-09-25-r2 | feature/dialogue-context-injection-2026-09-25 | .worktrees/dialogue-context-injection-2026-09-25 | dialogue-ctx | done | ## 清理接管与遗留现场 diff --git a/.doc/ops/evidence/2026-09-25-security-redline-false-positive/focused-security-tests.log b/.doc/ops/evidence/2026-09-25-security-redline-false-positive/focused-security-tests.log new file mode 100644 index 00000000..b14e97e6 --- /dev/null +++ b/.doc/ops/evidence/2026-09-25-security-redline-false-positive/focused-security-tests.log @@ -0,0 +1,53 @@ +=== RUN TestPlanProposal_SecurityRejectsWhole +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +--- PASS: TestPlanProposal_SecurityRejectsWhole (0.00s) +=== RUN TestIntentRecognition_SecurityForbidden +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +--- PASS: TestIntentRecognition_SecurityForbidden (0.00s) +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/合规手册撰写含整改角色字段 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=AMBIGUOUS_FALLBACK confidence=0.2 +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/整改+角色远距共现 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=AMBIGUOUS_FALLBACK confidence=0.2 +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/改一下文档+角色跨句 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=AMBIGUOUS_FALLBACK confidence=0.2 +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/换一份清单+姓名字段 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=AMBIGUOUS_FALLBACK confidence=0.2 +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/系统配置说明文档撰写 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=AMBIGUOUS_FALLBACK confidence=0.2 +=== RUN TestIntentRecognition_SecurityFalsePositives_NotBlocked/知识库连接故障排查询问 +2026/09/25 12:51:24 INFO intent_recognition intent=CASUAL_CHAT branch=NEW_INTENT_PREEMPT confidence=0.7 +--- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/合规手册撰写含整改角色字段 (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/整改+角色远距共现 (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/改一下文档+角色跨句 (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/换一份清单+姓名字段 (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/系统配置说明文档撰写 (0.00s) + --- PASS: TestIntentRecognition_SecurityFalsePositives_NotBlocked/知识库连接故障排查询问 (0.00s) +=== RUN TestIntentRecognition_SecurityForbidden_Extended +=== RUN TestIntentRecognition_SecurityForbidden_Extended/姓名修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +=== RUN TestIntentRecognition_SecurityForbidden_Extended/部门修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +=== RUN TestIntentRecognition_SecurityForbidden_Extended/资质修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +=== RUN TestIntentRecognition_SecurityForbidden_Extended/向量库连接修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +=== RUN TestIntentRecognition_SecurityForbidden_Extended/网关密钥修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +=== RUN TestIntentRecognition_SecurityForbidden_Extended/知识库连接修改 +2026/09/25 12:51:24 INFO intent_recognition intent=SECURITY_FORBIDDEN branch=NEW_INTENT_PREEMPT confidence=1 +--- PASS: TestIntentRecognition_SecurityForbidden_Extended (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/姓名修改 (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/部门修改 (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/资质修改 (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/向量库连接修改 (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/网关密钥修改 (0.00s) + --- PASS: TestIntentRecognition_SecurityForbidden_Extended/知识库连接修改 (0.00s) +PASS +ok chat-agent-system/internal/intent 0.007s +=== RUN TestCoordinatorEngine_SecurityForbidden +2026/09/25 12:51:24 INFO coordinator_route intent=SECURITY_FORBIDDEN branch="" confidence=0 channel=TEMPLATE reason=查询/治理/补充类意图,走规则模板与知识库直答 +--- PASS: TestCoordinatorEngine_SecurityForbidden (0.00s) +PASS +ok chat-agent-system/internal/coordinator 0.004s diff --git a/.doc/ops/short-term/2026-09-26-worktree-final-closeout.md b/.doc/ops/short-term/2026-09-26-worktree-final-closeout.md new file mode 100644 index 00000000..07583ddc --- /dev/null +++ b/.doc/ops/short-term/2026-09-26-worktree-final-closeout.md @@ -0,0 +1,74 @@ +--- +title: "Worktree 全量收口:内容落地、记录归并与清理" +task_id: worktree-final-closeout-2026-09-26 +status: in_progress +created: 2026-09-26 +owner: pi +task_type: ops-closeout +task_tier: cross-module +policy_revision: "agent-governance-2026-09-21-r1" +parent_task: cleanup-audit-p11-2026-09-25 +user_authorization: "用户指示:将 .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. 合入后运行时验证 + +docgov 三权流转含 DB 迁移与运行行为变更,按 AGENTS §3 在 dev 环境(单二进制本地运行时)rebuild + `/health` `/ready` + 业务冒烟;结果记录于本文件(执行后回填)。 + +## 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. 清理结果(执行后回填) + +预期:43 个历史 worktree + 本轮 land/record/integrate/closeout worktree 全部 `agent-worktree.sh remove --delete-branch`(普通 remove,拒绝即保留复查);分支随删。 + +## 红线遵守 + +- 未用 `--force` worktree remove / `git branch -D` / 按年龄批量删除;每个删除前经工具 ancestor/registry/文件/进程检查。 +- 未 push 远端(dev 本地 ahead,用户未要求)。 +- 测试/迁移/红线能力未冒充:真实 PI E2E 与 PG 集成负例按原任务口径记未运行,dev 运行时验证单独执行。 diff --git a/.doc/test-reports/assets/2026-09-25-admin-settings-maintenance/handoff-e2e.log b/.doc/test-reports/assets/2026-09-25-admin-settings-maintenance/handoff-e2e.log new file mode 100644 index 00000000..e1874d72 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-25-admin-settings-maintenance/handoff-e2e.log @@ -0,0 +1,5 @@ +=== RUN TestRealFDHandoffE2E +maintpage listening (mode=maintenance) window=1 +--- PASS: TestRealFDHandoffE2E (0.55s) +PASS +ok chat-agent-system/internal/handoff 0.549s