Files
cms-SiteForge/docs/P0_P4_V8_9_VERIFICATION.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

53 lines
4.8 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 Enterprise V8.9 — P0–P4 优化及真实验收证据
**版本**:8.9.0-dev.1(2026-10-22)
**状态**:开发与离线集成测试已完成一轮;**不是 P0–P4 全部生产验收通过**。
## 已在当前环境验证的实际成果
| 阶段 | 具体修改 | 已执行验证 | 仍待完成 |
|---|---|---|---|
| P0 | 离线备份恢复先检查所有 ZIP 路径、范围、符号链接、SQLite 完整性;旁路暂存并目录切换;保存恢复前原目录 | 正常恢复、存在旧目录、损坏 DB、非法 ZIP 路径和保留原目录专项测试 | Docker Engine 一键启动、旧版本真实数据升级/回滚、管理员及 Session 密钥轮换、GitHub CI 真正运行 |
| P1 | 延续 V8.8 安全出网、密钥引用、限额、Worker 超时/幂等/取消/租约;本轮未声称做完 P1 所有基础设施 | 所有旧测试继续通过;回归建站、授权和任务接口 | 正式密钥轮换/吊销、完整可观测性及告警、数据库迁移注册表完备性与多 Worker 故障演练 |
| P2 | WordPress 额外识别 `img srcset/data-src/data-srcset`、`picture source srcset`、懒加载与视频 poster;仅安全同源图片自动下载;保留响应式尺寸描述、远端 CDI/跨域资源待复核 | 响应式媒体 URL 发现、重写保真、剩余 CDN 识别、既有迁移用例 | CSS `background-image`、私有附件、Elementor/ACF/WooCommerce 任意复杂结构、经授权真实 WP 站点全量迁移 |
| P3 | 构建器对产品品牌/分类预构建索引;商业就绪与静态 QA 流式扫描;真正用 5,000 条车型分 10 批提交及构建 | 5,000 条记录 10×500 完整提交(14.34s);静态构建产生 5,043 个 HTML(26.01s);优化后的独立质量扫描(6.5s,错误 0) | 多种数据形状压测(如 5000 个同分类页面)、真实 MySQL TLS/外部 API、并发导入及断点故障注入、商业 SEO 数据清洗 |
| P4 | 维持现有手机/平板独立列、草稿和整站模板发布;新增构建器索引缓存防止模板渲染多次遍历全库,静态 QA 防路径穿越 | 原有页面设计、事务、草稿/正式隔离测试持续通过 | 实际 360/390/1024/1440 浏览器截图/键盘操作/视觉回归,任意设备自由画布与全站历史撤销 |
## 5,000 条测试的注意事项
- 测试数据是**本地虚构车型数据**,并未连接真实 MySQL,也没有在 Docker 容器中执行。
- 用 10 批各 500 条执行真正的 `stage → commit`,不是只把测试数据插进数据库。合计 5,000 条记录。
- 静态构建成功生成 5,043 个 HTML 文件。质量扫描 `errors=0`,但原始测试数据有 **5,039 条 SEO/描述等 warning**;这意味着技术上可生成,不代表可以直接商业上线。
- **本轮后续修复**:新增每页 100 条的静态分页,包括同一分类和默认 `/products/` 产品中心。5,000 条同一分类的隔离数据库构建生成了 50 个分类分页、50 个产品中心分页,构建约 29.59 秒;该构建的独立 QA 约 6.67 秒,扫描 5,191 个 HTML,错误为 0,但保留 5,039 条内容/SEO 警告。未经正式内容清洗不得对外上线。
- 可复现的程序:`python scripts/pilot_5000.py --report pilot.json`。默认只执行 5,000 条导入,使用临时数据库,不覆盖现有数据;在独立大内存测试机加 `--build` 执行全部构建/QA,需单独验收耗时、资源峰值与 Worker 超时。
## 新代码位置
- `app/wp_migration_v82.py` — 图片候选、响应式 URL 改写与待复核。
- `app/theme_pro.py`、`app/builder.py` — 站点级商品/品牌/分类预计算。
- `app/commercial_readiness.py`、`app/quality.py` — 线性读取与静态 QA 路径索引。
- `scripts/restore_backup.py` — 离线预检、目录恢复及保留原目录。
- `scripts/pilot_5000.py` — 5,000 条独立验收脚本。
- `tests/test_p0_p4_completion_v89.py` — 回归测试。
## 发布门禁与运维限制
- **尚不能标记 P0–P4 生产验收全部完成**。开发代码没有目标服务器镜像摘要、跨浏览器体验、授权客户 CMS 全量迁移及故障恢复证据,不能代替这些检查。
- 生产恢复必须事先停止 Web/Worker。新恢复脚本仅适用于 SQLite 的单机卷;如果使用 PostgreSQL,需要独立 pg_dump / 迁移/恢复方案。
- 不应提前启用 P5 远程自动发布生产域名;必须先完成 P0–P4 的上线门禁并验证旧网址和 SEO。
## 实际验证步骤
```bash
python -m pytest -q
python scripts/verify_release.py
python -m compileall -q app scripts
bash scripts/check.sh
python scripts/pilot_5000.py --report pilot.json
# 仅在有 Docker Engine 的服务器执行:
docker compose up -d --build
curl -fsS http://127.0.0.1:8787/api/health
```
以上 Docker、真机浏览器及真实外部 WordPress/MySQL 步骤在本次执行环境**未完成**。