# 本地迁移预检证据

日期：2026-07-30

## 范围

- 新版地址：`http://127.0.0.1:8877`
- 新版数据库：`next/data/local-preflight/xiaobai-normalized-v7.db`
- 旧版`8765`未启动、未占用；旧版源码仅修复静态首页被API权限注册表误拦截的既有回归，
  未增加产品功能。
- 本轮未连接NAS，未执行Docker构建或容器切换。

## 迁移校验

- SQLite integrity：`ok`
- schema版本：12
- 用户：3；自选：6；复盘笔记：3；问师消息：28；问天记录：31；策略跟踪：16
- 旧库250条选股运行记录归一为107条有效归档：内置策略映射到当前36套目录的稳定ID，同日同策略同版本重复执行只保留最新一条；被去重运行关联的跟踪记录重映射到保留记录。
- 内置阶段/精选结果改为系统共享归档；未知或用户自建策略继续保留原账号归属。旧“多因子综合打分(IC动态加权)”按当前产品口径显示为“动态多因子（基础版）”。
- 未映射旧表：0；未映射快照类型：0；外键异常：0
- 情绪快照按真实交易日去重；旧金额单位、涨跌停字段、情绪样本和个人出生信息已转换为新版契约。

## 真实浏览器

- 管理员会员`leefer`：同时显示管理员、会员；后台刷新和系统管理可见。
- 会员非管理员`xiaobai`：仅显示会员；后台刷新和系统管理不可见。
- 普通用户`ceshi`：显示普通用户；后台刷新和系统管理不可见；智能选股、问师、问天和复盘助手保持完整灰态结构。
- 默认数据日期：`2026-07-30`；情绪周期温度34、退潮、20条交易日明细。
- 涨停池56、炸板池23、跌停池83、昨日涨停81；复盘自选6；问师24位思维模型。
- 龙虎榜`2026-07-24`归档：70只上榜股票、244条操作、23位活跃游资。`2026-07-29`和`2026-07-30`源缓存为空，不冒充解析结果。
- 系统管理任务失败只显示“收盘行情读取失败，已保留原有快照”，不显示内部错误码或元组。

## 分辨率与持久化

- 1920×1080：情绪、轮动、智能选股、问天、复盘、系统管理均整页纵向滚动且无横向溢出。
- 3840×2160：内容区最大宽度2200px，居中且无横向溢出，基础字号不随视口缩放。
- 390×844：侧栏隐藏、底部导航和移动上下文栏显示；表格转卡片；交互控件触控高度不低于44px；长页切换工作区会回到新页顶部，前进/后退仍恢复历史位置。
- 停止并重启`8877`后：健康检查通过，管理员会话、默认日期、20行情绪明细、6只自选和系统配置保持。

## 真实备份恢复演练

- 对运行中的`xiaobai-normalized-v7.db`使用SQLite在线备份API生成一致归档，归档共11个文件，包含数据库、环境文件和9个私有Skill文件。
- 将归档恢复到全新`restore-drill-v7/`目录；源库和恢复库完整性均为`ok`，schema均为12。
- 两库关键记录逐表一致：用户3、会员3、自选6、复盘3、问师28、问天31、选股归档107、策略跟踪16、市场摘要22、市场洞察48、模型3、系统凭据2。
- 恢复目录在独立端口`8878`以生产模式启动，真实管理员会员会话、默认日期、情绪归档和6只私有自选可读；停止并重启后再次读取一致。演练结束后已关闭`8878`，仅保留`8877`。
- 本机未安装Docker CLI或Docker Desktop，因此没有把上述进程级恢复演练冒充为容器验证；Docker镜像、只读根文件系统和数据卷重启仍是NAS/预发布切换阻断项。

## 自动质量门

- Ruff：通过
- pytest：113项通过
- Vue类型检查：通过
- Vitest：7项通过
- Vite生产构建：通过
- Playwright：26项通过；在隔离测试数据库中重跑，包含注册、权限、16工作区、日夜、390px、长页路由复位和4K结构断言。

## 旧版并行可运行性

- 使用独立空数据目录和临时端口`8890`启动旧版，未读取或写入真实旧库，也未占用正式端口`8765`。
- `/api/health`返回`200 application/json`，静态首页`/`返回`200 text/html`。
- 发现并修复旧版既有回归：API权限注册表曾错误处理静态路径，使首页返回404；现仅`/api/*`
  进入权限注册表，静态资源仍由原静态服务处理。
- 旧版全量基线为231项测试和32项subtest全部通过；静态首页绕过API注册表有直接回归测试。

## 未关闭项

- 4K信息密度和审美仍需用户人工确认。
- Docker/NAS镜像构建、容器级数据卷持久化、镜像回退和正式切换未执行；真实数据库的非容器备份恢复与重启已通过。
- 旧运行时与一次性迁移器在正式切换和回退保留期结束前不清理。
