docs(test): archive matrix deep-test promote report and release slot

Record Wave 1–4 evidence, fix FEATURE-MATRIX schema-47 note, harden
promote-to-test against origin rebase, and mark infra task done.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
weichen
2026-09-16 05:25:31 +00:00
co-authored by Cursor
parent 50f800a409
commit 9363121071
13 changed files with 791 additions and 19 deletions
@@ -1,6 +1,6 @@
---
title: "FEATURE-MATRIX 深度测试 + 晋升部署 test"
status: in_progress
status: done
created: 2026-09-16
updated: 2026-09-16
owner: Cursor-Auto
@@ -30,18 +30,18 @@ mutex: infra
## 步骤
1. [ ] 认领占槽
2. [ ] 自动化深度回归
3. [ ] live `:8080` 抽检
4. [ ] PI 抽样
5. [ ] 晋升 test 并冒烟
6. [ ] 报告与归档
1. [x] 认领占槽
2. [x] 自动化深度回归
3. [x] live `:8080` 抽检
4. [x] PI 抽样
5. [x] 晋升 test 并冒烟
6. [x] 报告与归档
## 验收标准
- [ ] 矩阵已实现行均有 PASS 证据
- [ ] `:8081` health/ready schema=47;`test-env-smoke.sh` PASS
- [ ] tag `rc-v1.0.0-beta.2`;报告归档
- [x] 矩阵已实现行均有 PASS 证据
- [x] `:8081` health/ready schema=47;`test-env-smoke.sh` PASS
- [x] tag `rc-v1.0.0-beta.2`;报告归档
## 相关链接
+6 -6
View File
@@ -5,15 +5,15 @@
## 焦点
1. **MATRIX 深度测试 + 晋升 test**:`feature/matrix-deep-test-promote-test` → `rc-v1.0.0-beta.2`
2. **首发后 backlog**:多意图 U9–U12、软件项目自举、FAV、完整 PI change-report 叙事
3. **MULTI-INTENT HITL**:核心 U1–U8 已合入;U9–U12 不阻塞首版
1. **首发后 backlog**:多意图 U9–U12、软件项目自举、FAV、完整 PI change-report 叙事
2. **MULTI-INTENT HITL**:核心 U1–U8 已合入;U9–U12 不阻塞首版
3. **运维**:夜间 CI `RUN_PI_E2E=1`;`-race` TempDir flake 基建;`promote-to-test` 避免 origin rebase
## 并行认领
| owner | task | branch | worktree | mutex | status |
|-------|------|--------|----------|-------|--------|
| Cursor-Auto | 2026-09-16-matrix-deep-test-promote-test | feature/matrix-deep-test-promote-test | - | infra | in_progress |
| Cursor-Auto | 2026-09-16-matrix-deep-test-promote-test | feature/matrix-deep-test-promote-test | - | infra | done |
| Cursor-Auto | 2026-09-16-production-ready-gates | docs/production-ready-flip | - | ci | done |
| Cursor-Auto | 2026-09-16-demo-seed-pollution | fix/demo-data-pollution-web | - | web | done |
| Cursor | 2026-09-16-multi-intent-u8-task-generate | feature/multi-intent-u8-task-generate | - | intent-plan | done |
@@ -95,7 +95,7 @@
| holder | phase | since | scope | queue |
|--------|-------|-------|-------|-------|
| Cursor-Auto | merging | 2026-09-16T13:20Z | matrix deep test → promote rc-v1.0.0-beta.2 + test rebuild | - |
| - | idle | - | - | - |
**phase**: `idle` | `merging` | `smoke` | `e2e`
@@ -106,7 +106,7 @@
| 环境 | 端口 | schema | 状态 |
|------|------|--------|------|
| dev | 8080 | **47** | healthy(`pi-agent` typed-result-v1;events worker `:8088`;notify/advance/projection live、fav off;health+ready PASS;demo 6001–6010 retired) |
| test | 8081 | **47** | healthy(`rc-v1.0.0-beta.1`;pi-agent `:18866`;events `:8089`;notify/advance/projection live、fav off;health+ready PASS;schema 与 dev 对齐 47) |
| test | 8081 | **47** | healthy(`rc-v1.0.0-beta.2`;pi-agent `:18866`;events `:8089`;notify/advance/projection live、fav off;health+ready PASS;矩阵深度测试 live 项目 3 PASS) |
| main | 8000 | **47** | healthy(app + events + runner + DB;与 dev/test 对齐) |
## SSOT
+1 -1
View File
@@ -16,7 +16,7 @@
| 模块 | 能力 | 状态 | 证据 | 缺口/后续 | mutex |
|------|------|------|------|-----------|-------|
| 意图识别 L1 | 18 类 Intent + 三分支消解 | partial | [system-design/intent-recognition](../system-design/intent-recognition/);[现场专项审计](../audit/2026-09-13-conversation-intent-runtime-state.md);[运行态报告](../test-reports/2026-09-13-conversation-intent-runtime-state-test-report.md);[双标签活验](../test-reports/assets/2026-09-15-conversation-intent-dual-tab/live.json);[多意图复核方案](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1 契约](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md);[U2 分段](../test-reports/2026-09-15-multi-intent-u2-segmenter-test-report.md);[U3 PG](../test-reports/2026-09-15-multi-intent-u3-intentflow-pg-test-report.md) | 明确写动作与只读总结已分流;双标签 `DOC_BUSY` 已签(项目 6275)。多意图核心 U1–U8 已完成;U9–U12 不阻塞首版。intent 纯依赖边界不得回退 | `intent` |
| 多意图持久计划 | app/intentflow 生命周期与 HITL 契约 | partial | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)–[U8](../test-reports/2026-09-16-multi-intent-u8-task-generate-test-report.md) | U1–U8 核心首版已完成。U9–U12 不阻塞。默认 tier=legacy。真实 PI generate 待 runner URL。共享环境 schema 45 待晋升 | `intent-plan` |
| 多意图持久计划 | app/intentflow 生命周期与 HITL 契约 | partial | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)–[U8](../test-reports/2026-09-16-multi-intent-u8-task-generate-test-report.md);[矩阵深度测试](../test-reports/2026-09-16-matrix-deep-test-promote-test-test-report.md) | U1–U8 核心首版已完成。U9–U12 不阻塞。默认 tier=legacy。真实 PI generate 待 runner URL。共享环境 schema 已对齐 **47** | `intent-plan` |
| 对话 / ctxmgr | 多轮上下文、记忆、摘要 | partial | [system-design/multi-turn-dialogue](../system-design/multi-turn-dialogue/);[刷新恢复专项审计](../audit/2026-09-13-chat-history-refresh-disappears.md);[U10 端口化](../archive/ops/2026-09-15-chatlog-contextasm-u10.md);[U10 报告](../test-reports/2026-09-15-chatlog-contextasm-u10-test-report.md);[门禁 B3](../test-reports/2026-09-16-chat-refresh-gate-test-report.md) | `CHAT-HISTORY-REFRESH` 与发布门禁「激活后文档任务 + 重登/重启」已签(项目 6359)。U10 原地端口 **停止扩面**。语义摘要(D5 backlog) | `chat` |
| 智能体小队 | 角色-任务-工作区-黑板 | done | [system-design/agent-squad](../system-design/agent-squad/);[test 2026-09-07](../test-reports/2026-09-07-dynamic-squad-planning-test-report.md) | 非关键步骤降级(A5/A6 backlog) | `squad` |
| 工作流治理 | 三正式工作流 + 阶段门禁 | partial | [remediation/three-workflows](../remediation/2026-09-12-three-workflows-strict-governance-remediation.md);[test 2026-09-12](../test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md);[冻结态/职责可选整改](../remediation/2026-09-14-workflow-plan-409-frozen-and-optional-duties-remediation.md);[Wave 5 页面矩阵](../test-reports/2026-09-14-workflow-plan-409-frozen-and-optional-duties-test-report.md);[职责-动作鉴权](../test-reports/2026-09-14-governance-action-level-authz-test-report.md);[真实 PI 三工作流 E2E](../test-reports/2026-09-16-pi-three-workflow-e2e-test-report.md) | 设置页/DutyMode + 动作级鉴权已落地;真实 PI 三工作流 E2E 已签。后续:none 文档真实 PI 审批长链路;模块可仍 partial | `workflow` |
@@ -0,0 +1,94 @@
# FEATURE-MATRIX 深度测试与 test 晋升报告
## 一、 测试背景 (Background)
`production_ready=yes` 后需按 FEATURE-MATRIX 对已实现模块做分层深度回归,并将本地 `dev` 晋升到 `test`(`rc-v1.0.0-beta.2`)以支撑长期实测。不重跑完整 28min 三工作流 PI;以短测全量 + 定向包 + live API + 一次真实 PI 抽样为门禁。
## 二、 测试目标 (Test Objectives)
- 矩阵已实现行均有自动化或 live PASS 证据
- 真实 PI 抽样可用(typed-result dual-track)
- `test` 分支合并 `dev`,tag `rc-v1.0.0-beta.2`,`:8081` rebuild 冒烟 PASS,schema=47
## 三、 测试方案与环境 (Test Plan & Environment)
| 层级 | 环境 | 说明 |
|------|------|------|
| Wave 1 | 本地 Go/npm | unset 污染 env;隔离库 `agent_gov_matrix@5434` |
| Wave 2 | dev `:8080` | pi-agent;项目 6367 |
| Wave 3 | runner `:18865` | MiniMax-M2.7-highspeed |
| Wave 4 | test `:8081` | events `:8089`;pi `:18866`;项目 3 |
产物目录:`.doc/test-reports/assets/2026-09-16-matrix-deep-test/`
## 四、 预期结果 (Expected Results)
各 Wave exit 0 / overall=PASS;`纯软件项目自举` 记 N/A。
## 五、 实际测试结果与判定 (Actual Results & Evaluation)
### Wave 1 — 自动化
| 用例 | 输入 | 实际输出 | 判定 |
|------|------|----------|------|
| go vet | `go vet ./...` | exit 0(`vet.txt`) | PASS |
| go test -short | 全包 short | exit 0(`short.txt`) | PASS |
| arch-check | `--mode block` | production gate passed | PASS |
| npm test + bundle | `npm test`;`check-prod-bundle.sh` | 376+32 pass;bundle PASS | PASS |
| 模块定向 | intent/chat/squad/workflow/authz/doc*/agent/events | 全部 ok(`modules.txt`) | PASS |
| 治理 PG | `TestWorkflowGovernance_PG_|TestE2E_WorkflowGovernance` | 2 PASS(`governance-pg-verbose.txt`) | PASS |
### Wave 2 — live `:8080`
- **输入**: health/login/create/chat/guest403/conflict/termination/demo(`zhanggong` 已停用,改用 `lizhuguan`)
- **实际输出**: 项目 **6367**,`overall=PASS`(`live-8080.json`)
- **判定**: PASS
### Wave 3 — PI 抽样
- **输入**: `RUN_PI_E2E=1 go test ./internal/agent -run TestPiAgentTypedResult_LiveDualTrack`
- **实际输出**: success/fail/cancel/timeout 均 PASS,3.28s(`pi-sample-typed.txt`)
- **判定**: PASS(未升格三链)
### Wave 4 — 晋升 test
- **输入**: `git merge --no-ff dev` → tag `rc-v1.0.0-beta.2` → `env-service.sh test rebuild` → smoke + live
- **实际输出**: health schema **47**;`test-env-smoke.sh` SUCCESS;live 项目 **3** overall PASS(`live-8081.json`)
- **注记**: `git-workflow-helper.sh promote-to-test` 的 `pull --rebase origin test` 曾触发危险 rebase,已 `rebase --abort` 后改为本地 merge;勿对已分叉的本地 `test` 盲目 rebase
- **判定**: PASS
### 矩阵行汇总
| 模块 | 判定 | 证据 |
|------|------|------|
| 意图 / intent-plan | PASS | modules + short |
| 对话 / ctxmgr | PASS | live-8080 chat/window/guest |
| squad | PASS | modules |
| 工作流治理 | PASS | governance-pg + live conflict/activate/preview |
| 纯软件自举 | N/A | planned |
| IAM | PASS | live authz guest 403 + create/members |
| docgov / docrevision | PASS | short packages(未重跑 Round20 UI) |
| 前端工作台 | PASS | npm + B4 路径 live |
| PI Runner | PASS | typed-result sample |
| 三环境运维 | PASS | health 三环境 47;test smoke |
| CI / E2E | PASS | governance PG + 既有门禁证据 |
| 事件解耦 | PASS | events short packages |
## 六、 自动化测试套件汇总 (Test Suite Execution)
```text
go vet ./... → exit 0
go test -short ./... → exit 0
./scripts/arch-check.sh --mode block → PASS
cd web && npm test → 376 + 32 PASS
./scripts/check-prod-bundle.sh → PASS
治理 PG(agent_gov_matrix) → 2 PASS
PI typed-result live → 4/4 PASS
./scripts/test-env-smoke.sh → SUCCESS
```
## 七、 测试结论与后续优化建议 (Conclusion & Next Steps)
- FEATURE-MATRIX 已实现能力深度回归 **PASS**;本地 `test` 已部署 `rc-v1.0.0-beta.2`(schema 47)。
- 建议修正 `git-workflow-helper.sh promote-to-test`:对本地晋升跳过 `pull --rebase`,或改为 `pull --ff-only`/`merge`。
- 远端推送 `test`/tag 需用户明确授权后再执行 `./scripts/git-push-dev.sh test`。
@@ -0,0 +1,75 @@
{
"base": "http://127.0.0.1:8081",
"project_id": 3,
"overall": "PASS",
"cases": [
{
"id": "health",
"verdict": "PASS",
"output": {
"status": "ok",
"env": "test",
"agent_backend": "pi-agent",
"version": "v1.0",
"shared_kb_port": 5432,
"database_ready": true,
"schema_version": 47,
"schema_ready": true,
"task_store_ready": true
}
},
{
"id": "login",
"verdict": "PASS",
"output": {
"admin_id": 4,
"owner_id": 26,
"reviewer_id": 27,
"approver_id": 28
}
},
{
"id": "create_project",
"verdict": "PASS",
"http": 201,
"output": {
"project_id": 3,
"snip": "{\"id\":3,\"code\":\"tst-052432\",\"name\":\"test晋升抽检-052432\",\"customer_name\":\"\",\"device_type\":\"超声软组织手术吸引设备\",\"intended_use\":\"test promote\",\"target_market\":\"中国 NMPA\",\"cur"
}
},
{
"id": "save_plan",
"verdict": "PASS",
"http": 200,
"output": {
"snip": "{\"project_id\":3,\"lifecycle_status\":\"planning\",\"active_workflow_key\":\"\",\"workflow_selection_version\":1,\"workflow_plan_revision\":1,\"plan\":{\"workflow_definition_key\":\"main\",\"workflow_version\":1,\"workflow_version_id\":1,\"stag"
}
},
{
"id": "conflict_409",
"verdict": "PASS",
"http": 409,
"output": {
"business_code": "ERR_CONCURRENT_SWITCH"
}
},
{
"id": "activate",
"verdict": "PASS",
"http": 200,
"output": {
"preview_http": 200,
"snip": "{\"project_id\":3,\"lifecycle_status\":\"active\",\"active_workflow_key\":\"main\",\"instance\":{\"id\":1,\"project_id\":3,\"workflow_version_id\":1,\"instance_no\":1,\"status\":\"active\",\"config_revision\":1,\"plan_hash\":\"336eead79e6f4a567e58a1"
}
},
{
"id": "termination_preview",
"verdict": "PASS",
"http": 200,
"output": {
"instance_id": 1,
"can_terminate": true
}
}
]
}
@@ -0,0 +1,8 @@
==> 切换至 test 分支并合并 dev 当前稳定节点...
Switched to branch 'test'
Auto-merging .doc/status/FEATURE-MATRIX.md
CONFLICT (content): Merge conflict in .doc/status/FEATURE-MATRIX.md
error: Merging is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
@@ -0,0 +1,4 @@
[PASS] test app SPA /
[PASS] test app deep link /projects
[PASS] pi-agent /health
[SUCCESS] test env smoke passed
@@ -0,0 +1 @@
{"env":"test","owner":"events-1","status":"ok"}
@@ -0,0 +1,14 @@
{
"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": "/app/data/workspaces",
"uptime": 63.288472122
}
@@ -0,0 +1 @@
{"status":"ok","env":"test","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"database_ready":true,"schema_version":47,"schema_ready":true,"task_store_ready":true}
@@ -0,0 +1,325 @@
==> [test] 重建镜像并重建容器...
Image shuimu-pi-agent:test Building
Image agent-test-app Building
#1 [internal] load local bake definitions
#1 reading from stdin 993B done
#1 DONE 0.0s
#2 [app internal] load build definition from Dockerfile
#2 transferring dockerfile: 1.41kB done
#2 DONE 0.0s
#3 [pi-agent internal] load build definition from Dockerfile
#3 transferring dockerfile: 1.53kB done
#3 DONE 0.0s
#4 [auth] library/node:pull token for docker.1ms.run
#4 DONE 0.0s
#5 [app internal] load metadata for docker.io/library/debian:bookworm-slim
#5 DONE 0.1s
#6 [auth] library/golang:pull token for docker.1ms.run
#6 DONE 0.0s
#7 [pi-agent internal] load metadata for docker.io/library/node:22-bookworm-slim
#7 ...
#8 [app internal] load metadata for docker.io/library/node:22-bookworm
#8 DONE 0.4s
#7 [pi-agent internal] load metadata for docker.io/library/node:22-bookworm-slim
#7 DONE 0.4s
#9 [pi-agent internal] load .dockerignore
#9 transferring context: 234B done
#9 DONE 0.0s
#10 [pi-agent 1/10] FROM docker.io/library/node:22-bookworm-slim@sha256:83f487e0a63425e5b4d146fb5e5be574bcbe1b7b843d3ebafdd95eaf7767a7e5
#10 resolve docker.io/library/node:22-bookworm-slim@sha256:83f487e0a63425e5b4d146fb5e5be574bcbe1b7b843d3ebafdd95eaf7767a7e5 done
#10 DONE 0.0s
#11 [pi-agent internal] load build context
#11 transferring context: 19.43kB done
#11 DONE 0.0s
#12 [pi-agent 7/10] COPY deploy/pi-agent/runner.mjs /app/runner.mjs
#12 CACHED
#13 [pi-agent 4/10] RUN pi --version
#13 CACHED
#14 [pi-agent 6/10] COPY deploy/pi-agent/extensions/ /app/extensions/
#14 CACHED
#15 [pi-agent 3/10] RUN npm install -g @earendil-works/pi-coding-agent@0.85.1 --omit=dev
#15 CACHED
#16 [pi-agent 9/10] COPY deploy/pi-agent/entrypoint.sh /app/entrypoint.sh
#16 CACHED
#17 [pi-agent 8/10] COPY deploy/pi-agent/settle-policy.mjs /app/settle-policy.mjs
#17 CACHED
#18 [pi-agent 2/10] RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl git bash; rm -rf /var/lib/apt/lists/*
#18 CACHED
#19 [pi-agent 5/10] WORKDIR /app
#19 CACHED
#20 [pi-agent 10/10] RUN chmod +x /app/entrypoint.sh /app/runner.mjs
#20 CACHED
#21 [pi-agent] exporting to image
#21 exporting layers done
#21 exporting manifest sha256:c303835b3e594bee402b18ebb8b4df7ecf32140630b175f6d0482a6864c5e07d done
#21 exporting config sha256:16a09d2dc4d435fbbc17046d8a66f43b8d0d28720e72048d332deb76790f01d2 done
#21 exporting attestation manifest sha256:b2fded5fcfb2248f89cca8ad838a7bac2f2280e641ad8609402d7907c04fcdb5 done
#21 exporting manifest list sha256:9e45b992348a72523dbdcc8ca18184440d600393a754e78438ce8bc1d70c2fd2 done
#21 naming to docker.io/library/shuimu-pi-agent:test done
#21 unpacking to docker.io/library/shuimu-pi-agent:test 0.0s done
#21 DONE 0.0s
#22 [pi-agent] resolving provenance for metadata file
#22 DONE 0.0s
#23 [app internal] load metadata for docker.io/library/golang:1.23-bookworm
#23 DONE 2.2s
#9 [app internal] load .dockerignore
#9 CACHED
#24 [app stage-2 1/8] FROM docker.io/library/debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171
#24 resolve docker.io/library/debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171 done
#24 DONE 0.0s
#25 [app go-builder 1/6] FROM docker.io/library/golang:1.23-bookworm@sha256:167053a2bb901972bf2c1611f8f52c44d5fe7e762e5cab213708d82c421614db
#25 resolve docker.io/library/golang:1.23-bookworm@sha256:167053a2bb901972bf2c1611f8f52c44d5fe7e762e5cab213708d82c421614db done
#25 DONE 0.0s
#26 [app web-builder 1/6] FROM docker.io/library/node:22-bookworm@sha256:8a34c4ab3ea2c5cd194f07e317b2a8f09461d3c8b05c4e34c8ccd56d56024c4d
#26 resolve docker.io/library/node:22-bookworm@sha256:8a34c4ab3ea2c5cd194f07e317b2a8f09461d3c8b05c4e34c8ccd56d56024c4d done
#26 DONE 0.0s
#27 [app internal] load build context
#27 transferring context: 147.64MB 0.7s done
#27 DONE 0.7s
#28 [app go-builder 3/6] COPY go.mod go.sum ./
#28 CACHED
#29 [app go-builder 2/6] WORKDIR /src
#29 CACHED
#30 [app go-builder 4/6] RUN go mod download
#30 CACHED
#31 [app web-builder 3/6] COPY web/package.json web/package-lock.json* ./
#31 CACHED
#32 [app web-builder 2/6] WORKDIR /web
#32 CACHED
#33 [app web-builder 4/6] RUN npm ci
#33 CACHED
#34 [app web-builder 5/6] COPY web/ ./
#34 DONE 0.1s
#35 [app go-builder 5/6] COPY . .
#35 DONE 0.3s
#36 [app web-builder 6/6] RUN npm run build
#36 0.167
#36 0.167 > shuimu-workbench@1.0.0 build
#36 0.167 > tsc && vite build
#36 0.167
#36 4.544 vite v7.3.6 building client environment for production...
#36 4.580 transforming...
#36 ...
#37 [app go-builder 6/6] RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /server ./cmd/server
#37 DONE 6.2s
#36 [app web-builder 6/6] RUN npm run build
#36 11.85 ✓ 4108 modules transformed.
#36 12.42 rendering chunks...
#36 12.94 computing gzip size...
#36 13.04 dist/index.html 0.89 kB │ gzip: 0.52 kB
#36 13.04 dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB
#36 13.04 dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.93 kB
#36 13.04 dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.21 kB
#36 13.04 dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.47 kB
#36 13.04 dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB
#36 13.04 dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.19 kB
#36 13.04 dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.50 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.91 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB
#36 13.04 dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.59 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.66 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.72 kB
#36 13.04 dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB
#36 13.04 dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB
#36 13.04 dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.59 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.32 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.35 kB
#36 13.04 dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.51 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.03 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.22 kB
#36 13.04 dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.23 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.32 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB
#36 13.04 dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.37 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.21 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.30 kB
#36 13.04 dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.57 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.41 kB
#36 13.04 dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.03 kB
#36 13.04 dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB
#36 13.04 dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB
#36 13.04 dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.65 kB
#36 13.04 dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB
#36 13.04 dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.99 kB
#36 13.04 dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.67 kB
#36 13.04 dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.75 kB
#36 13.04 dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.44 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB
#36 13.04 dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB
#36 13.04 dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.68 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB
#36 13.04 dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB
#36 13.04 dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB
#36 13.04 dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB
#36 13.04 dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.56 kB
#36 13.04 dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.08 kB
#36 13.04 dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB
#36 13.04 dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB
#36 13.04 dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.20 kB
#36 13.04 dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.31 kB
#36 13.04 dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.97 kB
#36 13.04 dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.52 kB
#36 13.04 dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB
#36 13.04 dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.34 kB
#36 13.04 dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB
#36 13.04 dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB
#36 13.04 dist/assets/index-DhpBfxvE.css 35.50 kB │ gzip: 9.76 kB
#36 13.04 dist/assets/channel-BWcBR9m9.js 0.11 kB │ gzip: 0.12 kB
#36 13.04 dist/assets/init-Gi6I4Gst.js 0.15 kB │ gzip: 0.13 kB
#36 13.04 dist/assets/chunk-2Q5K7J3B-fvi-UXVX.js 0.19 kB │ gzip: 0.16 kB
#36 13.04 dist/assets/chunk-JWPE2WC7-G9Xeymi4.js 0.22 kB │ gzip: 0.17 kB
#36 13.04 dist/assets/chunk-XXDRQBXY-xL9d_pNj.js 0.22 kB │ gzip: 0.20 kB
#36 13.04 dist/assets/chunk-5VM5RSS4-DPQCvrQZ.js 0.36 kB │ gzip: 0.27 kB
#36 13.04 dist/assets/stateDiagram-v2-MP3YSRHH-BTyA19R_.js 0.39 kB │ gzip: 0.29 kB
#36 13.04 dist/assets/classDiagram-ZZMXUADV-ju1dtYDK.js 0.43 kB │ gzip: 0.30 kB
#36 13.04 dist/assets/classDiagram-v2-VYDZK3BY-ju1dtYDK.js 0.43 kB │ gzip: 0.30 kB
#36 13.04 dist/assets/chunk-POPQ4Y6H-ohWCggfc.js 0.50 kB │ gzip: 0.35 kB
#36 13.04 dist/assets/swimlanesDiagram-VR7AAH4N-CMd0mlZ_.js 0.51 kB │ gzip: 0.35 kB
#36 13.04 dist/assets/infoDiagram-27XIBGKW-JCNs47kX.js 0.55 kB │ gzip: 0.38 kB
#36 13.04 dist/assets/sizeCapture-INFHLROL-B5tX4lBk.js 0.90 kB │ gzip: 0.51 kB
#36 13.04 dist/assets/ordinal-Cboi1Yqb.js 1.19 kB │ gzip: 0.57 kB
#36 13.04 dist/assets/railroadDiagram-O6MQD6OU-DerDjLon.js 1.57 kB │ gzip: 0.73 kB
#36 13.04 dist/assets/abnfDiagram-VCTEODGH-BqgLUvbA.js 1.77 kB │ gzip: 0.87 kB
#36 13.04 dist/assets/chunk-F27PBJKO-DgJC4NP8.js 1.88 kB │ gzip: 0.83 kB
#36 13.04 dist/assets/pegDiagram-XKGWAZYB-BSdBF8u3.js 1.92 kB │ gzip: 0.90 kB
#36 13.04 dist/assets/ebnfDiagram-PWID7BFC-B1Vh2lZu.js 1.97 kB │ gzip: 0.86 kB
#36 13.04 dist/assets/arc-Dg1z7rL4.js 3.43 kB │ gzip: 1.48 kB
#36 13.04 dist/assets/diagram-Z3DM3KII-MMEbqEao.js 4.18 kB │ gzip: 1.82 kB
#36 13.04 dist/assets/defaultLocale-DX6XiGOO.js 4.69 kB │ gzip: 2.18 kB
#36 13.04 dist/assets/linear-IbVmzniw.js 5.65 kB │ gzip: 2.31 kB
#36 13.04 dist/assets/diagram-UQ7AKVKN-DPZ7_mDB.js 6.04 kB │ gzip: 2.60 kB
#36 13.04 dist/assets/pieDiagram-E7YTZNPT-2ngtcoaI.js 6.26 kB │ gzip: 2.60 kB
#36 13.04 dist/assets/diagram-S7CK7UJ4-C7OEX6qE.js 8.18 kB │ gzip: 3.66 kB
#36 13.04 dist/assets/cynefinDiagram-5FMLGOSQ-BQH9LwOp.js 10.06 kB │ gzip: 3.61 kB
#36 13.04 dist/assets/stateDiagram-D77RDMKH-Dc0D62G4.js 10.33 kB │ gzip: 3.61 kB
#36 13.04 dist/assets/dagre-GXQ25YYZ-wv3TCqIH.js 10.64 kB │ gzip: 4.01 kB
#36 13.04 dist/assets/diagram-VSXAHHWV-u2vQ4soy.js 10.68 kB │ gzip: 4.11 kB
#36 13.04 dist/assets/chunk-SVP7TREG-aEarUKZP.js 15.73 kB │ gzip: 4.41 kB
#36 13.04 dist/assets/diagram-VX7I27RA-Cb7wTojJ.js 15.92 kB │ gzip: 5.68 kB
#36 13.04 dist/assets/ishikawaDiagram-5VMMS53U-CznyBeyE.js 17.43 kB │ gzip: 6.62 kB
#36 13.04 dist/assets/kanban-definition-UXKFOSKX-aT8ET1nQ.js 20.26 kB │ gzip: 7.18 kB
#36 13.04 dist/assets/mindmap-definition-YA3MSWOX-_5EdLs8X.js 23.14 kB │ gzip: 7.80 kB
#36 13.04 dist/assets/sankeyDiagram-P5KCCOFB-BM7tDQn_.js 23.16 kB │ gzip: 8.54 kB
#36 13.04 dist/assets/journeyDiagram-3NMN7TZE-CedQ2jwu.js 23.54 kB │ gzip: 8.33 kB
#36 13.04 dist/assets/wardleyDiagram-VM6X3IG4-D_YsZsg2.js 25.47 kB │ gzip: 6.77 kB
#36 13.04 dist/assets/gitGraphDiagram-WWUBYQGX-GtfdtO4t.js 29.38 kB │ gzip: 8.68 kB
#36 13.04 dist/assets/erDiagram-RLTQ6QDP-CGMTHkNL.js 30.76 kB │ gzip: 10.57 kB
#36 13.04 dist/assets/timeline-definition-24CTP7MA-ogOAUlJu.js 30.79 kB │ gzip: 10.13 kB
#36 13.04 dist/assets/requirementDiagram-BXWQKSXE-B-ETwSmf.js 30.97 kB │ gzip: 9.70 kB
#36 13.04 dist/assets/quadrantDiagram-AXDQQJYC-DlAs_B1Z.js 33.98 kB │ gzip: 9.96 kB
#36 13.04 dist/assets/layout-DWec3g51.js 35.43 kB │ gzip: 12.74 kB
#36 13.04 dist/assets/chunk-IMKFNOWR-DHDwQtrv.js 38.07 kB │ gzip: 12.51 kB
#36 13.04 dist/assets/blockDiagram-I7D4REHJ-BlCMDKFT.js 41.72 kB │ gzip: 13.56 kB
#36 13.04 dist/assets/vennDiagram-4TSXK5OY-D_pXpwex.js 41.93 kB │ gzip: 15.67 kB
#36 13.04 dist/assets/xychartDiagram-S5SC5T6Z-D2873Pm8.js 44.47 kB │ gzip: 12.58 kB
#36 13.04 dist/assets/chunk-TICWLB2K-DuvmdDPq.js 49.17 kB │ gzip: 15.74 kB
#36 13.04 dist/assets/flowDiagram-HODETNUW-BOtmA1VA.js 61.84 kB │ gzip: 19.87 kB
#36 13.04 dist/assets/c4Diagram-7LVT6UL2-C_41Uupm.js 65.44 kB │ gzip: 18.77 kB
#36 13.04 dist/assets/ganttDiagram-EL5Y4UJY-SPRaHc5m.js 69.66 kB │ gzip: 23.54 kB
#36 13.04 dist/assets/cose-bilkent-JH36ORCC-BjP8KHon.js 81.66 kB │ gzip: 22.46 kB
#36 13.04 dist/assets/swimlanes-42K2YHIH-BN7Q91pf.js 115.76 kB │ gzip: 42.49 kB
#36 13.04 dist/assets/sequenceDiagram-WJ2MYXX4-DuMA_SHp.js 116.93 kB │ gzip: 31.11 kB
#36 13.04 dist/assets/architectureDiagram-5GKGNRK7-CAfHi13y.js 151.79 kB │ gzip: 43.13 kB
#36 13.04 dist/assets/katex-HP8lGamR.js 261.31 kB │ gzip: 77.57 kB
#36 13.04 dist/assets/cytoscape.esm-BB4DxJjf.js 443.04 kB │ gzip: 141.98 kB
#36 13.04 dist/assets/cynefin-OW5HDTMX-BfYiBAUJ.js 687.91 kB │ gzip: 154.14 kB
#36 13.04 dist/assets/index-D0QTzO_j.js 5,736.12 kB │ gzip: 1,643.85 kB
#36 13.04
#36 13.04 (!) Some chunks are larger than 500 kB after minification. Consider:
#36 13.04 - Using dynamic import() to code-split the application
#36 13.04 - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
#36 13.04 - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
#36 13.04 ✓ built in 8.48s
#36 DONE 13.2s
#38 [app stage-2 2/8] RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl; rm -rf /var/lib/apt/lists/*
#38 CACHED
#39 [app stage-2 6/8] COPY deploy/postgres/goose /app/deploy/postgres/goose
#39 CACHED
#40 [app stage-2 7/8] COPY templates /app/templates
#40 CACHED
#41 [app stage-2 3/8] WORKDIR /app
#41 CACHED
#42 [app stage-2 4/8] COPY --from=go-builder /server /app/server
#42 CACHED
#43 [app stage-2 5/8] COPY --from=web-builder /web/dist /app/web/dist
#43 CACHED
#44 [app stage-2 8/8] COPY configs /app/configs
#44 CACHED
#45 [app] exporting to image
#45 exporting layers done
#45 exporting manifest sha256:9fee6acf4f87174f86355426f3c7c451e0527b53266f1d013e28c40c75eeed1f done
#45 exporting config sha256:cec2dbc9f1cae5d5095ffb2b86fc18a23aa4580be63d0caa1462cbc8cf332e26 done
#45 exporting attestation manifest sha256:5a7218569febc6fb0974ffb97ead8475d3160b6bac700535e1ea14761c9efc0e done
#45 exporting manifest list sha256:0a9249ac6dee61c36017ec5b65b9bad1f15f9409acdc0217a9a95618168f0d9f done
#45 naming to docker.io/library/agent-test-app:latest done
#45 unpacking to docker.io/library/agent-test-app:latest 0.1s done
#45 DONE 0.1s
#46 [app] resolving provenance for metadata file
#46 DONE 0.0s
Image agent-test-app Built
Image shuimu-pi-agent:test Built
time="2026-09-16T05:19:20Z" level=warning msg="Found orphan containers (shuimu-agent-events-test) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up."
Container shuimu-system-pg-test Running
Container shuimu-cursor-agent-test Running
Container shuimu-pi-agent-test Recreate
Container shuimu-agent-app-test Recreate
Container shuimu-agent-app-test Recreated
Container shuimu-pi-agent-test Recreated
Container shuimu-pi-agent-test Starting
Container shuimu-system-pg-test Waiting
Container shuimu-pi-agent-test Started
Container shuimu-system-pg-test Healthy
Container shuimu-agent-app-test Starting
Container shuimu-agent-app-test Started
==> [test] 镜像与容器已更新
@@ -0,0 +1,250 @@
==> [test] 重建镜像并重建容器...
Image shuimu-pi-agent:test Building
Image agent-test-app Building
Image agent-test-events Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.45kB done
#1 DONE 0.0s
#2 [app internal] load build definition from Dockerfile
#2 transferring dockerfile: 1.53kB done
#2 DONE 0.0s
#3 [pi-agent internal] load build definition from Dockerfile
#3 transferring dockerfile: 1.58kB done
#3 DONE 0.0s
#4 [events internal] load metadata for docker.io/library/golang:1.23-bookworm
#4 DONE 0.2s
#5 [app internal] load metadata for docker.io/library/node:22-bookworm
#5 DONE 0.2s
#6 [pi-agent internal] load metadata for docker.io/library/node:22-bookworm-slim
#6 DONE 0.2s
#7 [events internal] load metadata for docker.io/library/debian:bookworm-slim
#7 DONE 0.2s
#8 [events internal] load .dockerignore
#8 transferring context: 234B done
#8 DONE 0.0s
#9 [pi-agent 1/11] FROM docker.io/library/node:22-bookworm-slim@sha256:83f487e0a63425e5b4d146fb5e5be574bcbe1b7b843d3ebafdd95eaf7767a7e5
#9 resolve docker.io/library/node:22-bookworm-slim@sha256:83f487e0a63425e5b4d146fb5e5be574bcbe1b7b843d3ebafdd95eaf7767a7e5 done
#9 DONE 0.0s
#10 [events go-builder 1/7] FROM docker.io/library/golang:1.23-bookworm@sha256:167053a2bb901972bf2c1611f8f52c44d5fe7e762e5cab213708d82c421614db
#10 resolve docker.io/library/golang:1.23-bookworm@sha256:167053a2bb901972bf2c1611f8f52c44d5fe7e762e5cab213708d82c421614db done
#10 DONE 0.0s
#11 [events stage-2 1/9] FROM docker.io/library/debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171
#11 resolve docker.io/library/debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171 done
#11 DONE 0.0s
#12 [app web-builder 1/6] FROM docker.io/library/node:22-bookworm@sha256:8a34c4ab3ea2c5cd194f07e317b2a8f09461d3c8b05c4e34c8ccd56d56024c4d
#12 resolve docker.io/library/node:22-bookworm@sha256:8a34c4ab3ea2c5cd194f07e317b2a8f09461d3c8b05c4e34c8ccd56d56024c4d done
#12 DONE 0.0s
#13 [app internal] load build context
#13 ...
#14 [pi-agent internal] load build context
#14 transferring context: 18.57kB 0.1s done
#14 DONE 0.1s
#15 [pi-agent 9/11] COPY deploy/pi-agent/settle-policy.mjs /app/settle-policy.mjs
#15 CACHED
#16 [pi-agent 3/11] RUN npm install -g @earendil-works/pi-coding-agent@0.85.1 --omit=dev
#16 CACHED
#17 [pi-agent 8/11] COPY deploy/pi-agent/result-v1.mjs /app/result-v1.mjs
#17 CACHED
#18 [pi-agent 4/11] RUN pi --version
#18 CACHED
#19 [pi-agent 5/11] WORKDIR /app
#19 CACHED
#20 [pi-agent 7/11] COPY deploy/pi-agent/runner.mjs /app/runner.mjs
#20 CACHED
#21 [pi-agent 2/11] RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl git bash; rm -rf /var/lib/apt/lists/*
#21 CACHED
#22 [pi-agent 10/11] COPY deploy/pi-agent/entrypoint.sh /app/entrypoint.sh
#22 CACHED
#23 [pi-agent 6/11] COPY deploy/pi-agent/extensions/ /app/extensions/
#23 CACHED
#24 [pi-agent 11/11] RUN chmod +x /app/entrypoint.sh /app/runner.mjs
#24 CACHED
#25 [pi-agent] exporting to image
#25 exporting layers done
#25 exporting manifest sha256:1565757be5855280b35ef7e3901496c75270397a465f7789201be925706df172 done
#25 exporting config sha256:e52bdca1a5b6048f4ccb007889c7cfce3a61c45e006a093444fba756eb5108f0 done
#25 exporting attestation manifest sha256:a1e1a5204c5a97ffb09f1b551de9279c66d27fc4772aa139db53d274ed483671 done
#25 exporting manifest list sha256:96b07cfd10c20ffcdeec2c0a726ca9ca33d0416383c93a7274e66ad1740e581a done
#25 naming to docker.io/library/shuimu-pi-agent:test done
#25 unpacking to docker.io/library/shuimu-pi-agent:test done
#25 DONE 0.0s
#26 [pi-agent] resolving provenance for metadata file
#26 DONE 0.0s
#13 [app internal] load build context
#13 ...
#27 [app go-builder 2/7] WORKDIR /src
#27 CACHED
#28 [app go-builder 3/7] COPY go.mod go.sum ./
#28 CACHED
#29 [app go-builder 4/7] RUN go mod download
#29 CACHED
#13 [app internal] load build context
#13 transferring context: 148.57MB 0.7s done
#13 ...
#30 [app go-builder 5/7] COPY . .
#30 DONE 0.3s
#31 [events go-builder 6/7] RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /server ./cmd/server
#31 DONE 5.5s
#32 [app go-builder 7/7] RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /events ./cmd/events
#32 DONE 0.5s
#13 [app internal] load build context
#13 ...
#33 [events web-builder 3/6] COPY web/package.json web/package-lock.json* ./
#33 CACHED
#34 [events web-builder 4/6] RUN npm ci
#34 CACHED
#35 [events stage-2 3/9] WORKDIR /app
#35 CACHED
#36 [events stage-2 4/9] COPY --from=go-builder /server /app/server
#36 CACHED
#37 [events stage-2 5/9] COPY --from=go-builder /events /app/events
#37 CACHED
#38 [events web-builder 6/6] RUN npm run build
#38 CACHED
#39 [events stage-2 6/9] COPY --from=web-builder /web/dist /app/web/dist
#39 CACHED
#40 [events stage-2 2/9] RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl; rm -rf /var/lib/apt/lists/*
#40 CACHED
#41 [events web-builder 2/6] WORKDIR /web
#41 CACHED
#42 [events stage-2 7/9] COPY deploy/postgres/goose /app/deploy/postgres/goose
#42 CACHED
#43 [events web-builder 5/6] COPY web/ ./
#43 CACHED
#44 [events stage-2 8/9] COPY templates /app/templates
#44 CACHED
#45 [events stage-2 9/9] COPY configs /app/configs
#45 CACHED
#43 [app web-builder 5/6] COPY web/ ./
#43 CACHED
#42 [app stage-2 7/9] COPY deploy/postgres/goose /app/deploy/postgres/goose
#42 CACHED
#40 [app stage-2 2/9] RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl; rm -rf /var/lib/apt/lists/*
#40 CACHED
#35 [app stage-2 3/9] WORKDIR /app
#35 CACHED
#38 [app web-builder 6/6] RUN npm run build
#38 CACHED
#36 [app stage-2 4/9] COPY --from=go-builder /server /app/server
#36 CACHED
#39 [app stage-2 6/9] COPY --from=web-builder /web/dist /app/web/dist
#39 CACHED
#34 [app web-builder 4/6] RUN npm ci
#34 CACHED
#37 [app stage-2 5/9] COPY --from=go-builder /events /app/events
#37 CACHED
#44 [app stage-2 8/9] COPY templates /app/templates
#44 CACHED
#33 [app web-builder 3/6] COPY web/package.json web/package-lock.json* ./
#33 CACHED
#41 [app web-builder 2/6] WORKDIR /web
#41 CACHED
#46 [events] exporting to image
#46 exporting layers done
#46 exporting manifest sha256:ae93691f063530a0ce8de4c2ca82c3d750496398024b713799b6207f47df4867 done
#46 exporting config sha256:ca49ca76612131959a67a4e1cfccb4f66dada4c6274404032cf488809b741f28 done
#46 exporting attestation manifest sha256:672e1217ad9a66e1e89b0c54567fe96e54a791df8a41ca25339007d90390bcb6 done
#46 exporting manifest list sha256:28b7e83c01bf8f7eb6f24e054290b011421f12faff41f50e7565348b00d9a06b done
#46 naming to docker.io/library/agent-test-events:latest done
#46 unpacking to docker.io/library/agent-test-events:latest done
#46 DONE 0.0s
#47 [app] exporting to image
#47 exporting layers done
#47 exporting manifest sha256:4c20923bc49e4dbe4d3c55adb7f2a630bc7df8039f41ab455d8418f5e1b24502 done
#47 exporting config sha256:0f894fb409f1c1c159d807d33729d2624bbf2df33247a0b9748b9520135e069d done
#47 exporting attestation manifest sha256:d5909ff63a4418100627bbeab97b259565d046ed8cd2337ec9080fc6bd52e003 done
#47 exporting manifest list sha256:4d76b7bdea5bd87994ebfa0d87a0c4f8b3e57a0777d04441e3210246ad96f29b done
#47 naming to docker.io/library/agent-test-app:latest done
#47 unpacking to docker.io/library/agent-test-app:latest done
#47 DONE 0.0s
#48 [events] resolving provenance for metadata file
#48 DONE 0.0s
#49 [app] resolving provenance for metadata file
#49 DONE 0.0s
#13 [app internal] load build context
Image agent-test-events Built
Image shuimu-pi-agent:test Built
Image agent-test-app Built
Container shuimu-system-pg-test Running
Container shuimu-cursor-agent-test Running
Container shuimu-pi-agent-test Recreate
Container shuimu-agent-events-test Recreate
Container shuimu-agent-app-test Recreate
Container shuimu-agent-app-test Recreated
Container shuimu-agent-events-test Recreated
Container shuimu-pi-agent-test Recreated
Container shuimu-pi-agent-test Starting
Container shuimu-system-pg-test Waiting
Container shuimu-system-pg-test Waiting
Container shuimu-pi-agent-test Started
Container shuimu-system-pg-test Healthy
Container shuimu-agent-app-test Starting
Container shuimu-system-pg-test Healthy
Container shuimu-agent-events-test Starting
Container shuimu-agent-app-test Started
Container shuimu-agent-events-test Started
==> [test] 镜像与容器已更新
+2 -2
View File
@@ -99,9 +99,9 @@ case "${COMMAND}" in
echo "错误: 请提供测试候选 Tag 名称,例如: $0 promote-to-test rc-v1.0.0-beta.1"
exit 1
fi
echo "==> 切换至 test 分支并合并 dev 当前稳定节点..."
echo "==> 切换至 test 分支并合并本地 dev 当前稳定节点..."
git checkout test
git pull --rebase origin test 2>/dev/null || true
# 本地晋升默认不 rebase origin(分叉时会把数百提交重放并易冲突)。需要同步远端时请显式 pull --ff-only/merge。
git merge --no-ff dev -m "release-candidate: 汇集 dev 功能至 test 分支,准备长期实测 [Tag: ${TAG}]"
git tag -a "${TAG}" -m "实测候选版本: ${TAG}"
echo "已成功合并至 test 并打上标签: ${TAG}!请启动 test 环境进行运维与功能测试。"