# 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` ## 历史保留方式 从原仓已提交 `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 \ --output /tmp/quant-os-local-assets.json python3 tools/inventory_local_assets.py \ --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。