From 575c2da092dbb702de1233095ba0a9a9fd75ef3d Mon Sep 17 00:00:00 2001 From: weichen Date: Sat, 12 Sep 2026 23:51:56 +0000 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20main=20=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E7=94=9F=E4=BA=A7=E5=AF=86=E9=92=A5=E5=B9=B6?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=9C=AC=E5=9C=B0=E5=86=92=E7=83=9F=E9=AA=8C?= =?UTF-8?q?=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .doc/2026-09-12-AUDIT-INDEX.md | 10 ++++++- .doc/2026-09-12-remediation-gap-matrix.md | 8 +++--- .doc/ops/CURRENT.md | 27 +++++++++---------- .../2026-09-13-codex-audit-p0-remediation.md | 2 +- ...-codex-audit-p0-remediation-test-report.md | 14 ++++++---- PROJECT.md | 2 +- configs/.env.main.example | 4 +++ docker-compose.main.yml | 2 ++ 8 files changed, 43 insertions(+), 26 deletions(-) diff --git a/.doc/2026-09-12-AUDIT-INDEX.md b/.doc/2026-09-12-AUDIT-INDEX.md index 586f74de..fd52d820 100644 --- a/.doc/2026-09-12-AUDIT-INDEX.md +++ b/.doc/2026-09-12-AUDIT-INDEX.md @@ -13,7 +13,15 @@ ## 核心文档(按阅读顺序推荐) -### 1️⃣ 从这里开始:审计总结报告 +### 0️⃣ 当前状态(Live SSOT) + +**文件**: `2026-09-12-remediation-gap-matrix.md` +**协作**: `.doc/ops/CURRENT.md` · `AGENTS.md` · `PROJECT.md` +**用途**: 发布缺口、Codex 再审计闭环证据、发布门禁勾选 + +--- + +### 1️⃣ 从这里开始:审计总结报告(历史) **文件**: `2026-09-12-audit-summary-report.md` **用途**: 项目整体现状、关键数字、风险评估 **适合**: 项目经理、技术负责人、快速概览 diff --git a/.doc/2026-09-12-remediation-gap-matrix.md b/.doc/2026-09-12-remediation-gap-matrix.md index 850616a1..4acc1583 100644 --- a/.doc/2026-09-12-remediation-gap-matrix.md +++ b/.doc/2026-09-12-remediation-gap-matrix.md @@ -2,7 +2,7 @@ **更新**: 2026-09-13 **分支**: dev -**production_ready**: no(main 环境未验收;见 ENV-MAIN-MISSING) +**production_ready**: no(CI 真实 PI E2E / 前端人工抽检未完成;main 本地冒烟已通过) **协作焦点**: [.doc/ops/CURRENT.md](ops/CURRENT.md) **Agent 手册**: [AGENTS.md](../AGENTS.md) · [PROJECT.md](../PROJECT.md) @@ -49,7 +49,7 @@ | GO-VET-ASSET | asset handler resp before err | PASS | `asset_handlers_test.go` err-first | | ENV-TEST-STALE | test 旧镜像/schema 漂移 | PASS | rebuild app;health schema_version=25 | | ENV-DEV-STALE | dev 二进制/schema 漂移 | PASS | docker app 重启;schema_version=25 | -| ENV-MAIN-MISSING | main 未部署验收 | OPEN | `main start` mkdir 权限失败;待运维 | +| ENV-MAIN-MISSING | main 未部署验收 | PASS | docker 创建 `data/main`;compose 注入 ADMIN/KB 密码;health/ready schema 25 | | DOC-SSOT | 文档叙事漂移 | PASS | 本矩阵 + superseded 标记 + ops | | OPS-AGENTS | 多 Agent 协作规范 | PASS | `AGENTS.md` / `PROJECT.md` / `.doc/ops` | @@ -64,8 +64,8 @@ □ 真实 PI Agent 三工作流治理 E2E 实录(本轮 stub/short 已绿,PI 待 CI token) ☑ lifecycle fix SQL 已在 dev 执行 ☑ test/dev health schema_version=25 -□ main 环境部署冒烟 +☑ main 环境部署冒烟(本地 8000 health/ready schema 25) □ 前端:版本冲突刷新、终止 preview 人工抽检 ``` -**结论**: P0 授权、冷启动序列、Go 门禁、dev/test 环境一致性已闭环。**main 生产验收仍为发布 blocker**。 +**结论**: P0 授权、冷启动序列、Go 门禁、三环境本地冒烟已闭环。**发布 blocker 剩余 CI 真实 PI E2E 与前端人工抽检**。 diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index ee1d40aa..78b33b34 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -1,17 +1,24 @@ # 当前焦点 **更新**: 2026-09-13 -**production_ready**: no(main 环境 OPEN) +**production_ready**: no(CI 真实 PI E2E + 前端人工抽检待完成) ## 焦点 -Codex 审计 P0 整改 **Wave 0–C 已完成**;Wave D 文档对齐已完成。 +Codex 审计 P0 整改 **Wave 0–D 已全部完成**;main 本地冒烟已通过。 -## 剩余阻塞 +## 剩余(非 P0) -1. **ENV-MAIN-MISSING**: main 环境 `data/main` 权限导致 compose 启动失败 -2. **CI**: `TEST_DATABASE_URL` + 真实 PI E2E 实录(长期 OPEN) -3. **BACKLOG**: session cookie / bundle 拆分 / 容量治理 +1. **CI**: `TEST_DATABASE_URL` + 真实 PI E2E 实录 +2. **BACKLOG**: session cookie / bundle 拆分 / 容量治理 + +## 环境快照 + +| 环境 | 端口 | schema | 状态 | +|------|------|--------|------| +| dev | 8080 | 25 | healthy | +| test | 8081 | 25 | healthy | +| main | 8000 | 25 | healthy(本地冒烟) | ## SSOT @@ -20,11 +27,3 @@ Codex 审计 P0 整改 **Wave 0–C 已完成**;Wave D 文档对齐已完成 | 发布缺口 | [gap-matrix](../2026-09-12-remediation-gap-matrix.md) | | 测试报告 | [test-report](../test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md) | | Agent 手册 | [AGENTS.md](../../AGENTS.md) | -| 本仓地图 | [PROJECT.md](../../PROJECT.md) | - -## 活跃条目 - -| 类型 | 路径 | -|------|------| -| 短期任务 | [short-term/2026-09-13-codex-audit-p0-remediation.md](./short-term/2026-09-13-codex-audit-p0-remediation.md) | -| Checklist | [checklists/2026-09-13-codex-audit-p0-remediation.md](./checklists/2026-09-13-codex-audit-p0-remediation.md) | diff --git a/.doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md b/.doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md index 491aa09f..2def7995 100644 --- a/.doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md +++ b/.doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md @@ -31,7 +31,7 @@ related_task: short-term/2026-09-13-codex-audit-p0-remediation.md - [x] test rebuild schema 25 — health 8081 - [x] dev docker app schema 25 — health 8080 -- [ ] main 冒烟 — OPEN mkdir 权限 +- [x] main 冒烟 — health/ready 8000 schema 25;restart 恢复 - [x] HTTP 超时 + env status 只读 — commit 505c419 - [x] .env.dev/.env.test chmod 600 diff --git a/.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md b/.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md index 21140a9a..f63aa67b 100644 --- a/.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md +++ b/.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md @@ -80,11 +80,15 @@ after: 0 ### 5.5 Main 环境 -**Input**: `./scripts/env-service.sh main start` +**Input**: docker 创建 `data/main` → `./scripts/env-service.sh main start` → `curl :8000/api/v1/health` -**Actual Output**: `mkdir: Permission denied`(data/main) +**Actual Output**: +```json +{"status":"ok","env":"prod","schema_version":25,"database_ready":true,"task_store_ready":true} +``` +重启 `docker restart shuimu-agent-app-main` 后 ready 仍 200。 -**Verdict**: FAIL(OPEN,见 gap-matrix ENV-MAIN-MISSING) +**Verdict**: PASS ## 六、 自动化测试套件汇总 (Test Suite Execution) @@ -95,5 +99,5 @@ go test -short ./... → PASS (all ok) ## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) -- **结论**: P0 代码与 dev/test 环境一致性已达本轮验收标准;**main 部署仍为发布 blocker**。 -- **后续**: 修复 data/main 目录权限并完成 main 冒烟;CI 配置 `TEST_DATABASE_URL`;真实 PI E2E 实录。 +- **结论**: P0 与三环境本地冒烟已达本轮验收标准;**发布 blocker 剩余 CI 真实 PI E2E 与前端人工抽检**。 +- **后续**: CI 配置 `TEST_DATABASE_URL` + `RUNNER_AUTH_TOKEN`;真实 PI 三工作流 E2E 实录;main 生产部署需配置强密码(见 `configs/.env.main.example`)。 diff --git a/PROJECT.md b/PROJECT.md index 6795f6e2..a9391728 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -120,7 +120,7 @@ cd web && npm test && npm run build - 发布缺口 SSOT:[gap-matrix](./.doc/2026-09-12-remediation-gap-matrix.md) - 最新测试报告:[2026-09-13-codex-audit-p0-remediation-test-report.md](./.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md) -- **剩余 blocker**: main 环境部署(`ENV-MAIN-MISSING`) +- **剩余 blocker**: CI 真实 PI E2E + 前端人工抽检(main 本地冒烟已通过) --- diff --git a/configs/.env.main.example b/configs/.env.main.example index 04c39648..30a46e6f 100644 --- a/configs/.env.main.example +++ b/configs/.env.main.example @@ -33,3 +33,7 @@ KB_DB_PORT=5432 CURSOR_RUNNER_PORT=18767 AGENT_BACKEND=stub AGENT_TIMEOUT=60m +# 生产必填(不可使用 shared_kb_secret_pass / admin-secret-password-123 等默认值) +RUNNER_AUTH_TOKEN=change-me-runner-token +KB_DB_PASSWORD=change-me-kb-prod-secret +ADMIN_PASSWORD=change-me-admin-prod-secret diff --git a/docker-compose.main.yml b/docker-compose.main.yml index 3b8b7a25..786a6e62 100644 --- a/docker-compose.main.yml +++ b/docker-compose.main.yml @@ -101,6 +101,8 @@ services: PI_AGENT_RUNNER_URL: http://pi-agent:18867 PI_AGENT_RUNNER_AUTH_TOKEN: ${RUNNER_AUTH_TOKEN:?RUNNER_AUTH_TOKEN is required for main/production} RUNNER_AUTH_TOKEN: ${RUNNER_AUTH_TOKEN:?RUNNER_AUTH_TOKEN is required for main/production} + KB_DB_PASSWORD: ${KB_DB_PASSWORD:?KB_DB_PASSWORD is required for main/production} + ADMIN_PASSWORD: ${ADMIN_PASSWORD:?ADMIN_PASSWORD is required for main/production} ALLOW_IN_MEMORY: "false" AUX_FILE_DSN: file:/var/lib/feishu/outbox_main.db?_journal_mode=WAL&_busy_timeout=5000 ports: