# yedir-ai 交付就绪审查摘要 日期:2026-05-27 本文档记录当前分支进入 PR / 商业化交付前的审查入口。它不是替代 CI 的结论,而是帮助 reviewer 快速理解本轮大改的边界、验证证据和剩余远端动作。 ## 当前分支状态 - 工作分支:`codex/admin-settings-ui-refactor` - 基线分支:当前分支配置的 upstream - 当前状态:ahead/behind 数以 `pnpm check:branch` 当前输出为准 - 本地工作区:干净 - Dry-run merge:`mergeConflictMarkers: 0` - 当前 PR 体量和非 merge 提交数以当前 upstream 对比输出为准 ## 主要交付范围 - 后台设置页:本地 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 检查。 - 生产构建:`pnpm build` 与数据库迁移解耦,重型工作台页面改为动态渲染,迁移脚本增加连接/整体超时,并新增独立 Build workflow 验证生产构建。 - 文档交付:README、部署、运维、架构、安全、贡献、支持、发布清单和依赖风险登记已按 `yedir-ai` 项目定位重写或补齐。 ## 已验证证据 ```bash git fetch origin --prune pnpm check:branch pnpm build SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release ``` 最近一次本地验证结果: - `pnpm check:branch` 通过,`behind 0`,`mergeConflictMarkers: 0`。 - `pnpm build` 通过;构建不再隐式连接数据库,`/flow-board` 与 `/product-planning` 不再在 build-time 静态生成超时。 - `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/db/migrate.ts`、`app/(chat)/flow-board/page.tsx`、`app/(chat)/product-planning/page.tsx`、`app/layout.tsx`。 6. 最后看日志治理和风险面:`lib/observability/*`、`scripts/check-log-hygiene.mjs`、高风险 API route 的 logger 替换。 ## 剩余远端动作 - Push 当前分支到 GitHub。 - 创建 PR,并在 PR 描述中粘贴本地验证证据。 - 如需远端验证,手动触发 GitHub Actions:基础质量门禁、Production Build、Dependency Audit、Playwright workflow。 - 根据 PR diff 做最后一次人工审查;如 GitHub Actions 与本地结果不一致,以远端 CI 为准处理。 ## 当前不包含的范围 - 不删除数据库历史 Chat / Message / Vote / Stream 数据结构。 - 不把 `/api/chat` 迁移为公开 API;它仍是内部生成链路。 - 不把所有历史 `console.*` 一次性清零;日志治理采用高风险链路分批纳管。 - 不解决所有 moderate / low 依赖告警;高/critical 是当前阻断线,剩余项由依赖风险登记持续跟踪。 - 不做法律层面的商业许可证调整;License 仍以仓库根目录 `LICENSE` 为准。