Files
xiaobaifupan/next/docs/final/legacy-cleanup-plan.md
T

5.2 KiB

旧实现清理方案(已作废,禁止执行)

next/已被用户否决。禁止依据本方案删除原系统任何代码、容器或数据。权威冻结决定见 ../../../docs/migration/next失败冻结记录.md

本文只定义正式切换后的清理边界,不授权当前阶段删除旧代码、旧容器或旧数据。 清理目标是让仓库最终只保留 next/ 新系统及不可替代的产品和研究资产,不保留两套运行时。

执行前置条件

以下条件必须全部成立:

  1. NAS 已使用固定镜像标签在临时端口完成构建、迁移、重启和恢复演练。
  2. 新系统已完成真实账号、权限、行情、竞价、盘后选股、LLM、问天和私有复盘抽验。
  3. 正式流量切换后至少完整经历一个交易日,包括盘前、竞价、盘中、收盘刷新和盘后任务。
  4. 观察期内没有触发登录、私有数据错绑、行情不可读、持续 5xx 或后台任务连续失败等回退条件。
  5. 旧镜像、旧容器配置、旧数据库、固定加密密钥和私有 Skill 已形成一致性归档,并完成独立恢复。
  6. 用户明确批准旧实现清理。NAS 切换确认不自动等于删除确认。

永久保留

资产 位置 原因
新系统 next/ 唯一正式运行时
完整产品规格 docs/product/ 从零重建的产品真相源
迁移章程 docs/migration/ 架构约束和历史决策依据
蒸馏研究素材 游资skills/ Skill 的研究来源,不进入正式运行时
Git 历史和最终旧版标签 .git/ 精确回档和审计依据
仓库忽略规则 .gitignore 保护数据库、密钥、日志和生成物不被提交

公开运行 Skill 的唯一副本位于 next/config/mentor-skills/游资skills/只作为研究档案, 不得在新系统运行时读取。管理员私有 Skill 只保存在 NAS 持久化数据目录和加密备份中。

切换后删除的旧运行时

以下路径在删除确认后进入同一个独立提交,不分批留下半套旧系统:

  • 旧后端与依赖:backend/vendor/、根目录全部旧业务 *.py
  • 旧前端:static/、根目录 package.jsonpackage-lock.jsonplaywright.config.js
  • 旧配置与测试:config/tests/tools/
  • 旧部署入口:根目录 Dockerfilecompose.yaml.dockerignore.env.examplerequirements.txt
  • 已被新文档取代的旧说明:根目录 README.mdARCHITECTURE.mdDOCKER_DEPLOY.mdREDESIGN_PLAN.mdSTAGE19_ACCEPTANCE.mdTHIRD_PARTY_NOTICES.mddocs/governance/
  • 已在 next/config/heaven/ 中存在权威副本的 data/iching_zh.json

根目录旧业务 Python 文件包括:

advanced_strategies.py  alert_service.py       api_access.py
app_config.py           assistant_agent.py     chart_data_provider.py
database.py             demo_data.py           heaven_agent.py
heaven_engine.py        ifind_client.py         llm_strategy.py
llm_stream.py           market_insights.py      mentor_agent.py
realtime_aggregator.py  screener.py             security.py
sentiment_engine.py     server.py               strategy_tracking.py
sync_data.py            trade_journal.py        tushare_client.py

数据与密钥处理

data/review.db、旧 .env、数据库 WAL/SHM 文件和旧容器数据卷从来不进入 git rm。 它们按以下顺序处理:

  1. 停止旧系统写入并通过 SQLite 在线备份取得一致数据库。
  2. 将数据库、旧环境文件、旧镜像标签和容器配置写入加密归档并校验 SHA-256。
  3. 在独立目录恢复归档,验证旧镜像能够启动并读取账号和私有记录。
  4. 在约定回退保留期内只停止旧容器,不删除旧容器、镜像或数据卷。
  5. 回退保留期结束且用户再次确认后,才从 NAS 工作目录移除旧明文副本;加密归档继续保留。

一次性迁移代码

next/tools/legacy_migration.pynext/tests/test_legacy_migration.py 只服务旧库切换, 不是长期运行时能力。旧系统回退保留期结束、最终迁移报告归档且旧明文数据库移除后, 二者应在单独提交中删除;next/docs/evidence/stage-14/real-migration-report.json继续保留。 备份、恢复和正式数据库 migration 工具仍属于新系统维护能力,不删除。

清理提交验收

清理必须在新分支或新提交中一次完成,并满足:

  1. 给清理前提交打不可变标签,记录旧版和新版镜像标签及数据库校验和。
  2. next/ 不得导入或读取任何已删除路径;允许的外部引用只限产品规格和迁移章程文档。
  3. 从全新 Git 检出执行 Ruff、pytest、Vue 类型检查、Vitest、生产构建和 Playwright 全量回归。
  4. 从全新 Git 检出在 NAS 构建镜像,证明构建上下文不依赖工作区残留文件。
  5. 新容器使用恢复后的数据卷启动,重启后账号、私有记录和后台任务状态不丢失。
  6. git status为空,仓库中不存在第二个 server.py、第二套前端 Shell、第二套 CSS 令牌、 第二个数据网关或第二个 LLM 网关。

任一验收失败时,回退整个清理提交,不在残缺状态下逐文件补救。