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>
6.1 KiB
6.1 KiB
纯软件项目自举(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_deliverymanifest 可校验且无医疗默认语义污染- 正式可选 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。