Files
xiaobaifupan/docs/migration/保真迁移账本.md
T

11 KiB
Raw Permalink Blame History

小白复盘保真迁移账本

当前状态:正式迁移,切片05“集合竞价、题材库、人气热榜与龙虎榜”已完成

本账本是上下文恢复和人工审计的连续记录。任何迁移提交必须在同一提交中更新本文件及 保真迁移状态.json

固定事实

  • 原版根目录是唯一产品和视觉基线。
  • next/已被用户否决并冻结,不进入后续迁移。
  • 新目标目录由用户批准为app/,最终作为正式程序目录。
  • 后续采用原代码保真式迁移,不重新实现,不更换技术栈。
  • 2026-07-30用户授权在既定约束内自主完成全部迁移,阶段性差异仍必须阻断后续切片。

当前检查点

日期 提交或标签 事件 结论
2026-07-30 xiaobai-next-rejected-20260730 冻结失败的next/实现 禁止部署或继续开发
2026-07-30 xiaobai-preservation-migration-charter-20260730 建立保真迁移总纲、状态和恢复协议 尚未开始新迁移
2026-07-30 41329943c4878fc09ed82ec376eb93ab151e4092 完成只读资产清查并由用户批准app/结构 开始切片00
2026-07-31 xiaobai-preservation-slice-01-20260731 启动、HTTP、账号、会员与系统管理原实现归位 自动差分通过,进入切片02
2026-07-31 xiaobai-preservation-slice-02-20260731 公共行情、搜索、详情、图表与数据适配原实现归位 自动与浏览器差分通过,进入切片03
2026-07-31 xiaobai-preservation-slice-03-20260731 情绪周期、五类股池与涨停表现原实现归位 自动、API与浏览器差分通过,进入切片04
2026-07-31 xiaobai-preservation-slice-04-20260731 市场天梯与板块轮动原实现归位 自动、API与浏览器差分通过,进入切片05
2026-07-31 xiaobai-preservation-slice-05-20260731 集合竞价、题材库、人气热榜与龙虎榜原实现归位 自动、API、数据库与浏览器差分通过,进入切片06

资产处置登记

开始清查后,每个资产必须登记,禁止只记录已迁移项而遗漏未处理项。

原位置/符号 类型 消费者 处置 新位置 等价证据 状态
原版运行源文件(排除next/、日志、缓存、构建产物和正式数据库) 运行资产 全站 原样保留后逐项移动 app/ 388项受控资产哈希一致;231项Python与45项Playwright测试通过 已复制
next/ 失败实现 无正式消费者 原样保留但禁止迁移 - 用户冻结决定 已冻结
demo_data.py 疑似旧兼容代码 未发现运行导入 待定 待删隔离账本 静态扫描不足以授权删除 保留
static/heaven-loading.js 疑似旧动画 当前页面加载heaven-loading-v2.js 待定 待删隔离账本 仍需动画运行覆盖 保留
commonReviewColumns等5个前端函数 疑似无引用符号 未发现静态调用 待定 待删隔离账本 仍需动态注册与浏览器覆盖 保留
wencai_saved_queries及其方法 历史兼容数据 当前无前端入口 待定 数据库兼容区 不允许在迁移期破坏旧库 保留
现有7层CSS 视觉运行资产 全部页面和主题 原样保留后逐页归档 app/frontend/ 必须通过截图与计算样式差分 保留
sentiment_engine.py 情绪周期计算 总览、轮动、选股 移动并保留兼容别名 app/backend/features/sentiment/engine.py 文件哈希与原版一致;248项Python与45项Playwright通过 已移动
DashboardService情绪及股池原因方法 业务服务 情绪页、五类股池、涨停表现 按职责机械移动 app/backend/features/sentiment/app/backend/features/pools/ 8个方法AST与原版一致;真实API完全一致 已移动
ReviewDatabase原因覆盖方法 持久化 股池原因人工覆盖 按职责机械移动 app/backend/features/pools/repository.py 2个方法AST与原版一致;数据库schema哈希一致 已移动
DashboardService板块轮动方法 业务服务 板块轮动页 按职责机械移动 app/backend/features/rotation/service.py 2个方法AST、真实API与原版一致 已移动
Tushare天梯与轮动构造函数 公共数据计算 市场天梯、板块轮动 原位置保持唯一实现 app/backend/data/providers/tushare_client.py 2个构造函数AST与原版一致 已归位
MarketInsightsService 共享市场洞察服务 集合竞价、题材库、人气热榜 整体机械移动,保留唯一共享实现 app/backend/features/market/insights.py 22个方法AST与原版一致;根级模块为同一类对象别名 已移动
DashboardService竞价、题材、人气与龙虎榜方法 业务服务 切片05四类页面与API 按职责机械移动 app/backend/features/auction/themes/popularity/dragon_tiger/ 8个方法AST、7个真实API与原版一致 已移动
ReviewDatabase竞价、人气与龙虎榜方法 持久化 市场洞察及后续智能选股 按职责机械移动并保持Mixin原接口 app/backend/features/auction/repository.pypopularity/repository.pydragon_tiger/repository.py 7个方法AST一致;62个schema对象及5张关键表逐行一致 已移动
Tushare游资名录与龙虎榜实现 公共数据计算 龙虎榜与游资档案 原位置保持唯一实现 app/backend/data/providers/tushare_client.py 2个方法AST与原版一致 已归位

处置只允许:原样保留移动合并重复待定确认废弃

切片记录

