From f6d908f050551353bad95bf2915ceafd1b7557e9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 May 2026 11:16:05 +0800 Subject: [PATCH] docs: add release readiness checklist --- README.md | 1 + docs/architecture.md | 11 +++++------ docs/release-readiness.md | 41 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 docs/release-readiness.md diff --git a/README.md b/README.md index 41d724f9d..896d9d7a3 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ tests/ Playwright e2e and route-level tests - [部署指南](docs/deployment.md) - [运维与质量门禁](docs/operations.md) - [系统架构说明](docs/architecture.md) +- [发布就绪检查清单](docs/release-readiness.md) ## 开发边界 diff --git a/docs/architecture.md b/docs/architecture.md index 38233f645..af3365a15 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -69,10 +69,9 @@ Postgres 是主数据源。连接池默认使用有限连接数、短连接超 主质量门禁包括: -- `pnpm lint` -- `pnpm check:logs` -- `pnpm exec tsc --noEmit --pretty false` -- `git diff --check` -- tracked 污染物检查 +- `pnpm check:quality` +- `pnpm smoke:routes`,需要先启动目标环境 -日志通过 `lib/observability` 结构化输出并脱敏。当前只治理了第一批高风险链路,Canvas 和 `/api/chat` 日志二期仍待推进。 +`pnpm check:quality` 会统一执行 lint、日志脱敏门禁、类型检查、diff hygiene 和 tracked 污染物检查。 + +日志通过 `lib/observability` 结构化输出并脱敏。当前已纳管 `/api/chat` 主路由与拆分模块、存储/上传、认证、AI provider、Canvas 服务、图像标注、Scene Fusion、Pick Object、Tripo 3D、World Labs 等高风险链路。后续如果继续治理 Enhance、Angle Edit、Prompt Optimizer 等历史接口,应先加入 `scripts/check-log-hygiene.mjs`,再替换裸 `console.*`。 diff --git a/docs/release-readiness.md b/docs/release-readiness.md new file mode 100644 index 000000000..91b137bf6 --- /dev/null +++ b/docs/release-readiness.md @@ -0,0 +1,41 @@ +# yedir-ai 发布就绪检查清单 + +本文档用于在商业化部署、开源发布或创建 PR 前做最终核对。它记录的是当前仓库的可验证交付边界,不替代真实 CI 结果。 + +## 必跑检查 + +```bash +pnpm install --frozen-lockfile +pnpm check:quality +AUTH_TRUST_HOST=true PORT=3001 pnpm dev +SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm smoke:routes +``` + +预期: + +- `pnpm check:quality` 通过 lint、日志脱敏门禁、类型检查、diff hygiene 和 tracked 污染物检查。 +- `pnpm smoke:routes` 验证 `/` 返回 200。 +- `/classic` 和 `/chat/test-id` 重定向到 `/`。 +- `/settings` 未登录重定向到 `/login?callbackUrl=%2Fsettings`。 + +## 发布边界 + +- 旧 Chat UI 已移除;`/api/chat` 保留为 Canvas/Agent 内部生成 API。 +- `/settings` 本地 AI 设置已组件化,保存 key、SWR key 和业务 API 保持稳定。 +- 首页采用轻量壳优先渲染,个性化和公开数据渐进加载。 +- 高风险日志链路已纳入 `pnpm check:logs`,禁止回流裸 `console.*`。 +- CI 基础门禁与本地 `pnpm check:quality` 使用同一套污染物检查脚本。 + +## 不应在发布包中出现 + +- `.env.local`、真实密钥、OAuth code、Cookie、Authorization、签名 URL。 +- `.DS_Store`、swap 文件、`.claude/` worktree、migration backup、`tsconfig.tsbuildinfo`。 +- 新增公开入口指向 `/classic` 或 `/chat/[id]`。 +- 生产日志中输出完整 prompt、base64、图片 URL、第三方完整响应体或对象存储路径。 + +## 已知后续专项 + +- 远端 GitHub Actions 实跑结果需要在 push/PR 后确认。 +- Enhance、Angle Edit、Prompt Optimizer 等历史接口仍可继续分批纳入日志门禁。 +- Canvas/Agent 少数大型历史模块仍可继续领域化拆分,但不阻塞当前交付基线。 +- License 以仓库根目录 `LICENSE` 为准;如商业分发策略变化,应单独进行法律审查。