docs: add release readiness checklist

This commit is contained in:
Your Name 2026-05-27 11:16:05 +08:00
parent 869d8b2ce8
commit f6d908f050
3 changed files with 47 additions and 6 deletions

View File

@ -110,6 +110,7 @@ tests/ Playwright e2e and route-level tests
- [部署指南](docs/deployment.md) - [部署指南](docs/deployment.md)
- [运维与质量门禁](docs/operations.md) - [运维与质量门禁](docs/operations.md)
- [系统架构说明](docs/architecture.md) - [系统架构说明](docs/architecture.md)
- [发布就绪检查清单](docs/release-readiness.md)
## 开发边界 ## 开发边界

View File

@ -69,10 +69,9 @@ Postgres 是主数据源。连接池默认使用有限连接数、短连接超
主质量门禁包括: 主质量门禁包括:
- `pnpm lint` - `pnpm check:quality`
- `pnpm check:logs` - `pnpm smoke:routes`,需要先启动目标环境
- `pnpm exec tsc --noEmit --pretty false`
- `git diff --check`
- tracked 污染物检查
日志通过 `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.*`。

41
docs/release-readiness.md Normal file
View File

@ -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` 为准;如商业分发策略变化,应单独进行法律审查。