diff --git a/.doc/ops/short-term/2026-09-27-promote-rc-beta4.md b/.doc/ops/short-term/2026-09-27-promote-rc-beta4.md new file mode 100644 index 00000000..d456ef4d --- /dev/null +++ b/.doc/ops/short-term/2026-09-27-promote-rc-beta4.md @@ -0,0 +1,51 @@ +--- +title: "晋升 rc-v1.1.0-beta.4(dev→test)执行记录" +task_id: promote-rc-beta4-2026-09-27 +status: done +created: 2026-09-27 +updated: 2026-09-27 +owner: pi +task_type: ops +task_tier: small +policy_revision: "AGENTS+worktree-ops @ 5e409c1e" +branch: feature/promote-rc-beta4-2026-09-27 +worktree: .worktrees/promote-rc-beta4-2026-09-27 +base_dev_sha: "5e409c1eb237814723f65102cb221a3e2de42e6e" +head_candidate: "2fe1e0559106654f7dd360d1f191c4798d467783" +write_scope: ["."] +allowed_environments: ["test"] +capabilities: [git:test, env:test, docs:publish] +mutex: git:test+env:test +review_state: accepted +integration_state: pending_merge +deployment: test_ok +cleanup: pending +remote_sync: not_requested +--- + +# 晋升 rc-v1.1.0-beta.4 + +## 用户目标与授权 + +用户指令(2026-09-27):把 dev 合入 test。授权来源:本会话明确指令;交付终点 = test 分支 rc 晋升 + 部署验收(单二进制化由伴生任务 test-single-binary-2026-09-27 执行)。 + +## 结果 + +- 门禁:dev tip `5e409c1e` nightly 五链真实 PI PASS(receipt `5e409c1e…json`,含三镜像 digests;`promotion-receipt-check --require-digests` OK) +- 候选:`2fe1e055`(commit-tree 构造 merge,P1=旧 test `0e4b111d`,P2=`5e409c1e`;validate run `2b9bac34`:receipt gate + 拓扑自检) +- 执行:`git:test` 租约内 update-ref + `git tag -a rc-v1.1.0-beta.4` + `candidate-images-apply.sh test` +- 验收与单二进制转换:见 [伴生测试报告](../../test-reports/2026-09-27-test-single-binary-test-report.md) + +## 验证与证据 + +| 项 | 证据 | +|---|---| +| PASS 收据 + digests | `promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e{.json,.images.json}` | +| nightly 证据 | `promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/` | +| 过程证据(nightly6 @94c215d3 五链 PASS、镜像步失败) | `promotion-receipts/evidence-94c215d3-recovered-20260927/`(原目录误删,归档完整原始日志,README 说明) | +| test 运行态 | health `env=test schema=76`;SPA 200;PI sidecar 18866 真实执行;S0 数据完整 | + +## 收口 + +- deployment=test_ok(单二进制,schema 76);remote_sync=not_requested(未 push,origin/test 仍为 83c6a12a…本地 test 已前进两级 rc) +- cleanup=pending:本 worktree HEAD 为晋升候选 M2(test 引用内容),集成收据提交后由独立维护者复查移除 diff --git a/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.images.json b/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.images.json new file mode 100644 index 00000000..366621c2 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.images.json @@ -0,0 +1,21 @@ +{ + "commit": "5e409c1eb237814723f65102cb221a3e2de42e6e", + "source_tree": "64499b34881422207a82f220fa3f5ab5dfe1828b", + "source_context": "git-archive", + "recorded_at": "2026-09-27T20:36:33Z", + "tags": { + "app": "shuimu-agent-app:candidate-5e409c1eb237", + "events": "shuimu-agent-events:candidate-5e409c1eb237", + "pi-agent": "shuimu-pi-agent:candidate-5e409c1eb237" + }, + "image_ids": { + "app": "sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "events": "sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "pi-agent": "sha256:c26508b6bbee96bb8c9109f6ccc825b0e9f5f00255b582d0861f9955c590e714" + }, + "image_digests": { + "app": "shuimu-agent-app@sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "events": "shuimu-agent-app@sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "pi-agent": "shuimu-pi-agent@sha256:c26508b6bbee96bb8c9109f6ccc825b0e9f5f00255b582d0861f9955c590e714" + } +} diff --git a/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.json b/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.json new file mode 100644 index 00000000..46d7c370 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/5e409c1eb237814723f65102cb221a3e2de42e6e.json @@ -0,0 +1,19 @@ +{ + "verdict": "pass", + "commit": "5e409c1eb237814723f65102cb221a3e2de42e6e", + "recorded_at": "2026-09-27T20:36:33Z", + "runner_url": "http://127.0.0.1:18865", + "model_id": "MiniMax-M2.7-highspeed", + "protocol": "typed-result-v1", + "image_digests": { + "app": "shuimu-agent-app@sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "events": "shuimu-agent-app@sha256:c1601783dd897617d9da5a8d5cffc9a05596f9c594742fc15f475705a5d0ab4c", + "pi-agent": "shuimu-pi-agent@sha256:c26508b6bbee96bb8c9109f6ccc825b0e9f5f00255b582d0861f9955c590e714" + }, + "suite": "nightly-real-pi-u8-four-workflows", + "failure_class": "none", + "evidence_refs": [ + "/home/weichen/projects/Agent-System/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test.txt", + "/home/weichen/projects/Agent-System/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/runner-health.json" + ] +} diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/expected-tests.json b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/expected-tests.json new file mode 100644 index 00000000..51673211 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/expected-tests.json @@ -0,0 +1 @@ +{"expected": ["TestMultiIntentU8_RealPI_ConfirmGenerate_PG", "TestWorkflowGovernance_PiAgent_PG_FullChain", "TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain", "TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain", "TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain"], "observed": {"TestMultiIntentU8_RealPI_ConfirmGenerate_PG": ["PASS"], "TestWorkflowGovernance_PiAgent_PG_FullChain": ["PASS"], "TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain": ["PASS"], "TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain": ["PASS"], "TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain": ["PASS"]}, "passed": true} diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test-retry.txt b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test-retry.txt new file mode 100644 index 00000000..8c3ba2f1 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test-retry.txt @@ -0,0 +1,67 @@ +=== RUN TestMultiIntentU8_RealPI_ConfirmGenerate_PG +2026/09/27 19:29:25 goose: no migrations to run. current version: 76 +2026/09/27 19:29:25 goose: no migrations to run. current version: 76 +2026/09/27 19:29:25 [kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable + multi_intent_u8_piagent_pg_test.go:228: ✓ [1. awaiting] plan_id=pln_0d61966f4140bf750dcde9bf2e84252c revision=1 starts=0 +{"time":"2026-09-27T19:29:26.065360678Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6057,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927192924772010756c14228f52mVMawXH) (batch=1 est_tokens≈57)"} +{"time":"2026-09-27T19:34:34.933496396Z","level":"INFO","msg":"taskrun_status_transition","run_id":"run_1790537365945499577","status":"completed","workspace_id":"/home/weichen/projects/Agent-System/data/dev/workspaces/bizdev/intake_1790537366071288822","error":""} + multi_intent_u8_piagent_pg_test.go:268: ✓ [2. real PI generate] run_id=run_1790537365945499577 status=completed elapsed=5m9s + multi_intent_u8_piagent_pg_test.go:277: ✓ [3. idempotent replay] starts still 1 + multi_intent_u8_piagent_pg_test.go:287: ✓ [4. revoke] TaskRunAdapter denied + multi_intent_u8_piagent_pg_test.go:310: ✓ [5. PG restart recovery] plan_id=pln_0d61966f4140bf750dcde9bf2e84252c status=executing + multi_intent_u8_piagent_pg_test.go:321: ✓ [6. HTTP refresh] GET plan 486 bytes +--- PASS: TestMultiIntentU8_RealPI_ConfirmGenerate_PG (309.23s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain +{"time":"2026-09-27T19:34:34.945272597Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:34:34.954429555Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:34:34.961392248Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_full_none_piagent_pg_test.go:149: ✓ [1. activate] instance=48 full=intake none=research(disabled until stage) +{"time":"2026-09-27T19:34:35.300212097Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6058,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927193434002303342c14228f5DOEKagUf) (batch=1 est_tokens≈18)"} + workflow_governance_full_none_piagent_pg_test.go:205: ✓ pi-agent bd_intake doc=doc_proj6058_bd_intake elapsed=5m38s + workflow_governance_full_none_piagent_pg_test.go:220: ✓ [2. full intake] cross-user approve complete + workflow_governance_full_none_piagent_pg_test.go:232: ✓ [3. advance V0.1] ok +{"time":"2026-09-27T19:40:13.808480985Z","level":"WARN","msg":"material chunk index failed","file":"research_scope.md","project_id":6058,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927194012513851422c14228f5LGVQWUXL) (batch=1 est_tokens≈32)"} +{"time":"2026-09-27T19:40:13.843141086Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927194012548709059c14228f5vv4MlGSD) (batch=1 est_tokens≈14)"} + workflow_governance_full_none_piagent_pg_test.go:234: ✓ pi-agent research doc=doc_proj6058_bd_research elapsed=13m34s + workflow_governance_full_none_piagent_pg_test.go:253: ✓ [4. none research] generate ok; submit-review denied HTTP 403 + workflow_governance_full_none_piagent_pg_test.go:282: ✓ [5. readiness] none does not block + workflow_governance_full_none_piagent_pg_test.go:308: ✓ [6. advance V0.5] none non-blocking PASS + workflow_governance_full_none_piagent_pg_test.go:318: ✓ [7. refresh] settings still readable +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain (1153.20s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullChain +{"time":"2026-09-27T19:53:48.146973908Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:53:48.156873524Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:53:48.165357912Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:265: ✓ [1. 项目创建] id=6059 code=pg-piagent-治-6a05e634 wf=main + workflow_governance_piagent_pg_test.go:265: ✓ [2. 工作流激活] instance_id=49 +{"time":"2026-09-27T19:53:48.49578996Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6059,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927195347198641783c14228f5J6TSZTg4) (batch=1 est_tokens≈102)"} + workflow_governance_piagent_pg_test.go:265: ✓ [3. pi-agent intake] doc=doc_proj6059_bd_intake title=用户初始需求收集表 elapsed=6m4s + workflow_governance_piagent_pg_test.go:265: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:265: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=main +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullChain (364.57s) +=== RUN TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain +{"time":"2026-09-27T19:59:52.719259149Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:59:52.727973731Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:59:52.736926955Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:279: ✓ [1. 项目创建] id=6060 code=pg-piagent-产-629d788e wf=product_manager + workflow_governance_piagent_pg_test.go:279: ✓ [2. 工作流激活] instance_id=50 +{"time":"2026-09-27T19:59:53.045699026Z","level":"WARN","msg":"material chunk index failed","file":"intake_summary.md","project_id":6060,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927195951750252980c14228f53SCC45YU) (batch=1 est_tokens≈77)"} +{"time":"2026-09-27T19:59:53.079992338Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927195951784770762c14228f5VOgqBs70) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:279: ✓ [3. pi-agent system_reqs] doc=doc_proj6060_pm_system_reqs title=系统需求规格书 elapsed=17m39s + workflow_governance_piagent_pg_test.go:279: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:279: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=product_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain (1058.94s) +=== RUN TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain +{"time":"2026-09-27T20:17:31.660650278Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T20:17:31.672257153Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T20:17:31.679944205Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:294: ✓ [1. 项目创建] id=6061 code=pg-piagent-测-497b181b wf=test_manager + workflow_governance_piagent_pg_test.go:294: ✓ [2. 工作流激活] instance_id=51 +{"time":"2026-09-27T20:17:32.00173052Z","level":"WARN","msg":"material chunk index failed","file":"verification_scope.md","project_id":6061,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927201730699255534c14228f53gTZpjNJ) (batch=1 est_tokens≈88)"} +{"time":"2026-09-27T20:17:32.040011273Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927201730737390698c14228f53I4b1Cqz) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:294: ✓ [3. pi-agent test_manager] doc=doc_proj6061_tm_system_verification title=系统验证方案及计划 elapsed=18m57s + workflow_governance_piagent_pg_test.go:294: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:294: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=test_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain (1137.69s) +PASS +ok chat-agent-system/internal/server 4023.651s diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test.txt b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test.txt new file mode 100644 index 00000000..56ccd65a --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/go-test.txt @@ -0,0 +1,127 @@ +=== RUN TestMultiIntentU8_RealPI_ConfirmGenerate_PG +2026/09/27 18:37:05 goose: no migrations to run. current version: 76 +2026/09/27 18:37:05 goose: no migrations to run. current version: 76 +2026/09/27 18:37:05 [kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable + multi_intent_u8_piagent_pg_test.go:228: ✓ [1. awaiting] plan_id=pln_109140def6593f29e80d463cc22de537 revision=1 starts=0 +{"time":"2026-09-27T18:37:05.714556865Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6052,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927183704422688182c14228f52SdOhQd1) (batch=1 est_tokens≈57)"} +{"time":"2026-09-27T18:42:17.865734427Z","level":"INFO","msg":"taskrun_status_transition","run_id":"run_1790534225595811661","status":"completed","workspace_id":"/home/weichen/projects/Agent-System/data/dev/workspaces/bizdev/intake_1790534225721291105","error":""} + multi_intent_u8_piagent_pg_test.go:268: ✓ [2. real PI generate] run_id=run_1790534225595811661 status=completed elapsed=5m12s + multi_intent_u8_piagent_pg_test.go:277: ✓ [3. idempotent replay] starts still 1 + multi_intent_u8_piagent_pg_test.go:287: ✓ [4. revoke] TaskRunAdapter denied + multi_intent_u8_piagent_pg_test.go:310: ✓ [5. PG restart recovery] plan_id=pln_109140def6593f29e80d463cc22de537 status=executing + multi_intent_u8_piagent_pg_test.go:321: ✓ [6. HTTP refresh] GET plan 485 bytes +--- PASS: TestMultiIntentU8_RealPI_ConfirmGenerate_PG (312.52s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain +{"time":"2026-09-27T18:42:17.877855777Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:42:17.888146732Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:42:17.895420186Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_full_none_piagent_pg_test.go:149: ✓ [1. activate] instance=43 full=intake none=research(disabled until stage) +{"time":"2026-09-27T18:42:18.212086593Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6053,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927184216923241093c14228f5xn0VCeLb) (batch=1 est_tokens≈18)"} + workflow_governance_full_none_piagent_pg_test.go:205: pi-agent bd_intake HTTP 500: {"task_key":"bd_intake","artifact_title":"用户初始需求收集表","markdown_body":"","extracted_data":null,"attachments":null,"work_dir":"/home/weichen/projects/Agent-System/data/dev/workspaces/bizdev/bd_intake_1790534538219730296","backend_used":"pi-agent","duration":42752775860,"success":false,"error_reason":"step step_01_organize failed: MISSING_TARGET"} +--- FAIL: TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain (43.11s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullChain +{"time":"2026-09-27T18:43:00.983514629Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:43:00.994237701Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:43:01.002411668Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:265: ✓ [1. 项目创建] id=6054 code=pg-piagent-治-40a1667f wf=main + workflow_governance_piagent_pg_test.go:265: ✓ [2. 工作流激活] instance_id=44 +{"time":"2026-09-27T18:43:01.324082297Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6054,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927184300033590564c14228f5ljOaDLM9) (batch=1 est_tokens≈102)"} + workflow_governance_piagent_pg_test.go:265: ✓ [3. pi-agent intake] doc=doc_proj6054_bd_intake title=用户初始需求收集表 elapsed=5m9s + workflow_governance_piagent_pg_test.go:265: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:265: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=main +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullChain (309.76s) +=== RUN TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain +{"time":"2026-09-27T18:48:10.741906742Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:48:10.752444379Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T18:48:10.760924457Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:279: ✓ [1. 项目创建] id=6055 code=pg-piagent-产-fae1702b wf=product_manager + workflow_governance_piagent_pg_test.go:279: ✓ [2. 工作流激活] instance_id=45 +{"time":"2026-09-27T18:48:11.076655652Z","level":"WARN","msg":"material chunk index failed","file":"intake_summary.md","project_id":6055,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927184809782195631c14228f539SpRont) (batch=1 est_tokens≈77)"} +{"time":"2026-09-27T18:48:11.113256095Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927184809819177239c14228f5qh0GRTc0) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:279: ✓ [3. pi-agent system_reqs] doc=doc_proj6055_pm_system_reqs title=系统需求规格书 elapsed=20m0s + workflow_governance_piagent_pg_test.go:279: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:279: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=product_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain (1199.90s) +=== RUN TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain +{"time":"2026-09-27T19:08:10.643334732Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:08:10.655267647Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:08:10.661666627Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:294: ✓ [1. 项目创建] id=6056 code=pg-piagent-测-3a00d5ad wf=test_manager + workflow_governance_piagent_pg_test.go:294: ✓ [2. 工作流激活] instance_id=46 +{"time":"2026-09-27T19:08:10.973231026Z","level":"WARN","msg":"material chunk index failed","file":"verification_scope.md","project_id":6056,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927190809680227338c14228f5FJl3zDXd) (batch=1 est_tokens≈88)"} +{"time":"2026-09-27T19:08:11.008141699Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927190809715440319c14228f5MSTlyNHh) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:294: ✓ [3. pi-agent test_manager] doc=doc_proj6056_tm_system_verification title=系统验证方案及计划 elapsed=21m14s + workflow_governance_piagent_pg_test.go:294: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:294: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=test_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain (1274.56s) +FAIL +FAIL chat-agent-system/internal/server 3139.856s +FAIL +==> retry once after quality_failed/deadline/MISSING_TARGET flake... +=== RUN TestMultiIntentU8_RealPI_ConfirmGenerate_PG +2026/09/27 19:29:25 goose: no migrations to run. current version: 76 +2026/09/27 19:29:25 goose: no migrations to run. current version: 76 +2026/09/27 19:29:25 [kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable + multi_intent_u8_piagent_pg_test.go:228: ✓ [1. awaiting] plan_id=pln_0d61966f4140bf750dcde9bf2e84252c revision=1 starts=0 +{"time":"2026-09-27T19:29:26.065360678Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6057,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927192924772010756c14228f52mVMawXH) (batch=1 est_tokens≈57)"} +{"time":"2026-09-27T19:34:34.933496396Z","level":"INFO","msg":"taskrun_status_transition","run_id":"run_1790537365945499577","status":"completed","workspace_id":"/home/weichen/projects/Agent-System/data/dev/workspaces/bizdev/intake_1790537366071288822","error":""} + multi_intent_u8_piagent_pg_test.go:268: ✓ [2. real PI generate] run_id=run_1790537365945499577 status=completed elapsed=5m9s + multi_intent_u8_piagent_pg_test.go:277: ✓ [3. idempotent replay] starts still 1 + multi_intent_u8_piagent_pg_test.go:287: ✓ [4. revoke] TaskRunAdapter denied + multi_intent_u8_piagent_pg_test.go:310: ✓ [5. PG restart recovery] plan_id=pln_0d61966f4140bf750dcde9bf2e84252c status=executing + multi_intent_u8_piagent_pg_test.go:321: ✓ [6. HTTP refresh] GET plan 486 bytes +--- PASS: TestMultiIntentU8_RealPI_ConfirmGenerate_PG (309.23s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain +{"time":"2026-09-27T19:34:34.945272597Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:34:34.954429555Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:34:34.961392248Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_full_none_piagent_pg_test.go:149: ✓ [1. activate] instance=48 full=intake none=research(disabled until stage) +{"time":"2026-09-27T19:34:35.300212097Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6058,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927193434002303342c14228f5DOEKagUf) (batch=1 est_tokens≈18)"} + workflow_governance_full_none_piagent_pg_test.go:205: ✓ pi-agent bd_intake doc=doc_proj6058_bd_intake elapsed=5m38s + workflow_governance_full_none_piagent_pg_test.go:220: ✓ [2. full intake] cross-user approve complete + workflow_governance_full_none_piagent_pg_test.go:232: ✓ [3. advance V0.1] ok +{"time":"2026-09-27T19:40:13.808480985Z","level":"WARN","msg":"material chunk index failed","file":"research_scope.md","project_id":6058,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927194012513851422c14228f5LGVQWUXL) (batch=1 est_tokens≈32)"} +{"time":"2026-09-27T19:40:13.843141086Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927194012548709059c14228f5vv4MlGSD) (batch=1 est_tokens≈14)"} + workflow_governance_full_none_piagent_pg_test.go:234: ✓ pi-agent research doc=doc_proj6058_bd_research elapsed=13m34s + workflow_governance_full_none_piagent_pg_test.go:253: ✓ [4. none research] generate ok; submit-review denied HTTP 403 + workflow_governance_full_none_piagent_pg_test.go:282: ✓ [5. readiness] none does not block + workflow_governance_full_none_piagent_pg_test.go:308: ✓ [6. advance V0.5] none non-blocking PASS + workflow_governance_full_none_piagent_pg_test.go:318: ✓ [7. refresh] settings still readable +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain (1153.20s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullChain +{"time":"2026-09-27T19:53:48.146973908Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:53:48.156873524Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:53:48.165357912Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:265: ✓ [1. 项目创建] id=6059 code=pg-piagent-治-6a05e634 wf=main + workflow_governance_piagent_pg_test.go:265: ✓ [2. 工作流激活] instance_id=49 +{"time":"2026-09-27T19:53:48.49578996Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6059,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927195347198641783c14228f5J6TSZTg4) (batch=1 est_tokens≈102)"} + workflow_governance_piagent_pg_test.go:265: ✓ [3. pi-agent intake] doc=doc_proj6059_bd_intake title=用户初始需求收集表 elapsed=6m4s + workflow_governance_piagent_pg_test.go:265: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:265: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=main +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullChain (364.57s) +=== RUN TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain +{"time":"2026-09-27T19:59:52.719259149Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:59:52.727973731Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T19:59:52.736926955Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:279: ✓ [1. 项目创建] id=6060 code=pg-piagent-产-629d788e wf=product_manager + workflow_governance_piagent_pg_test.go:279: ✓ [2. 工作流激活] instance_id=50 +{"time":"2026-09-27T19:59:53.045699026Z","level":"WARN","msg":"material chunk index failed","file":"intake_summary.md","project_id":6060,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927195951750252980c14228f53SCC45YU) (batch=1 est_tokens≈77)"} +{"time":"2026-09-27T19:59:53.079992338Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927195951784770762c14228f5VOgqBs70) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:279: ✓ [3. pi-agent system_reqs] doc=doc_proj6060_pm_system_reqs title=系统需求规格书 elapsed=17m39s + workflow_governance_piagent_pg_test.go:279: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:279: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=product_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain (1058.94s) +=== RUN TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain +{"time":"2026-09-27T20:17:31.660650278Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T20:17:31.672257153Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T20:17:31.679944205Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:294: ✓ [1. 项目创建] id=6061 code=pg-piagent-测-497b181b wf=test_manager + workflow_governance_piagent_pg_test.go:294: ✓ [2. 工作流激活] instance_id=51 +{"time":"2026-09-27T20:17:32.00173052Z","level":"WARN","msg":"material chunk index failed","file":"verification_scope.md","project_id":6061,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927201730699255534c14228f53gTZpjNJ) (batch=1 est_tokens≈88)"} +{"time":"2026-09-27T20:17:32.040011273Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927201730737390698c14228f53I4b1Cqz) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:294: ✓ [3. pi-agent test_manager] doc=doc_proj6061_tm_system_verification title=系统验证方案及计划 elapsed=18m57s + workflow_governance_piagent_pg_test.go:294: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:294: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=test_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain (1137.69s) +PASS +ok chat-agent-system/internal/server 4023.651s diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/health.err b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/health.err new file mode 100644 index 00000000..e69de29b diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/kb-preflight-ok.txt b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/kb-preflight-ok.txt new file mode 100644 index 00000000..c90ffbe0 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/kb-preflight-ok.txt @@ -0,0 +1 @@ +shared KB preflight OK 127.0.0.1:5432/regulations diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/kb-preflight.err b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/kb-preflight.err new file mode 100644 index 00000000..e69de29b diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/runner-health.json b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/runner-health.json new file mode 100644 index 00000000..2aed7256 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-5e409c1eb237-20260927T183704Z/runner-health.json @@ -0,0 +1 @@ +{"ok":true,"service":"shuimu-pi-agent-runner","endpoint_url":"https://api.minimaxi.com/v1","model_id":"MiniMax-M2.7-highspeed","api":"openai-compatible","has_token":true,"tavily":{"active":true,"keys_count":2},"data_dir":"/home/weichen/projects/Agent-System/data/dev/workspaces","uptime":6767.175219496} diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/README.md b/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/README.md new file mode 100644 index 00000000..4c2f3c5b --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/README.md @@ -0,0 +1,9 @@ +# evidence-94c215d3 恢复说明 + +原始目录 `evidence-94c215d3…-171311Z`(nightly6 @ dev 94c215d3:五链真实 PI 全 PASS, +其后候选镜像构建步失败 → infra_fail 收据)在 worktree 收口暂存搬运中被误删 +(.tmp-staging 已不存在,无法恢复原目录内的 expected-tests.json / runner-health.json / go-test.txt 分件)。 + +本目录归档同一运行在 /tmp/tsb-nightly/nightly6.log 的完整原始输出(含五例 PASS/耗时、 +expected-tests 校验通过后的 image build DIRTY_TREE 失败与 infra_fail 收据写入记录), +作为该过程证据的真实来源备份。判定链以 5e409c1e(nightly7 全绿 PASS 收据)为准。 diff --git a/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/go-test-full-log.txt b/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/go-test-full-log.txt new file mode 100644 index 00000000..365b8848 --- /dev/null +++ b/.doc/test-reports/assets/promotion-receipts/evidence-94c215d3-recovered-20260927/go-test-full-log.txt @@ -0,0 +1,79 @@ +{"generation": 1576, "run_id": "58582b05-c06c-4c20-bd31-2c06027831d5", "status": "running"} +env: MINIMAX_API_KEY len=126 tavily_keys=2 +==> nightly real-PI suite commit=94c215d36e09 runner=http://127.0.0.1:18865 +==> DATA_DIR=/home/weichen/projects/Agent-System/data/dev +shared KB preflight OK 127.0.0.1:5432/regulations +=== RUN TestMultiIntentU8_RealPI_ConfirmGenerate_PG +2026/09/27 17:13:12 goose: no migrations to run. current version: 76 +2026/09/27 17:13:12 goose: no migrations to run. current version: 76 +2026/09/27 17:13:12 [kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable + multi_intent_u8_piagent_pg_test.go:228: ✓ [1. awaiting] plan_id=pln_c962074513e2cd53c48f4b80150fff67 revision=1 starts=0 +{"time":"2026-09-27T17:13:12.681820385Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6047,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927171311387783833c14228f5fP5PZK2r) (batch=1 est_tokens≈57)"} +{"time":"2026-09-27T17:19:33.890702477Z","level":"INFO","msg":"taskrun_status_transition","run_id":"run_1790529192556071349","status":"completed","workspace_id":"/home/weichen/projects/Agent-System/data/dev/workspaces/bizdev/intake_1790529192693648584","error":""} + multi_intent_u8_piagent_pg_test.go:268: ✓ [2. real PI generate] run_id=run_1790529192556071349 status=completed elapsed=6m21s + multi_intent_u8_piagent_pg_test.go:277: ✓ [3. idempotent replay] starts still 1 + multi_intent_u8_piagent_pg_test.go:287: ✓ [4. revoke] TaskRunAdapter denied + multi_intent_u8_piagent_pg_test.go:310: ✓ [5. PG restart recovery] plan_id=pln_c962074513e2cd53c48f4b80150fff67 status=executing + multi_intent_u8_piagent_pg_test.go:321: ✓ [6. HTTP refresh] GET plan 486 bytes +--- PASS: TestMultiIntentU8_RealPI_ConfirmGenerate_PG (381.59s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain +{"time":"2026-09-27T17:19:33.901979192Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:19:33.912304495Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:19:33.919476192Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_full_none_piagent_pg_test.go:149: ✓ [1. activate] instance=38 full=intake none=research(disabled until stage) +{"time":"2026-09-27T17:19:34.234595435Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6048,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927171932942038116c14228f5rmMmfqTs) (batch=1 est_tokens≈18)"} + workflow_governance_full_none_piagent_pg_test.go:205: ✓ pi-agent bd_intake doc=doc_proj6048_bd_intake elapsed=4m44s + workflow_governance_full_none_piagent_pg_test.go:220: ✓ [2. full intake] cross-user approve complete + workflow_governance_full_none_piagent_pg_test.go:232: ✓ [3. advance V0.1] ok +{"time":"2026-09-27T17:24:18.5979371Z","level":"WARN","msg":"material chunk index failed","file":"research_scope.md","project_id":6048,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927172417306287388c14228f5jxv16ywp) (batch=1 est_tokens≈32)"} +{"time":"2026-09-27T17:24:18.633158575Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927172417337672932c14228f51RuHsBll) (batch=1 est_tokens≈14)"} + workflow_governance_full_none_piagent_pg_test.go:234: ✓ pi-agent research doc=doc_proj6048_bd_research elapsed=13m58s + workflow_governance_full_none_piagent_pg_test.go:253: ✓ [4. none research] generate ok; submit-review denied HTTP 403 + workflow_governance_full_none_piagent_pg_test.go:282: ✓ [5. readiness] none does not block + workflow_governance_full_none_piagent_pg_test.go:308: ✓ [6. advance V0.5] none non-blocking PASS + workflow_governance_full_none_piagent_pg_test.go:318: ✓ [7. refresh] settings still readable +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullNoneMixedChain (1122.75s) +=== RUN TestWorkflowGovernance_PiAgent_PG_FullChain +{"time":"2026-09-27T17:38:16.64716614Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:38:16.655726396Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:38:16.66266847Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:265: ✓ [1. 项目创建] id=6049 code=pg-piagent-治-ec1edd36 wf=main + workflow_governance_piagent_pg_test.go:265: ✓ [2. 工作流激活] instance_id=39 +{"time":"2026-09-27T17:38:17.016344108Z","level":"WARN","msg":"material chunk index failed","file":"project_brief.md","project_id":6049,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927173815718971474c14228f5Nnu9ycXd) (batch=1 est_tokens≈102)"} + workflow_governance_piagent_pg_test.go:265: ✓ [3. pi-agent intake] doc=doc_proj6049_bd_intake title=用户初始需求收集表 elapsed=4m51s + workflow_governance_piagent_pg_test.go:265: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:265: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=main +--- PASS: TestWorkflowGovernance_PiAgent_PG_FullChain (291.34s) +=== RUN TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain +{"time":"2026-09-27T17:43:07.983649214Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:43:07.99321182Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:43:08.000588331Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:279: ✓ [1. 项目创建] id=6050 code=pg-piagent-产-e39edc4b wf=product_manager + workflow_governance_piagent_pg_test.go:279: ✓ [2. 工作流激活] instance_id=40 +{"time":"2026-09-27T17:43:08.330541784Z","level":"WARN","msg":"material chunk index failed","file":"intake_summary.md","project_id":6050,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927174307039072005c14228f5ps0Y4TTH) (batch=1 est_tokens≈77)"} +{"time":"2026-09-27T17:43:08.365551614Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927174307074004417c14228f5VYqAcHMo) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:279: ✓ [3. pi-agent system_reqs] doc=doc_proj6050_pm_system_reqs title=系统需求规格书 elapsed=13m33s + workflow_governance_piagent_pg_test.go:279: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:279: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=product_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_ProductManager_FullChain (813.17s) +=== RUN TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain +{"time":"2026-09-27T17:56:41.152911299Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:56:41.163258861Z","level":"INFO","msg":"goose: no migrations to run. current version: 76"} +{"time":"2026-09-27T17:56:41.170354291Z","level":"INFO","msg":"[kb] online=true dsn=postgres://regkb:***@127.0.0.1:5432/regulations?sslmode=disable"} + workflow_governance_piagent_pg_test.go:294: ✓ [1. 项目创建] id=6051 code=pg-piagent-测-34dc1585 wf=test_manager + workflow_governance_piagent_pg_test.go:294: ✓ [2. 工作流激活] instance_id=41 +{"time":"2026-09-27T17:56:41.491774337Z","level":"WARN","msg":"material chunk index failed","file":"verification_scope.md","project_id":6051,"err":"http 401 Unauthorized: 无效的令牌 (request id: 20260927175640199356760c14228f58Kq00tyV) (batch=1 est_tokens≈88)"} +{"time":"2026-09-27T17:56:41.531040871Z","level":"INFO","msg":"[kb-retriever] embed failed: http 401 Unauthorized: 无效的令牌 (request id: 20260927175640238710728c14228f5qye8omGY) (batch=1 est_tokens≈21)"} + workflow_governance_piagent_pg_test.go:294: ✓ [3. pi-agent test_manager] doc=doc_proj6051_tm_system_verification title=系统验证方案及计划 elapsed=19m29s + workflow_governance_piagent_pg_test.go:294: ✓ [4. 文档批准] approve chain complete + workflow_governance_piagent_pg_test.go:294: ✓ [5. 阶段推进] PG + pi-agent 治理全链路完成 wf=test_manager +--- PASS: TestWorkflowGovernance_PiAgent_PG_TestManager_FullChain (1169.28s) +PASS +ok chat-agent-system/internal/server 3778.125s +==> building candidate images for digest pin... +{"code": "DIRTY_TREE", "message": "Source worktree must be clean; only generated build evidence is excepted", "status": "denied"} +candidate image build failed +/home/weichen/projects/Agent-System/.doc/test-reports/assets/promotion-receipts/94c215d36e090ad6c1541f64bd625067d7fce4fc.json +wrote promotion receipt: /home/weichen/projects/Agent-System/.doc/test-reports/assets/promotion-receipts/94c215d36e090ad6c1541f64bd625067d7fce4fc.json +infrastructure failure: candidate image build +{"child_group_alive": false, "run_id": "58582b05-c06c-4c20-bd31-2c06027831d5", "status": "recovery_required"}