Files
cms-SiteForge/docs/COMPLETION_PLAN_ALIGNMENT_V7_1.md
T
浅念 8cea7dee20 chore: baseline V8.10.0-dev.1 with v8_workflows type-mapping fix and trade-pro spec
- SiteForge Enterprise V8.10.0-dev.1 upstream source (210 tests)
- Fix: v8_workflows._mapped_input now reads both 类型/分类 columns so WXR
  imports keep post/product types instead of collapsing to page
- Docs: trade-pro theme port spec (R3) and implementation plan

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-22 16:49:25 +08:00

55 lines
5.1 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.
# SiteForge 7.1.0 — 对照《COMPLETION_PLAN(1).md》优化结果
> 对照文件:用户提供《SiteForge 网站工厂 — 完整实现与生产落地计划》v2.0(2026-10-22)。
> 状态:**P0 代码修复及本地测试完成;真实 Docker / 云 CI / 浏览器网络访问 / 线上回滚尚待指定部署环境验收。**
> 注意:该计划评审的是 v5 源码及 v4 运行实例;本项目的实际起点是 **V7.0.0**。不应把计划中的 v5 数字直接改写成实际运行结论。
## 评审中的关键结论
1. **“代码更新 ≠ 生产部署已生效”**:保留生产实例的健康版本和提交标识对账,杜绝仅凭 ZIP 文件判断升级成功。
2. **P0 必须先修**:预览导航根路径 404、Compose 重复构建标签、Worker 错误继承 Web HTTP 探针、favicon、Linux CI 和离线恢复。
3. **安全底座不足仍是最高风险**:任意 URL 的 DNS 解析与重定向、数据导入包的 XXE/压缩炸弹、数据库只读权限、密钥引用策略,必须先在 P1 统一设计而非每个连接器各自实现。
4. **发布闭环尚未生产验收**:不可变构建、审批、原子发布、线上探测、回滚、CDN 控制需正式环境测试。
5. **多语言需要内容级映射**:仅克隆站点不能形成正确的翻译组/hreflang。
## 本次 P0 工作与验证证据
| 文档任务 | 实际修改 | 验证状态 |
|---|---|---|
| P0-1 平台/部署版本一致 | 平台改为 7.1.0;health 返回 `version` 与 `commit`;后台文字、Docker 标签、init 配置对应升级;Dockerfile 加 OCI revision 标签 | 本地 API / UI 代码测试通过;目标服务器镜像摘要仍需部署后对账 |
| P0-2 预览根链接 404 | `app/preview_rewrite.py`:仅在预览 HTTP 响应中改写 href/src/action/poster;绝对外站 URL 不动;静态 ZIP 原封不动 | 新增真实构建/TestClient 回归,检查 `/products/` 预览状态 200 |
| P0-3 Worker 健康检查 | 去除 Dockerfile 的 Web 专属内置探针;Web 仍检查 HTTP;Worker 使用 `/data/worker-heartbeat` 独立探针 | 单元及 Compose 结构测试通过;Docker Engine 未运行 |
| P0-4 favicon | 新增 `/favicon.ico` 真正文件与路由 | HTTP 测试 200 |
| P0-5 同镜像标签重复构建 | Web 唯一进行 build,Worker 引用同一镜像并依赖 Web 容器启动;本地 / 企业 Compose 同步调整 | Compose 结构测试通过;GitHub CI 新增单命令 `up -d --build` 冒烟,尚待 CI 云端运行 |
| P0-6 跨平台 CI | `scripts/check.sh` 与 `scripts/check.ps1`;CI 使用 Bash 检查 Python、所有 JS、pytest;增加 Docker Compose 双服务 healthy 冒烟 | Linux 本地 79 项通过;GitHub Actions 尚待在仓库运行 |
| P0-7 密钥卫生 | 保持 `.env`、`secrets/` 在 Git ignore / Docker ignore;初始化脚本不覆盖已有密钥 | 静态检查完成;真实环境密钥轮换须由管理员执行,不能从交付包代替生产凭据 |
| P0-8 备份恢复 | 新增 SQLite WAL 在线备份 → 独立目录恢复 → 核对站点与媒体的测试 | 本地隔离测试通过;真实 Docker 数据卷离线恢复演练待完成 |
## P0 的真实退出条件(仍需在你自己的 Docker 环境完成)
- 运行 `docker compose up -d --build`,**Web 和 Worker 均显示 healthy**。
- `/api/health` 返回 `7.1.0` 和你提供的 `SITEFORGE_GIT_SHA`(生产环境不应是 `unknown`)。
- 对目标镜像记录 `docker image inspect` 摘要,截图或保存启动日志。
- PC 1440、手机 390/360 登录、导航、构建、预览无失败。
- 在独立测试卷完成备份、恢复和回滚验证,不直接覆盖旧站正式数据。
- 轮换暴露过的管理员密码、会话密钥及发布 Agent 密钥。
## 后续开发顺序(依照原计划)
| 阶段 | 首先要完成的工程 | 完成门槛 |
|---|---|---|
| P1 | 显式 DB schema 迁移表、通用任务/审计、SSR F/DNS/重定向安全客户端、secret ID 引用、配额 | 故障注入与越权、私网请求拒绝测试通过 |
| P2 | WP REST/WXR/Sitemap 断点续跑、幂等、URL/SEO 基线、迁移会话 | 本地 WP 固定夹具 + 授权真实站匿名验收报告 |
| P3 | XML/API/只读 MySQL 连接器、导入暂存与批次回滚 | 5,000 条可恢复导入、失败不重复写入 |
| P4 | Schema 区块、整站主题包、兼容性预检、草稿与设备样式 | 多页面模板安装/回退和视觉回归通过 |
| P5 | SFTP/S3 不可变版本、审批、原子切换、线上探测 | 容器化部署/故障/回滚测试通过 |
| P6 | locale / translation_groups / hreflang | 多语言页面双向 hreflang 与 sitemap 一致 |
| P7 | PostgreSQL + 分布式队列高可用、SSO、监控、备份、SLO | 真实并发与灾备压测和安全审计 |
## 技术边界
- 本次未将当前 PostgreSQL 兼容层表述为正式数据迁移/高可用认证。
- 未声称官方 Art Design Pro 项目已构建:它仍以独立接入代码形式存在。
- 浏览器自动化在当前隔离环境访问本地 HTTP 返回 `ERR_BLOCKED_BY_ADMINISTRATOR`;这属于测试环境访问限制,**不作为页面已通过浏览器测试的证据**。
- Docker Engine 当前未安装,不能宣称 Compose 真正已启动。