Local merged side branches and their worktrees are gone; FAV/herdr/diagnosis/old-linear stay unmerged on purpose. Co-authored-by: Cursor <cursoragent@cursor.com>
4.8 KiB
4.8 KiB
旁支清点与收口 测试报告
一、 测试背景 (Background)
主仓在 dev@347c5f5 时本地仍挂着大量 tip 已是 dev 祖先的旁支,以及 8 个 extra worktree。未合入 dev 的 5 条分支均不能整支 --no-ff merge(会回归审计关闭结果、盖掉 U12 arch-check、触 FAV 红线,或引入旧线性历史)。本轮只做清理 + 冒烟,无功能 merge。
二、 测试目标 (Test Objectives)
- 拆掉已合入分支的 7 个 worktree;保留错名 FAV worktree。
git branch -d删除已是dev祖先的本地旁支(31 条)。- 5 条未合入分支一律保留、不合入、不
-D。 - 主仓冒烟:
go vet、go test -short、arch-check --mode block、:8080/health与/ready(schema 38、pi-agent)。 - 不 rebuild、不跑真实 PI、不碰项目 143、不从 worktree 起停 docker、不 push、不删
origin/*。
三、 测试方案与环境 (Test Plan & Environment)
| 项 | 值 |
|---|---|
| OS | Linux 7.0.0-31-generic |
| Go | go1.27.1 linux/amd64 |
| 分支 | chore/leftover-branch-cleanup(自 dev@347c5f5) |
| 容器 | 现网 U11 镜像,不做 rebuild |
| 冒烟 | go vet ./...;unset TEST_DATABASE_URL; go test -short ./...;./scripts/arch-check.sh --mode block;curl -sf http://127.0.0.1:8080/health 与 /ready |
| 证据 | .doc/test-reports/assets/2026-09-15-leftover-branch-cleanup/ |
四、 预期结果 (Expected Results)
| 栏 | 期望 |
|---|---|
| worktree | extra 只剩 .worktrees/fix-dev-runtime-data-root-guard(检出 feature/final-artifact-vault) |
| 本地旁支 | --merged 的 31 条已删;5 条未合入仍在 |
| vet | exit 0,无诊断 |
| short | 全仓 ok / no test files,exit 0 |
| arch-check block | production gate passed |
| health/ready | status=ok,schema_version=38,agent_backend=pi-agent |
五、 实际测试结果与判定 (Actual Results & Evaluation)
5.1 worktree 与已合入旁支
- 测试输入:
git worktree remove --force七个已合入目录;git branch -d对--merged HEAD且非dev/test/main的旁支。 - 实际输出: extra worktree 仅余 FAV 错名目录。31 条已合入旁支删除成功。部分目录含 Docker Playwright 产物(root 属主),经 Docker
chown/rm后完成拆除。见assets/2026-09-15-leftover-branch-cleanup/preflight.txt、deleted-local-branches.txt。 - 评价判定: PASS
- 性能与耗时: 拆除约 2 分钟(含 root 属主清理)
5.2 故意保留的未合入分支
- 测试输入:
git branch --no-merged HEAD - 实际输出: 仍为
dev-old-linear、feature/final-artifact-vault、feature/remove-herdr-agent-settings、fix/dev-runtime-data-root-guard、fix/project143-controlled-content-404-diagnosis。未 merge、未-D。 - 评价判定: PASS
- 性能与耗时: <1s
5.3 go vet
- 测试输入:
go vet ./... - 实际输出: exit 0,无诊断。
assets/2026-09-15-leftover-branch-cleanup/go-vet.txt - 评价判定: PASS
- 性能与耗时: 0.5s
5.4 go test -short
- 测试输入:
unset TEST_DATABASE_URL; go test -short ./... - 实际输出: 全仓
ok/[no test files],TEST_EXIT=0。最慢internal/server9.731s。assets/2026-09-15-leftover-branch-cleanup/go-test-short.txt - 评价判定: PASS
- 性能与耗时: 约 10.6s
5.5 arch-check --mode block
- 测试输入:
./scripts/arch-check.sh --mode block - 实际输出:
arch-check block: production gate passed - 评价判定: PASS
- 性能与耗时: 0.2s。日志:
arch-check-block.txt
5.6 health / ready
- 测试输入:
curl -sf http://127.0.0.1:8080/health与/ready - 实际输出:
{"status":"ok","env":"dev","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"database_ready":true,"schema_version":38,"schema_ready":true,"task_store_ready":true}
- 评价判定: PASS
- 性能与耗时: <1s。未 rebuild。
六、 自动化测试套件汇总 (Test Suite Execution)
| 命令 | 结果 |
|---|---|
go vet ./... |
PASS |
unset TEST_DATABASE_URL; go test -short ./... |
PASS(全仓) |
./scripts/arch-check.sh --mode block |
PASS |
curl -sf :8080/health / /ready |
PASS,schema 38,pi-agent |
go test -v ./... 全量非 short |
未跑(本轮范围是 short 冒烟,无新业务代码) |
七、 测试结论与后续优化建议 (Conclusion & Next Steps)
清理与冒烟达到合回 dev 的标准:无功能回归信号,现网 schema 38 / pi-agent 仍健康。后续若要处理故意保留的旁支,须单独授权:FAV 由 durable-event 任务审计后选用;herdr-removal 与 project143 诊断旧提交禁止整支合入;dev-old-linear 仅作历史残骸。