docs: add delivery readiness audit

This commit is contained in:
Your Name 2026-05-27 13:46:58 +08:00
parent a223d931a6
commit f569261359
2 changed files with 67 additions and 0 deletions

View File

@ -132,6 +132,7 @@ tests/ Playwright e2e and route-level tests
- [运维与质量门禁](docs/operations.md)
- [系统架构说明](docs/architecture.md)
- [发布就绪检查清单](docs/release-readiness.md)
- [交付就绪审查摘要](docs/delivery-readiness-audit.md)
- [依赖风险登记](docs/dependency-risk-register.md)
- [安全策略](SECURITY.md)
- [贡献指南](CONTRIBUTING.md)

View File

@ -0,0 +1,66 @@
# yedir-ai 交付就绪审查摘要
日期:2026-05-27
本文档记录当前分支进入 PR / 商业化交付前的审查入口。它不是替代 CI 的结论,而是帮助 reviewer 快速理解本轮大改的边界、验证证据和剩余远端动作。
## 当前分支状态
- 工作分支:`codex/admin-settings-ui-refactor`
- 基线分支:`github/main`
- 当前状态:`behind 0 / ahead 72`
- 本地工作区:干净
- Dry-run merge:`mergeConflictMarkers: 0`
- 当前 PR 体量:约 `191` 个文件变更,`71` 个非 merge 提交
## 主要交付范围
- 后台设置页:本地 AI 设置拆出导航、命令中心、section shell、状态 badge、领域 section 组件和共享类型,降低巨型设置页维护成本。
- 旧 Chat 清理:首页固定 Lovart 新首页,`/classic` 与 `/chat/[id]` 旧 UI 入口重定向到 `/`,`/api/chat` 保留为 Canvas/Agent 内部生成 API。
- 首页性能:Lovart 首页改为轻量壳优先,公开首页接口增加缓存、fallback、超时和基础性能观测。
- Canvas / Chat 工程化:拆分 `LovartHome`、`ImageNode`、`CanvasChatPanel` 和 `/api/chat` 的多个纯逻辑/展示模块,保留业务协议与调用方行为。
- 日志安全:新增结构化 logger、客户端 logger、脱敏工具和分批日志门禁,覆盖高风险 provider、上传、认证、Canvas 和部分生成链路。
- 仓库治理:清理 tracked 本地污染物,补齐 `.gitignore`、CI hygiene、secret/env/package metadata/test hygiene、dependency audit、release verification 和 branch readiness 检查。
- 文档交付:README、部署、运维、架构、安全、贡献、支持、发布清单和依赖风险登记已按 `yedir-ai` 项目定位重写或补齐。
## 已验证证据
```bash
git fetch github main --prune
pnpm check:branch
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
```
最近一次本地验证结果:
- `pnpm check:branch` 通过,`behind 0 / ahead 72`,`mergeConflictMarkers: 0`。
- `pnpm check:quality` 通过,覆盖 lint、日志脱敏、品牌、CI、env、secret、metadata、测试卫生、helper 测试、TypeScript、diff hygiene 和 tracked artifact。
- `pnpm audit:security` 通过 high/critical 门槛;当前剩余 `1 low / 44 moderate`。
- `pnpm smoke:routes` 通过:
- `/` 返回 `200`
- `/classic` 返回 `307` 到 `/`
- `/chat/test-id` 返回 `307` 到 `/`
- `/settings` 未登录返回 `307` 到 `/login?callbackUrl=%2Fsettings`
## Reviewer 建议审查顺序
1. 先看仓库治理与 CI:`package.json` scripts、`.github/workflows/*`、`scripts/check-*.mjs`、`docs/release-readiness.md`。
2. 再看产品入口变化:`app/(chat)/page.tsx`、`app/(chat)/classic/page.tsx`、`app/(chat)/chat/[id]/page.tsx`、`components/home/*`。
3. 然后看设置页工程化:`app/(admin)/settings/_components/*`、`app/(admin)/settings/_lib/*`、`admin-settings-client.tsx`。
4. 再看核心模块拆分:`app/(chat)/api/chat/_lib/*`、`components/canvas/chat-panel/*`、`components/canvas/nodes/image-node/*`。
5. 最后看日志治理和风险面:`lib/observability/*`、`scripts/check-log-hygiene.mjs`、高风险 API route 的 logger 替换。
## 剩余远端动作
- Push 当前分支到 GitHub。
- 创建 PR,并在 PR 描述中粘贴本地验证证据。
- 等待 GitHub Actions:基础质量门禁、dependency audit、Playwright workflow。
- 根据 PR diff 做最后一次人工审查;如 GitHub Actions 与本地结果不一致,以远端 CI 为准处理。
## 当前不包含的范围
- 不删除数据库历史 Chat / Message / Vote / Stream 数据结构。
- 不把 `/api/chat` 迁移为公开 API;它仍是内部生成链路。
- 不把所有历史 `console.*` 一次性清零;日志治理采用高风险链路分批纳管。
- 不解决所有 moderate / low 依赖告警;高/critical 是当前阻断线,剩余项由依赖风险登记持续跟踪。
- 不做法律层面的商业许可证调整;License 仍以仓库根目录 `LICENSE` 为准。