每个切片记录以下内容:原版基线、复制范围、必要路径调整、差异测试、人工验收、未关闭问题和回档提交。 已完成切片:slice-00-exact-runtime-copy

  • 原版基线:提交41329943c4878fc09ed82ec376eb93ab151e4092
  • 复制范围:确认参与运行、测试、部署和维护的原版文件;排除next/和运行产物。
  • 允许改动:新目录中的路径配置、测试根目录和端口;不得改业务实现。
  • 验收:新目录独立启动,231项Python测试、45项Playwright测试、数据库副本和静态资产哈希验证。
  • 回档:本切片建立独立Git提交并推送Gitea。
  • 完整证据:docs/migration/evidence/slice-00/README.md
  • 资产清单:docs/migration/原版资产清单.json388项,0项哈希差异。

已完成切片:slice-01-startup-http-accounts-system

  • 原版基线:提交4083dce,即切片00原样副本。
  • 迁移范围:进程入口、应用组装、HTTP传输、账号安全、账号/会员业务、账号/系统设置持久化。
  • 兼容边界:根级server.pyapp_config.pysecurity.py继续保留原导入和命令入口。
  • API与数据库:API/功能注册表哈希一致;原版与副本数据库均为36表、62个schema对象且schema哈希一致。
  • 验收:236项Python测试、5项切片专项测试、45项Playwright测试全部通过;前端运行资产未改动。
  • 回档:标签xiaobai-preservation-slice-01-20260731
  • 完整证据:docs/migration/evidence/slice-01/README.md

已完成切片:slice-02-market-search-charts-data

  • 原版基线:提交4002f09,即切片01回档点。
  • 迁移范围:30个公共行情服务方法、11个行情持久化方法及Tushare/iFinD/图表/实时观察实现。
  • 兼容边界:四个根级数据模块保留模块别名;未迁移功能继续使用旧导入且指向同一实现。
  • 等价证明:41个方法AST逐项一致,三个数据文件哈希一致,图表定义AST一致,静态资产哈希一致。
  • 验收:241项Python测试、6项切片源码等价测试、45项Playwright测试及真实服务搜索/详情流程通过。
  • 既存状态:原版和迁移版的实时分时在当前环境均返回相同外部请求失败,不作为迁移回归处理。
  • 回档:标签xiaobai-preservation-slice-02-20260731
  • 完整证据:docs/migration/evidence/slice-02/README.md

已完成切片:slice-03-sentiment-pools-performance

  • 原版基线:提交a426432,即切片02回档点。
  • 迁移范围:情绪计算引擎、2个情绪服务方法、6个股池原因与iFinD事件补全方法、2个原因覆盖持久化方法。
  • 兼容边界:根级sentiment_engine.py保留同一模块对象别名;股池生成仍使用切片02的原Tushare总览实现。
  • API与数据库:原版8784和迁移版8785的总览、情绪历史JSON完全一致;两库schema均为62项且哈希一致。
  • 验收:248项Python测试、6项切片源码等价测试、45项Playwright测试及六个真实页面流程通过。
  • 回档:标签xiaobai-preservation-slice-03-20260731
  • 完整证据:docs/migration/evidence/slice-03/README.md

已完成切片:slice-04-ladder-rotation

  • 原版基线:提交b3555d2,即切片03回档点。
  • 迁移范围:2个板块轮动服务方法;市场天梯继续使用切片02已归位的原Tushare数据构造实现。
  • 兼容边界:DashboardService通过RotationServiceMixin保持所有原调用;天梯不制造空服务或第二套计算。
  • API与错误:天梯与9日轮动历史JSON完全一致;成分股两版均返回同一Tushare外部失败语义。
  • 验收:252项Python测试、4项切片源码等价测试、45项Playwright测试及两个真实页面流程通过。
  • 回档:标签xiaobai-preservation-slice-04-20260731
  • 完整证据:docs/migration/evidence/slice-04/README.md

已完成切片:slice-05-auction-themes-popularity-dragon-tiger

  • 原版基线:提交814e757,即切片04回档点。
  • 迁移范围:共享市场洞察服务、竞价/题材/人气入口、龙虎榜与游资档案服务、7个相关持久化方法。
  • 兼容边界:根级market_insights.py保留同一类对象别名;竞价与人气共用候选热度逻辑,不复制第二套实现。
  • API与数据库:7个真实API逐字段一致,仅排除每次请求必然变化的request_id;62个schema对象与5张关键表完全一致。
  • 验收:258项Python测试、6项切片源码等价测试、45项Playwright测试及四个真实页面流程通过。
  • 回档:标签xiaobai-preservation-slice-05-20260731
  • 完整证据:docs/migration/evidence/slice-05/README.md

决策记录

日期 决策 原因
2026-07-30 原版运行行为优先,规格书只用于盘点 防止再次依据文字重新开发
2026-07-30 不使用next/作为后续迁移起点 用户确认其视觉、布局和基础功能不可用
2026-07-30 目标结构确认前不创建业务目录 防止目录先行后再次补写功能
2026-07-30 目标目录确定为app/ 使用长期正式名称,不再建立新的版本式重写目录
2026-07-30 先建立原样可运行副本,再迁移目录职责 保证整理的是原件,而不是依据规格书重新实现
2026-07-30 不确定代码进入待删账本并延迟试删 删除必须能够单独回档并经自动与人工验收

恢复工作检查

  • 已阅读AGENTS.md与保真迁移总纲。
  • 已读取状态JSON和本账本最后一项。
  • 已确认Git工作区和基线提交。
  • 已确认没有修改next/或正式数据。
  • 已说明当前切片及新旧等价证据。
  • 已在编辑前确认没有未关闭差异。