From 3978e6b4610570c55374baaaa0126532d7db8774 Mon Sep 17 00:00:00 2001 From: weichen Date: Thu, 17 Sep 2026 05:05:26 +0000 Subject: [PATCH] docs(ops): record test promotion to rc-v1.0.0-beta.3 Co-authored-by: Cursor --- .doc/ops/CURRENT.md | 8 +-- .../2026-09-17-promote-dev-to-test.md | 16 ++--- .doc/remediation/gap-matrix.md | 6 +- .doc/status/FEATURE-MATRIX.md | 2 +- ...6-09-17-promote-dev-to-test-test-report.md | 66 +++++++++++++++++++ .../events-health.json | 1 + .../health.json | 1 + .../2026-09-17-promote-dev-to-test/ready.json | 1 + .../test-head.txt | 2 + .../vault-status.json | 1 + 10 files changed, 88 insertions(+), 16 deletions(-) create mode 100644 .doc/test-reports/2026-09-17-promote-dev-to-test-test-report.md create mode 100644 .doc/test-reports/assets/2026-09-17-promote-dev-to-test/events-health.json create mode 100644 .doc/test-reports/assets/2026-09-17-promote-dev-to-test/health.json create mode 100644 .doc/test-reports/assets/2026-09-17-promote-dev-to-test/ready.json create mode 100644 .doc/test-reports/assets/2026-09-17-promote-dev-to-test/test-head.txt create mode 100644 .doc/test-reports/assets/2026-09-17-promote-dev-to-test/vault-status.json diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index 8a84c207..9d268df0 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -1,7 +1,7 @@ # 当前焦点 **更新**: 2026-09-17 -**production_ready**: yes(门禁 B1–B4 已签;dev `schema_version=48`;test/main `schema_version=47`;goose 00048 bootstrap-fields 已在 dev 可迁移。不把 fallback change report 写成完整 PI) +**production_ready**: yes(门禁 B1–B4 已签;dev/test `schema_version=48`;main `schema_version=47`;goose 00048 已在 test 迁移。不把 fallback change report 写成完整 PI) ## 焦点 @@ -20,7 +20,7 @@ | Cursor | 2026-09-17-w5a-software-bootstrap-ui | feature/w5a-software-bootstrap-ui-pi | - | workflow-design | done | | Cursor | 2026-09-17-w6-fav-subscriber-shadow | feature/w6-fav-subscriber-shadow | - | events | done | | Cursor | 2026-09-17-w7-d7-inventory | feature/w7-d7-data-inventory | - | chat | done | -| Cursor | 2026-09-17-promote-dev-to-test | feature/promote-dev-to-test-2026-09-17 | - | infra | in_progress | +| Cursor | 2026-09-17-promote-dev-to-test | feature/promote-dev-to-test-2026-09-17 | - | infra | done | | Cursor | 2026-09-17-kb-host-auth-fix | fix/kb-host-auth-layered-load | - | infra | done | | Cursor | 2026-09-17-w1-ci-e2e-green-nightly | feature/w1-ci-e2e-green-nightly | - | ci | done | | Cline | 2026-09-16-partial-deferred-completion | docs/partial-deferred-completion-plan | - | architecture-docs | in_progress | @@ -119,7 +119,7 @@ | holder | phase | since | scope | queue | |--------|-------|-------|-------|-------| -| Cursor | merging | 2026-09-17 | promote dev → test rc-v1.0.0-beta.3 | - | +| - | idle | - | - | - | **phase**: `idle` | `merging` | `smoke` | `e2e` @@ -130,7 +130,7 @@ | 环境 | 端口 | schema | 状态 | |------|------|--------|------| | dev | 8080 | **48** | 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.2`;pi-agent `:18866`;events `:8089`;notify/advance/projection live、fav off;health+ready PASS;矩阵深度测试 live 项目 3 PASS) | +| test | 8081 | **48** | healthy(`rc-v1.0.0-beta.3`;pi-agent `:18866`;events `:8089`;notify/advance/projection live、fav off;health+ready PASS;goose 00048 已迁移) | | main | 8000 | **47** | healthy(app + events + runner + DB;与 dev/test 对齐) | ## SSOT diff --git a/.doc/ops/short-term/2026-09-17-promote-dev-to-test.md b/.doc/ops/short-term/2026-09-17-promote-dev-to-test.md index b7ee268e..7cf3cce5 100644 --- a/.doc/ops/short-term/2026-09-17-promote-dev-to-test.md +++ b/.doc/ops/short-term/2026-09-17-promote-dev-to-test.md @@ -1,6 +1,6 @@ --- title: "晋升 dev → test(rc-v1.0.0-beta.3)" -status: in_progress +status: done created: 2026-09-17 updated: 2026-09-17 owner: Cursor @@ -34,16 +34,16 @@ mutex: infra ## 步骤 1. [x] 确认 gap-matrix `production_ready=yes`;FAV/D7/SWBOOT 为 deferred_enhancement -2. [ ] 占集成槽;合入 `test` + tag -3. [ ] rebuild 测试服务 -4. [ ] health/ready + schema 冒烟 +2. [x] 占集成槽;合入 `test` + tag +3. [x] rebuild 测试服务 +4. [x] health/ready + schema 冒烟 ## 验收标准 -- [ ] `:8081` health/ready PASS -- [ ] schema 到达 48(00048 additive) -- [ ] FAV 仍 off -- [ ] 默认 flag 仍 off +- [x] `:8081` health/ready PASS +- [x] schema 到达 48(00048 additive) +- [x] FAV 仍 off +- [x] 默认 flag 仍 off ## 相关链接 diff --git a/.doc/remediation/gap-matrix.md b/.doc/remediation/gap-matrix.md index fa51f47c..e5769ad3 100644 --- a/.doc/remediation/gap-matrix.md +++ b/.doc/remediation/gap-matrix.md @@ -1,8 +1,8 @@ # 整改缺口复核矩阵(SSOT) -**更新**: 2026-09-16 -**分支**: dev -**production_ready**: yes(发布门禁 B1–B4 已签;dev/test/main schema=47。U9–U12 / 软件自举 / FAV / 完整 PI change-report 叙事不挡首发) +**更新**: 2026-09-17 +**分支**: test @ `rc-v1.0.0-beta.3` +**production_ready**: yes(发布门禁 B1–B4 已签;dev/test `schema_version=48`;main `schema_version=47`。U9–U12 / 软件自举 / FAV / D7 不挡首发;FAV live 与 D7 删除仍非本门禁范围) **协作焦点**: [../ops/CURRENT.md](../ops/CURRENT.md) **Agent 手册**: [AGENTS.md](../../AGENTS.md) · [PROJECT.md](../../PROJECT.md) **能力矩阵**: [../status/FEATURE-MATRIX.md](../status/FEATURE-MATRIX.md)(Wave 0 校准;与本文件正交) diff --git a/.doc/status/FEATURE-MATRIX.md b/.doc/status/FEATURE-MATRIX.md index f845a759..0e890054 100644 --- a/.doc/status/FEATURE-MATRIX.md +++ b/.doc/status/FEATURE-MATRIX.md @@ -62,7 +62,7 @@ | PI change-report 叙事 | 只读消费 diff+lineage 的 PI 叙事;失败全量降级 fallback | done | deferred_enhancement | [Round20](../test-reports/2026-09-14-document-revision-runtime-ui-test-report.md);[go/no-go GO](../ops/research/2026-09-16-wave3-pu6-pu8-go-no-go.md);[pu7](../ops/long-term/2026-09-16-pu7-pi-narrative-contract.md);[脚手架](../test-reports/2026-09-16-pu7-pi-narrative-test-report.md);[W3 真 PI](../test-reports/2026-09-17-w3-pi-change-report-narrative-test-report.md) | **before**:flag 脚手架 + 仅 fallback。**after**:dev 可开 `PI_CHANGE_REPORT_NARRATIVE` 走产品 PI no-tool narrator(默认 off)。digest 绑定;畸形/超时全量 fallback。**不把 fallback 写成完整 PI** | `docgov` | | 前端工作台 | 三栏 + 块文档 + SSE;错误卡/进度/busy;版本冲突信封;demo seed 默认关;终止 preview | done | non_blocker | [workbench](../test-reports/2026-09-08-three-column-workbench-and-block-document-test-report.md);[双标签](../test-reports/assets/2026-09-15-conversation-intent-dual-tab/screenshots/tab-b-busy.png);[demo](../test-reports/2026-09-16-demo-seed-pollution-test-report.md);[B4](../test-reports/2026-09-16-frontend-gate-b4-test-report.md)(项目 6363) | **before**:空「缺口」却 partial → **after**:本行 done。其他 409 消费方信封复用另列 hardening backlog | `web` | | PI Runner / 配置链 | pi-agent + MiniMax + typed-result-v1 | done | non_blocker | [piagent](../test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md);[container-env](../test-reports/2026-09-13-container-env-configuration-test-report.md);[typed-result](../test-reports/2026-09-15-pi-typed-result-v1-test-report.md) | — | `pi-agent` | -| 三环境运维 | dev/test/main + 共享 KB;对话/业务库隔离 | done | non_blocker | [PROJECT.md](../../PROJECT.md) §4;CURRENT 环境快照 schema **47** | — | `infra` | +| 三环境运维 | dev/test/main + 共享 KB;对话/业务库隔离 | done | non_blocker | [PROJECT.md](../../PROJECT.md) §4;CURRENT 环境快照 dev/test schema **48**、main **47** | — | `infra` | | CI / E2E | PR CI、PG 集成、治理 PG、已签真实 PI 门禁;**nightly** schedule/`workflow_dispatch` + infra/product 分类 receipt | done | 加固(阻止**下一次**晋升,不自动否定已发布) | [BUG-08](../test-reports/2026-09-16-ci-governance-pg-bug08-test-report.md);[PI 三工作流](../test-reports/2026-09-16-pi-three-workflow-e2e-test-report.md);[Wave2B](../test-reports/2026-09-16-wave2b-nightly-promotion-receipt-test-report.md);[Wave2C](../test-reports/2026-09-16-wave2c-same-image-digest-test-report.md);[W1 green](../test-reports/2026-09-17-w1-ci-e2e-green-nightly-test-report.md) + [receipt `6e2476f0…`](../assets/promotion-receipts/6e2476f0f2e408e111fe06ca7c31a38294a340b3.json) | **before**:partial(FullNone product_fail / secrets 文案过时)→ **after**:secrets 已配;duplicate goose 00048 已清;FullNone+U8 nightly `verdict=pass` | `ci` | | Artifact 同 digest 晋升 | 候选 commit 一次构建、按 digest 晋升、promotion receipt | done | 加固 | [计划 PU5B](../remediation/2026-09-16-feature-matrix-production-readiness-plan.md);[Wave2B](../test-reports/2026-09-16-wave2b-nightly-promotion-receipt-test-report.md);[Wave2C](../test-reports/2026-09-16-wave2c-same-image-digest-test-report.md) | **关闭**:same-image pin(`candidate-images-*` + `PINNED_IMAGE_MODE` + promote `--require-digests`)。**声明**:单机 retag/digest pin;远程 registry 推送另立任务 | `infra` | | 可靠事件核心 | PG dispatcher、notify/advance/projection live、生产闭包 hook 退出、Phase2 选择性解耦已合入 | done | non_blocker | [E0A–E2](../test-reports/2026-09-15-event-e0a-production-scope-contract-test-report.md) 等;[复盘](../ops/research/2026-09-15-track-e-retrospective.md);[shared live](../test-reports/2026-09-15-event-notify-shared-live-test-report.md);[phase2 closeout](../test-reports/2026-09-15-phase2-closeout-test-report.md) | **before**:与 FAV off 混成 partial → **after**:FAV 独立行。选择性后续解耦按收益触发 | `architecture-docs` / `events` | diff --git a/.doc/test-reports/2026-09-17-promote-dev-to-test-test-report.md b/.doc/test-reports/2026-09-17-promote-dev-to-test-test-report.md new file mode 100644 index 00000000..8193f55f --- /dev/null +++ b/.doc/test-reports/2026-09-17-promote-dev-to-test-test-report.md @@ -0,0 +1,66 @@ +# 晋升 dev → test(rc-v1.0.0-beta.3)测试报告 + +## 一、 测试背景 (Background) + +gap-matrix `production_ready=yes`;门禁 B1–B4 已签。本地 `dev` 已含 leftover 收口与 W2–W7,test 仍停在 `rc-v1.0.0-beta.2` / schema 47。需要把候选合入 `test` 并重建服务,供部署后实测。FAV/D7/SWBOOT 的 `partial`/`deferred` 是 deferred_enhancement,不挡本轮晋升。 + +## 二、 测试目标 (Test Objectives) + +- 确认发布口径仍为 production-ready +- 本地 `test` 合入当前 `dev`,tag `rc-v1.0.0-beta.3` +- 重建 test 服务(不 pin beta.2 旧镜像) +- `:8081` health/ready;schema 48;FAV off + +## 三、 测试方案与环境 (Test Plan & Environment) + +| 项 | 值 | +|----|----| +| 源 | 本地 `dev@4fce16c`(含 W7 盘点 + 晋升占槽文档) | +| 目标 | 本地 `test` + tag `rc-v1.0.0-beta.3` | +| 部署 | `./scripts/env-service.sh test rebuild`(`PINNED_IMAGE_MODE=0`,仅本机 images 文件,未入库) | +| 证据 | `.doc/test-reports/assets/2026-09-17-promote-dev-to-test/` | + +`./scripts/promote-to-test.sh` 因缺 `dev@46a0fb2` nightly receipt 被 skip(与 beta.2 晋升相同:手工 `--no-ff` + annotated tag)。未合 `main`。 + +## 四、 预期结果 (Expected Results) + +- health/ready `env=test`、`schema_version=48` +- vault `consumer_mode=off`、`degraded_read=false` +- events `:8089` ok + +## 五、 实际测试结果与判定 (Actual Results & Evaluation) + +### 5.1 发布口径 + +- **测试输入 (Input)**:CURRENT / FEATURE-MATRIX / gap-matrix +- **实际输出 (Actual Output)**:`production_ready=yes`;B1–B4 已签;FAV/D7/SWBOOT 标明 deferred_enhancement +- **评价判定 (Evaluation / Verdict)**:PASS(允许晋升 test,非升 main) +- **性能与耗时 (Duration & Latency)**:N/A + +### 5.2 合入与 tag + +- **测试输入 (Input)**:`git checkout test && git merge --no-ff dev`;`git tag -a rc-v1.0.0-beta.3` +- **实际输出 (Actual Output)**:`test@e5e0956`;tag `rc-v1.0.0-beta.3`。见 `test-head.txt` +- **评价判定 (Evaluation / Verdict)**:PASS +- **性能与耗时 (Duration & Latency)**:<1s + +### 5.3 rebuild + 冒烟 + +- **测试输入 (Input)**:`./scripts/env-service.sh test rebuild`;`curl :8081/health` `/ready`;`:8089/health`;vault status +- **实际输出 (Actual Output)**: + +```json +{"status":"ok","env":"test","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"kb_ready":true,"database_ready":true,"schema_version":48,"schema_ready":true,"task_store_ready":true} +``` + +vault:`consumer_mode=off`、`degraded_read=false`、`live_not_opened=true`。events:`{"env":"test","owner":"events-1","status":"ok"}`。 +- **评价判定 (Evaluation / Verdict)**:PASS +- **性能与耗时 (Duration & Latency)**:rebuild ~10s(缓存);health <1s + +## 六、 自动化测试套件汇总 (Test Suite Execution) + +本波为环境晋升冒烟,不以 stub 冒充真实 PI 验收。W2–W5a 真实 PI 证据仍在各波 test-report。`go test -short` 已在 W6/W7 合入时 PASS。 + +## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) + +test 服务已更新到 `rc-v1.0.0-beta.3`,schema **48**,可进行部署后实测。默认 flag 仍 off;FAV 仍 off。未推远端、未合 `main`。缺少当前 HEAD 的 nightly same-image receipt,正式升 main 前须补 receipt。 diff --git a/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/events-health.json b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/events-health.json new file mode 100644 index 00000000..751a3b9a --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/events-health.json @@ -0,0 +1 @@ +{"env":"test","owner":"events-1","status":"ok"} diff --git a/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/health.json b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/health.json new file mode 100644 index 00000000..0e6925df --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/health.json @@ -0,0 +1 @@ +{"status":"ok","env":"test","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"kb_ready":true,"database_ready":true,"schema_version":48,"schema_ready":true,"task_store_ready":true} diff --git a/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/ready.json b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/ready.json new file mode 100644 index 00000000..0e6925df --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/ready.json @@ -0,0 +1 @@ +{"status":"ok","env":"test","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"kb_ready":true,"database_ready":true,"schema_version":48,"schema_ready":true,"task_store_ready":true} diff --git a/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/test-head.txt b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/test-head.txt new file mode 100644 index 00000000..47aab30c --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/test-head.txt @@ -0,0 +1,2 @@ +e5e0956 +rc-v1.0.0-beta.3 diff --git a/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/vault-status.json b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/vault-status.json new file mode 100644 index 00000000..a2b30842 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-promote-dev-to-test/vault-status.json @@ -0,0 +1 @@ +{"consumer":"fav","consumer_mode":"off","degraded_read":false,"live_not_opened":true,"note":"fav consumer remains OFF until separate approval; shadow computes intended outcome only; full FAV branch not merged","publisher_enabled":false,"publisher_running":false,"shadow_observe":true,"status":"ok","store_configured":false,"subscriber_default":false,"would_publish":false,"would_stage":false}