Files
Agent-System/.doc/test-reports/2026-09-17-engineering-dashboard-test-report.md
weichenandCursor 14f75df1ac refactor: remove Control Center from this repository
Progress tracking now lives in a separate project. Drop the server,
docs, and module-boundary entries without restoring engineering-dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 03:40:00 +00:00

4.6 KiB
Raw Permalink Blame History

个人工程中控台(engineering-dashboard)测试报告

一、 测试背景 (Background)

仓库需要独立于产品后台的本地只读工程中控台,避免把文档 done 误读为已合并或已部署。方案见 设计。本报告验收一期 serve / export 实现。

二、 测试目标 (Test Objectives)

  • 实时 HTML、离线 HTML、JSON 共用 generation_id / revision_id
  • 计划 / Git 实施 / 验证 / 实装四轴独立
  • rdev、dev ahead、main events 分叉样本(单元夹具)按方案输出
  • 单源失败可 degraded;loopback / token / Host / 只读方法防护生效
  • 导出 HTML 0600、可离线阅读 Markdown、不嵌 assets

三、 测试方案与环境 (Test Plan & Environment)

  • OS: Linux;Go module chat-agent-system
  • 工作树:.worktrees/feature-engineering-dashboard(feature/engineering-dashboard)
  • 层级:包单元/集成测试 + CLI 真实 serve/export 冒烟(只读观察,未启停共享 compose)

四、 预期结果 (Expected Results)

用例 预期
模型四轴 doc done 不改 Git/部署 facets
rdev 夹具 planned / unclaimed / 实装 unknown
dev ahead ahead>0 且备注含未确认远端
main fork readiness ok + containers partial + conflict
HTTP POST 405;无 token 401;坏 Host 403;非 loopback bind 拒绝
export 权限 0600;含 identity;无 script breakout

五、 实际测试结果与判定 (Actual Results & Evaluation)

5.1 单元与包测试

  • 测试输入: go test ./internal/engineeringdashboard/ ./cmd/engineering-dashboard/ -count=1
  • 实际输出:
ok  	chat-agent-system/internal/engineeringdashboard	0.009s
?   	chat-agent-system/cmd/engineering-dashboard	[no test files]
  • 判定: PASS
  • 耗时: ~0.01s(包测)

5.2 go vet

  • 测试输入: go vet ./internal/engineeringdashboard/... ./cmd/engineering-dashboard/...
  • 实际输出: (无输出)
  • 判定: PASS

5.3 真实 export

  • 测试输入: go run ./cmd/engineering-dashboard export --repo <worktree> --output /tmp/engdash-export.html
  • 实际输出: 文件权限 600;体积可离线打开;含 CSP 与 snapshot identity
  • 判定: PASS(stat -c '%a' → 600)

5.4 真实 serve 冒烟

  • 测试输入: engineering-dashboard serve --repo <worktree> --addr 127.0.0.1:8799,随后 curl
  • 实际输出:
{"ok":true}
generation gen_1
revision rev_3378ee42f645c4ab1af69cf691c00103
tasks 50
docs 452
sources [('docs', 'ok', 'fresh'), ('git', 'ok', 'fresh'), ('runtime', 'ok', 'fresh')]
POST_reject HTTPError 405
no_token=401
bad_host=403
  • 判定: PASS(HTML/JSON 同源 identity;安全负例符合预期)
  • 说明: 工作树上尚未合入未跟踪的 rdev 文档树;rdev/dev-ahead/main-events 样本契约由包内 fixture 单测覆盖(TestModel_* / TestReconcile_*)。

5.5 夹具验收样本(单元)

样本 测试 判定
rdev 已计划未实施 TestReconcile_RDevPlannedUnclaimed / TestModel_AcceptanceSamplesAxes PASS
local ahead origin TestReconcile_DevAheadSample / TestGit_AheadDoesNotClaimRemoteAvailable PASS
main ready vs events restarting TestReconcile_MainEventsForkConflict / TestRuntime_ReadyOKAndEventsRestarting PASS
Herdr vs 产品 PI Runner TestModel_ClaimedWithoutRuntimeKeepsActivityUnknown PASS

六、 自动化测试套件汇总 (Test Suite Execution)

对本工具包:

go test ./internal/engineeringdashboard/ ./cmd/engineering-dashboard/ -count=1
# ok engineeringdashboard
go test -short ./internal/engineeringdashboard/... ./cmd/engineering-dashboard/... -count=1
# ok
go vet ./internal/engineeringdashboard/... ./cmd/engineering-dashboard/...
# clean
git diff --check
# clean

全仓 go test -short ./... 在合入 dev 占槽时于主仓执行(本工具未改产品包)。

七、 测试结论与后续优化建议 (Conclusion & Next Steps)

  • 结论: 一期达到合并标准(独立 CLI、同源快照、四轴、安全边界、导出)。
  • 后续: 跨快照历史、远端 CI/Gitea、受限 Markdown/Mermaid、Agent 查询 API(设计附录已列,不在本期)。

相关链接