Files
Agent-System/.doc/test-reports/2026-09-16-software-project-bootstrap-test-report.md
weichenandCursor 01a783b8d5 test(swboot): SWBOOT-09 L1 suite and acceptance report
Update catalog size expectations to five workflows and archive the
unit-test report; sync FEATURE-MATRIX and task docs without merging to
dev.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 15:45:08 +00:00

6.1 KiB
Raw Permalink Blame History

纯软件项目自举(SWBOOT-00..09)测试报告

一、 测试背景 (Background)

工作流引擎已声明 non_medical_software,但正式目录与创建入口仍硬编码医疗三工作流。本轮在 feature/software-project-bootstrap 落地 SWBOOT-00..09 契约、迁移、manifest、目录白名单、创建向导后端钩子,以及 SWBOOT-10 allowlist stub(无真实 patch/merge)。医疗既有三工作流保持不变。

二、 测试目标 (Test Objectives)

  • software_bootstrap / software_delivery manifest 可校验且无医疗默认语义污染
  • 正式可选 key 扩展为 5,医疗固定文档数门禁仍仅约束医疗三
  • 创建预览拒绝 controlled_patch 与 controlled/privacy+solo 冲突
  • SWBOOT-10 stub 对非 allowlist 路径与 patch/merge fail closed
  • go vet + 相关包 -short 单测通过;不冒充真实 PI / UI 验收

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

项 值
OS Linux 7.0.0-31-generic
Go go1.27.1 linux/amd64
Branch feature/software-project-bootstrap
Commit f6034fa(报告提交前基线;含后续 test/docs 提交)
实测时间 2026-09-16T15:44:30Z
层级 L1 单元 / 包级回归;L2+ PG 空库迁移、真实 PI、Ubuntu UI 本轮 NOT RUN
后端 stub 允许用于本轮工程门禁;禁止作为最终产品验收

四、 预期结果 (Expected Results)

用例 预期
UC-01 Official keys 5 keys;医疗 3 + 软件 2
UC-02 Domain filter software_* 拒 medical_device;空 domain 不过滤
UC-03 Manifest validate bootstrap/delivery ValidateDefinitionV2 PASS;标题无临床/NMPA/CDMO
UC-04 Creation preview solo+standard 出 creator_acknowledgement;privacy+solo 与 controlled_patch 失败
UC-05 Repo allowlist stub 非白名单拒;白名单路径仍拒 ExecuteControlledPatch/ApproveMerge
UC-06 Software create non_medical_software 落库字段;阶段 S0_boundary;不发明医疗 device 字段
UC-07 Medical regression main v2 固定 7 文档校验仍 PASS;server API lifecycle 期望挂载 5

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

UC-01 Official keys

  • 测试输入 (Input):go test -short ./internal/workflowdef/ -run TestOfficialWorkflowKeys
  • 实际输出 (Actual Output):ok chat-agent-system/internal/workflowdef
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):~0.003s

UC-02 Domain filter

  • 测试输入 (Input):TestCompatibleWithProductDomain
  • 实际输出 (Actual Output):包含于 workflowdef 包 PASS
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):含于包耗时

UC-03 Manifest validate + 去污染

  • 测试输入 (Input):TestValidateDefinitionV2_SoftwareManifests
  • 实际输出 (Actual Output):bootstrap/delivery 校验通过;医疗词扫描无命中
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):含于包耗时

UC-04 Creation preview

  • 测试输入 (Input):go test -short ./internal/swboot/ -run 'TestBuildCreationPreview|TestProjectTypesCatalog'
  • 实际输出 (Actual Output):ok chat-agent-system/internal/swboot
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):~0.002s

UC-05 Repo allowlist stub

  • 测试输入 (Input):TestRepoAllowlistStub
  • 实际输出 (Actual Output):非 allowlist → ERR_REPO_PATH_NOT_ALLOWLISTED;patch/merge → ERR_SWBOOT10_STUB_ONLY
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):含于 swboot 包

UC-06 Software create

  • 测试输入 (Input):TestCreateSoftwareProject_NoMedicalDefaults
  • 实际输出 (Actual Output):ok chat-agent-system/internal/projectworkflow
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):~0.003s

UC-07 Medical regression + server API

  • 测试输入 (Input):go test -short ./internal/server/ -run TestProjectWorkflowAPI_Lifecycle 及全包 short
  • 实际输出 (Actual Output):挂载/目录数量期望已更新为 5;ok chat-agent-system/internal/server
  • 评价判定 (Evaluation / Verdict):PASS(医疗语义与旧 API 行为保留;仅目录容量扩展)
  • 性能与耗时 (Duration & Latency):server 包 ~10.9s

未执行(明示)

项 Status
PostgreSQL 空库/旧库升级到 schema 48 活验 NOT RUN
真实 PI Agent Runner 文档生成 NOT RUN
Ubuntu Playwright UI-SW-00..14 NOT RUN
受控 patch worktree 真实执行 NOT RUN(仅 stub)

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

命令:

go vet ./internal/swboot/ ./internal/workflowdef/ ./internal/projectworkflow/ ./internal/workflow/ ./internal/server/
go test -short -count=1 \
  ./internal/swboot/ \
  ./internal/workflowdef/ \
  ./internal/workflow/ \
  ./internal/projectworkflow/ \
  ./internal/projectinstance/ \
  ./internal/archtest/ \
  ./internal/server/

结果摘要(真实控制台):

ok  	chat-agent-system/internal/swboot	0.002s
ok  	chat-agent-system/internal/workflowdef	0.003s
?   	chat-agent-system/internal/workflow	[no test files]
ok  	chat-agent-system/internal/projectworkflow	0.003s
ok  	chat-agent-system/internal/projectinstance	0.004s
ok  	chat-agent-system/internal/archtest	0.143s
ok  	chat-agent-system/internal/server	10.881s

go vet:无输出(PASS)。

通过率:上述包 100%(workflow 无测试文件不计失败)。

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

  • 结论:SWBOOT-00..09 工程门禁(L1)达到合入候选标准;未达到完整验收清单完成定义(真实 PI / UI / PG 迁移活验仍为 NOT RUN)。
  • 未合 dev:按要求仅推送 feature 分支。
  • 后续:schema 48 在集成槽位对空库/旧库升级;七步 UI;对话路由与软件 profile;SWBOOT-10 真受控执行独立 Epic。