Files
xiaobaifupan/docs/migration/evidence/slice-11/README.md
T

88 lines
4.9 KiB
Markdown

# 切片 11:不确定代码审计、全量验收与交接准备
> 基线:`dec3cd12365df5e7d4c391369f14c457cf56d7d9`
> 候选回档标签:`xiaobai-preservation-slice-11-candidate-20260731`
> 严格审计候选标签:`xiaobai-preservation-slice-11-audit-candidate-20260731`
> 当前结论:自动验收完成,等待用户人工验收;尚未执行正式切换、Docker或NAS部署
## 1. 本切片做了什么
本切片不增加功能、不调整视觉,也不继续拆分业务代码。它逐项审计切片10保留的待定资产,
把有完整证据的无效实现放入可单独回档的试删候选,并为人工接管和后续切换准备文档。
试删候选:
- `app/demo_data.py`:没有运行导入、动态注册、数据库或配置责任的旧演示数据构造器。
- `app/frontend/heaven-loading.js`:页面未加载的旧问天动画;正式入口继续使用
`frontend/pages/heaven/loading-v2.js`
- 五个只有定义、没有消费者的前端函数:`commonReviewColumns``outcomeClass`
`screenerResultMatchesSelection``selectRegime``showHeartRitualCurtain`
明确保留:
- `wencai_saved_queries`表及三个Repository方法。它们承担历史数据库兼容和用户隔离责任,
当前库为空不能证明其他部署库也为空。
- 与试删函数相邻但证据不足的DOM、状态字段和CSS。没有为追求行数继续连带删除。
逐项指纹、引用扫描、责任判断和恢复位置见`uncertain-code-audit.md`
## 2. 自动验证结果
| 验证 | 结果 |
|---|---:|
| 原版`python -m unittest discover -s tests -q` | 231项通过 |
| 迁移版`python -m unittest discover -s tests -q` | 302项通过 |
| 历史切片与前端/清理专项复核 | 通过 |
| 迁移版JavaScript语法检查 | 24个文件通过 |
| `npx.cmd playwright test --reporter=dot` | 45项通过(1.6分钟) |
| 固定只读API差分 | 21个端点全部一致 |
| 数据库差分 | 62个schema对象、21张关键表全部一致 |
| `git diff --check` | 通过 |
早期切片的五个前端源码测试原本要求与未试删的`static/app.js`逐字符一致。本切片把它们统一到
`preservation_helpers.assert_frontend_runtime_matches_audited_baseline`:只允许审计登记的五段原始
行号被删除,任何其他新增、删除、重排或内容变化仍会使全部历史测试失败。
完整API和数据库结果分别见`api-diff.json``database-diff.json`,二者`all_equal`均为`true`
严格完成审计另外验证了候选维护工具本身:API注册表和候选架构清单均可生成并执行
`--check`;24个前端脚本全部由统一命令发现;迁移期写入工具必须显式指定输出或`--apply`
Windows下Playwright托管Python静态服务器会在45项执行后不退出,统一验证器现改为显式启动、
探活和停止8876;最终同一命令正常退出并明确报告`45 passed`。四项维护工具契约测试使迁移版
总数从298增加到302。逐项目标矩阵见`completion-audit.md`
## 3. 真实浏览器验收
- 桌面端复核情绪周期、智能选股三个工作区、问天日间/夜间和加载资源;控制台无新增
error或warn,页面无横向溢出。
- 问天只加载`/pages/heaven/loading-v2.js`,未请求已试删的`/heaven-loading.js`
- 观势、观气、观心星空与八卦节点、原动画名称和可见行为保持不变。
- `390x844`逐一点击涨停池、智能选股、问师、问天、我的复盘五个移动入口;底部导航固定,
页面均可完整纵向滚动且没有文档级横向溢出。
- 观势、观气、观心三页均复核;观气滚动到底后“个人合参”和“五行对应行业”可达。
- 同账号、同数据库快照、同主题和同视口下,原版与迁移版问天布局和计算样式一致。
机器可读记录见`browser-acceptance.json`。截图和更广的桌面/移动基线继续沿用切片10证据目录。
## 4. 数据与部署边界
- API/数据库比较使用两个隔离副本:`slice11-final-original``slice11-final-migrated`
- 没有写入根目录正式`data/review.db`,没有修改`.env`或私有Skill。
- 没有占用`8765`,没有执行Docker构建、NAS测试或服务器切换。
- 原版根目录仍是正式运行基线;`app/`只是等待人工验收的候选。
- `next/`保持冻结,没有作为代码、样式、测试或文档来源。
## 5. 回档与最终确认
切片11提交和两个候选标签只代表“候选可验收”,不代表删除已被永久确认。人工验收前可按
`uncertain-code-audit.md`从切片10标签单独恢复任一候选;不需要回退其他已通过迁移切片。
用户人工确认后才允许:
1. 把试删候选状态改为“确认废弃”。
2. 建立最终完成标签。
3. 决定本地或Docker正式切换时间。
4. 另行制定根目录兼容外壳和旧实现的清理计划。
人工维护、验证、切换和回退步骤见`docs/migration/人工维护与本地切换指南.md`