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

5.1 KiB
Raw Blame History

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 真正已启动。