Files
quant-os/MIGRATION.md
T

94 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Quant OS 独立仓迁移记录
迁移日期:2026-07-30
## 目标位置
- 本地:`/Users/zhangbiao/boat-workspace/Code/quant-os`
- 远端:`https://git.gomars.fun/boat/quant-os.git`
- 公共状态:`https://gomars.fun/quant-os/status/`
- 原仓:`https://git.gomars.fun/boat/quants-strategies.git`
## 迁移执行结果
2026-07-30 已完成独立仓、数据资产、公共状态和旧仓边界切换:
- 独立仓 clean clone 的 315 项测试通过,6 项可选 runtime 测试跳过;
- `data/``artifacts/``mlruns/` 共 4,281 个文件逐文件 SHA-256 一致,
inventory hash 为
`d18774756d56eb89239643bd91792feb5e1c7b5ab8fd804bf52f6d429c448e91`
-`.venv-qlib312` 未迁入新项目,随迁移前完整目录保留在本机
`../quant-os-migration-backup-20260730`,新环境按 requirements 重建;
-`quants-strategies` 仓在提交 `bd61d83` 后仅保留 `quant-os/README.md`
迁移指针,原仓的 Cash Layer 未提交改动未进入迁移提交;
- 新公共地址返回 200,发布文件与独立仓逐字节一致;六个旧 Quant OS 精确地址
暂时返回 302 到新地址,`quants-strategies` 下的 Cash Layer 路由保持 200。
这些本地数据与备份均不进入 Git;公开状态仍是脱敏、构建时生成的静态快照。
## 历史保留方式
从原仓已提交 `master` 执行:
```text
git subtree split --prefix=quant-os
```
路径提交映射:
| 原仓提交 | 独立历史提交 | 内容 |
| --- | --- | --- |
| `e561efd` | `48c5f64` | A 股 60 分 Baseline 初始实现 |
| `f998f4d` | `e5911ca` | Tushare → Qlib 数据桥 |
| `692f6ef` | `00efeb7` | 公共状态控制台 |
SHA 改变是路径提取的正常结果;作者、时间、顺序和文件历史保留。
原工作树中尚未提交的 TargetPackage、五层链、release reachability 和真实
JoinQuant execution smoke 被叠加到独立分支,并形成单独 checkpoint
`919c64c`。原 `quants-strategies` 的 cash-layer 脏改没有进入新仓。
## 本地运行状态
以下目录被 Git 忽略,不进入远端;这是数据安全边界,不只是迁移便利:
- `data/`
- `artifacts/`
- `mlruns/`
- `.venv-*`
迁移时复制前三类并校验清单;只记录文件数、总字节和相对路径/hash,不把
数据内容或绝对源路径写入公开文档。旧 `.venv-qlib312` 接近 1 GB,脚本中包含原
绝对路径,不能把“目录搬过去”视为有效环境;新仓应按固定 requirements 重建。
旧环境在新仓完整验证前不删除。
清单与复核命令:
```bash
python3 tools/inventory_local_assets.py <old-project-root> \
--output /tmp/quant-os-local-assets.json
python3 tools/inventory_local_assets.py <new-project-root> \
--compare /tmp/quant-os-local-assets.json
```
清单不记录根目录,只记录 `data/``artifacts/``mlruns/` 的相对路径、字节数
和 SHA-256;遇到 symlink 会拒绝继续。
## 兼容政策
- `quant-os` / `quant_os` 是新产品入口;
- `quant60` CLI/import 和 V1 schemas 保留至少两个发布周期;
- `portable-momentum` 只保留 smoke/example 身份;
- 旧公共 URL 先保持 302 兼容跳转;稳定观察后再单独升级 308,不能直接 404;
- 原仓最终只保留独立项目指针,不复制代码。
## 完成条件
1. 独立仓 clean clone 通过 `make local`
2. generated bundle/status 无 drift
3. secret/绝对路径检查通过;
4. 新远端 commit 与本地 commit 相同;
5. 新公共 URL 返回正确独立仓快照;
6. 旧 URL 有兼容跳转;
7. 最后才从旧仓移除 `quant-os/` 和旧专属 CI。