ai-chatbot/docs/release-readiness.md
2026-05-27 21:14:52 +08:00

51 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# yedir-ai 发布就绪检查清单
本文档用于在商业化部署、开源发布或创建 PR 前做最终核对。它记录的是当前仓库的可验证交付边界,不替代真实 CI 结果。
## 必跑检查
```bash
pnpm install --frozen-lockfile
git fetch github main --prune
pnpm check:branch
AUTH_TRUST_HOST=true PORT=3001 pnpm dev
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
```
预期:
- `pnpm check:quality` 通过 lint、日志脱敏门禁、公开交付面品牌治理、CI hygiene、环境变量示例卫生、secret hygiene、package metadata、测试门禁卫生、轻量 helper 回归测试、类型检查、diff hygiene 和 tracked 污染物检查。
- `pnpm check:branch` 确认当前分支相对 `github/main` 没有 dry-run merge 冲突;behind main 会提示为 warning,发布前可用 `REQUIRE_UP_TO_DATE=true` 提升为失败。
- `pnpm audit:security` 输出已审计;如手动运行 Dependency Audit workflow,也应通过。若仍有 critical/high,必须在 [dependency-risk-register.md](dependency-risk-register.md) 中记录 remediation 或风险接受状态。
- `pnpm build` 完成生产构建,验证 Next.js route collection、静态/动态页面边界和构建期 TypeScript。
- `pnpm smoke:routes` 验证 `/` 返回 200。
- `/classic` 和 `/chat/test-id` 重定向到 `/`。
- `/settings` 未登录重定向到 `/login?callbackUrl=%2Fsettings`。
`pnpm verify:release` 会依次运行 `pnpm check:quality`、`pnpm audit:security`、`pnpm build` 和 `pnpm smoke:routes`。必须显式提供 `SMOKE_BASE_URL`,确保路由烟测指向本地、预发或生产中的明确目标。
## 发布边界
- 旧 Chat UI 已移除;`/api/chat` 保留为 Canvas/Agent 内部生成 API。
- `/settings` 本地 AI 设置已组件化,保存 key、SWR key 和业务 API 保持稳定。
- 首页采用轻量壳优先渲染,个性化和公开数据渐进加载。
- 高风险日志链路已纳入 `pnpm check:logs`,禁止回流裸 `console.*`。
- CI 基础门禁与本地 `pnpm check:quality` 使用同一套污染物检查脚本;GitHub Actions 当前采用手动触发,避免私有仓库免费额度被自动消耗。
- 安全披露、敏感信息和日志规则以根目录 `SECURITY.md` 为准。
- 分支、提交、PR 和验证要求以根目录 `CONTRIBUTING.md` 为准。
## 不应在发布包中出现
- `.env.local`、真实密钥、OAuth code、Cookie、Authorization、签名 URL。
- `.DS_Store`、swap 文件、`.claude/` worktree、migration backup、`tsconfig.tsbuildinfo`。
- 新增公开入口指向 `/classic` 或 `/chat/[id]`。
- 生产日志中输出完整 prompt、base64、图片 URL、第三方完整响应体或对象存储路径。
## 已知后续专项
- 远端 GitHub Actions 实跑结果需要在手动触发 workflow 后确认。
- 当前依赖 audit baseline 已清除 critical/high;moderate/low 和未来 advisories 继续通过 [dependency-risk-register.md](dependency-risk-register.md) 跟踪。
- Enhance、Angle Edit、Prompt Optimizer 等历史接口仍可继续分批纳入日志门禁。
- Canvas/Agent 少数大型历史模块仍可继续领域化拆分,但不阻塞当前交付基线。
- License 以仓库根目录 `LICENSE` 为准;如商业分发策略变化,应单独进行法律审查。