# 切片 11：不确定代码审计、全量验收与交接准备

> 基线：`dec3cd12365df5e7d4c391369f14c457cf56d7d9`
> 候选回档标签：`xiaobai-preservation-slice-11-candidate-20260731`
> 严格审计候选标签：`xiaobai-preservation-slice-11-audit-candidate-20260731`
> 跨日复验候选标签：`xiaobai-preservation-slice-11-audit-candidate-20260801`
> 独立维护候选标签：`xiaobai-preservation-slice-11-audit-candidate-standalone-20260801`
> 最终完成标签：`xiaobai-preservation-complete-20260801`
> 当前结论：自动与用户人工验收均已完成；本地迁移交付完成，尚未执行正式切换、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` | 305项通过 |
| 历史切片与前端/清理专项复核 | 通过 |
| 迁移版JavaScript语法检查 | 24个文件通过 |
| `npx.cmd playwright test --reporter=dot` | 45项通过（1.6分钟） |
| 固定只读API差分 | 21个端点全部一致 |
| 数据库差分 | 62个schema对象、21张关键表全部一致 |
| `git diff --check` | 通过 |

2026-08-01 01:19（Asia/Shanghai）跨日复验时，原版与迁移版共用的实时详情测试暴露出
测试夹具依赖运行日的问题：夹具在周六动态生成“今日”，而业务正确拒绝在非交易日合并实时
行情。两版测试夹具同步固定到明确的工作日盘中/盘前时点，产品代码与行情日期规则未改。
修复后统一验收命令再次通过302项测试、24个JavaScript文件、SQLite完整性和45项Playwright
（2.0分钟）。

早期切片的五个前端源码测试原本要求与未试删的`static/app.js`逐字符一致。本切片验收时曾通过
行号回放机制限制未登记改动。完成全站人工验收及前端所有权治理后，该过渡机制已退役；当前由
运行时注册表、唯一所有者、DOM/API契约、JavaScript语法检查和Playwright行为回归持续守门。

完整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`。

后续独立性审计把仅含`app/`的Git导出放到系统临时目录：运行模块全部解析到导出内部，统一
维护命令通过242项候选自有测试、两个注册表、24个JavaScript文件和SQLite完整性检查，并明确
跳过不存在的Git工作区。正式仓库继续执行全部保真差分，最终为305项Python测试和45项
Playwright通过。架构热点字节数已改为换行归一化后的UTF-8大小，Windows CRLF与Git/Linux LF
不会再制造假差异。

## 3. 真实浏览器验收

- 桌面端复核情绪周期、智能选股三个工作区、问天日间/夜间和加载资源；控制台无新增
  error或warn，页面无横向溢出。
- 问天只加载`/pages/heaven/loading-v2.js`，未请求已试删的`/heaven-loading.js`。
- 观势、观气、观心星空与八卦节点、原动画名称和可见行为保持不变。
- `390x844`逐一点击涨停池、智能选股、问师、问天、我的复盘五个移动入口；底部导航固定，
  页面均可完整纵向滚动且没有文档级横向溢出。
- 观势、观气、观心三页均复核；观气滚动到底后“个人合参”和“五行对应行业”可达。
- 同账号、同数据库快照、同主题和同视口下，原版与迁移版问天布局和计算样式一致。

机器可读记录见`browser-acceptance.json`。截图和更广的桌面/移动基线继续沿用切片10证据目录。
切片10截图的事后像素复核见`screenshot-pixel-audit.json`；九组有效截图平均色差低于0.3/255，
集合竞价候选图因登录状态失效被明确排除，未作为自动截图证据。2026-08-01用户随后在`8797`
真实登录状态下逐页检查全部页面并测试全部功能，确认视觉与功能迁移成功；所见问题几乎都
属于原版遗留问题，未发现阻止验收的迁移回归。完整人工结论见`manual-acceptance.md`。

## 4. 数据与部署边界

- API/数据库比较使用两个隔离副本：`slice11-final-original`与`slice11-final-migrated`。
- 没有写入根目录正式`data/review.db`，没有修改`.env`或私有Skill。
- 没有占用`8765`，没有执行Docker构建、NAS测试或服务器切换。
- `app/`已经完成本地迁移验收；原版根目录仍是当前部署基线和切换前回档来源。
- `next/`保持冻结，没有作为代码、样式、测试或文档来源。

## 5. 回档与最终确认

2026-08-01用户完成全部页面和功能人工验收，确认迁移在视觉和功能上成功，并确认人工检查中
发现的问题几乎都属于原版遗留问题。切片11的2个文件和5个无消费者函数据此从“候选试删”改为
“确认废弃”；恢复标签继续保留作历史兼容应急，不代表删除结论仍待裁决。

本地迁移收尾已执行：

1. 试删候选状态改为“确认废弃”。
2. 建立最终完成标签并推送Gitea。
3. `app/`作为后续结构治理的唯一开发目录。

正式数据库、原版部署、Docker和NAS仍未切换；切换时间与根目录清理必须由用户另行批准。

人工维护、验证、切换和回退步骤见`docs/migration/人工维护与本地切换指南.md`。
