Files
xiaobaifupan/docs/migration/evidence/slice-11/uncertain-code-audit.md
T

6.4 KiB
Raw Blame History

切片 11:不确定代码审计日志

审计基线:dec3cd12365df5e7d4c391369f14c457cf56d7d9 恢复标签:xiaobai-preservation-slice-10-20260731 原则:只有静态引用、动态注册、运行路径和兼容责任同时排除后才试删;其余继续保留 当前状态:自动与人工验收均已通过,试删项于2026-08-01确认废弃

本日志记录试删前的原位置、内容指纹、证据、决定和恢复方式。试删阶段不等于永久废弃; 2026-08-01用户完成迁移版全部页面和功能人工检查,确认视觉与功能迁移成功,所见问题几乎都 属于原版遗留问题,未发现阻止验收的迁移回归。该人工结论关闭了本日志的最终确认门槛。

1. app/demo_data.py

  • 类型:旧演示行情构造器,376行、17,199字节。
  • SHA-256fb69682d499993534e7ee029989b35cf512c455eec49e07d7b09658cddd9e028
  • 静态引用:运行代码、配置、启动入口、Docker、页面及后台任务均没有导入或调用DEMO_LIMITSbuild_demo_dashboardbuild_demo_dragon_tigerbuild_demo_stock_detail
  • 动态/注册路径:没有模块名字符串、插件注册或反射加载。
  • 产品事实:app/README.md明确主行情不再回退演示数据;行情服务和Repository只负责排除历史source=demo缓存,未依赖本文件。
  • 兼容责任:不参与数据库schema、历史记录解释或配置读取。
  • 最终决定:确认废弃;切片10标签继续保留单项恢复能力。
  • 恢复:从切片10标签恢复app/demo_data.py

2. app/frontend/heaven-loading.js

  • 类型:旧版问天加载动画,642行、30,563字节。
  • SHA-256ee914762b893a89f745e9e705cac6840c1dbd6c5b68dc7a47620b8c4db3615c7
  • 静态引用:app/frontend/index.html只加载/pages/heaven/loading-v2.js,没有加载本文件。
  • 动态/注册路径:没有脚本清单、页面注册表或运行时代码引用旧路径;新旧文件虽然都导出window.HeavenLoadingCanvas,但浏览器只能执行v2。
  • 运行证据:切片10已覆盖观势、观气和观心解读加载动画,v2节点、动画名及可见行为与原版基线一致。
  • 兼容责任:不是数据库、配置或历史数据资产。
  • 最终决定:确认废弃;切片10标签继续保留单项恢复能力。
  • 恢复:从切片10标签恢复该文件。

3. 五个疑似无引用前端函数

全前端非供应商JavaScript逐词扫描后,下列符号都只有定义本身一次;HTML、页面注册表、事件绑定、字符串查找、测试入口和其他脚本均无消费者:

函数 位置 原用途线索 决定
commonReviewColumns frontend/shared/export.js 旧通用导出列定义;当前每个导出入口均显式传列 确认废弃
outcomeClass frontend/app.js 旧昨日涨停结果样式映射;当前渲染不调用 确认废弃
screenerResultMatchesSelection frontend/pages/screener/page.js 旧选股结果存在性包装;已由activeScreenerResultEntry直接承担 确认废弃
selectRegime frontend/pages/screener/page.js 旧阶段手动切换;当前阶段由盘后数据写入且无按钮绑定 确认废弃
showHeartRitualCurtain frontend/pages/heaven/page.js 旧观心幕帘过场;当前流程直接调用activateHeartRises 确认废弃

本次只删除这5个函数,不连带删除selectedRegimeheartRitualCurtain隐藏节点、heartCurtainTimer或相关CSS。后者与仍在使用的选股状态、观心节点和复合选择器相邻,尚不足以证明可独立删除,默认保留。

恢复:从切片10标签按上述文件恢复对应函数;源码映射可通过docs/migration/evidence/slice-10/frontend-source-map.json定位。

4. wencai_saved_queries及其方法

  • 类型:历史兼容数据表及用户隔离Repository方法。
  • 当前入口:问财前端和/api/wencai*已按用户决定取消;iFinD的wencai()能力仍由股池原因补全使用,但不依赖保存查询表。
  • 保留责任:数据库初始化仍创建表和用户索引;list_wencai_saved_queriessave_wencai_querydelete_wencai_saved_query保持已有数据可读取;test_ifind_features明确验证跨用户隔离。
  • 风险:当前数据库表为空不能证明所有用户历史库均为空;删除会改变62项schema契约并破坏旧库兼容。
  • 决定:保留,不试删。只有未来正式数据库迁移、导出/归档和用户批准同时具备时才允许移除。

5. 试删验收门槛

每次试删后必须同时满足:

  1. 全前端符号与资源引用扫描没有悬空消费者。
  2. 全部JavaScript通过node --check
  3. 原版231项测试继续通过,迁移版全量测试通过。
  4. 21个固定只读API与数据库schema/关键表差分继续一致;明确批准删除的运行外文件不应改变API或数据库。
  5. 45项Playwright通过,问天加载动画与智能选股流程无回归。
  6. 用户使用迁移版完成最终人工页面验收。

任一项失败时,按本日志指向的切片10标签恢复对应候选,不把其他已通过候选一起回退。

6. 试删后结果

  • 五个前端符号在全部非供应商JavaScript中的剩余引用均为0。
  • 运行代码中没有demo_data导入;页面只请求/pages/heaven/loading-v2.js
  • 24个现存前端JavaScript文件通过node --check
  • 原版231项、迁移版298项Python测试和45项Playwright全部通过。
  • 21个只读API、62个schema对象和21张关键表继续与原版一致。
  • 桌面日间/夜间及390x844移动端真实页面检查通过,问天三页和观气底部内容可达。
  • wencai_saved_queries及三个方法保持存在,并由清理契约测试持续保护。

7. 人工最终确认

  • 验收日期:2026-08-01。
  • 验收运行时:隔离端口8797与迁移审计数据库副本。
  • 验收范围:用户逐页浏览全部页面并测试全部可操作功能。
  • 验收结论:视觉与功能迁移成功;发现的问题几乎都是原版遗留问题,未发现阻止验收的迁移回归。
  • 删除结论:demo_data.py、旧问天加载文件和上述5个无消费者函数正式确认为废弃; wencai_saved_queries及证据不足的相邻DOM、状态和CSS继续保留。

确认废弃不取消恢复证据。若后续发现历史兼容责任,可从 xiaobai-preservation-slice-10-20260731按本日志记录单项恢复,不回退其他迁移成果。