Skip to content

chore: split Python data platform into PsychQuant/che-transport-data #10

Description

@kiki830621

目標

把 Python 資料平台從 rush(Swift MCP 產品)分拆到獨立 repo PsychQuant/che-transport-data。兩側零 code/build 耦合(盤點確認),拆分只涉及文件與 spec 搬移。

搬移清單logger/(含 warehouse/)、weather-logger/analysis/docs/bus-eta-prediction.mddocs/offline-serving-table.mdopenspec/changes/bus-eta-logger/。新 repo 路徑維持原樣(保 blame/歷史)。

Checklist

  • Phase 0 — mini preflight(auth 修復、基線健康、pip freeze、抓 plist)
  • Phase 2 — git filter-repo 抽取(18 commits 全歷史)→ push 新 repo
  • Phase 3 — 新 repo 鷹架(README / CLAUDE.md / .gitignore / IDD config / openspec config,commit 51c275c)
  • Phase 4 — issue 轉移:rush#9 → che-transport-data#1、rush#8 → che-transport-data#2;logger/README.md 引用已更新
  • Phase 5 — rush 清理 commit 67f6e2d(git rm + CLAUDE.md pointer + .gitignore + IDD config 修 stale 名;218 tests 過)
  • Phase 6.1–6.2 — mini clone + venv 重建(freeze 檔,39 tests 過)+ 兩個 plist 入版控(1ad19db)
  • Phase 6.3 — cutover 完成:weather PID 33246(10 分內 44 parquet)、bus-eta PID 33320(三 feed 恢復、無新錯誤、中斷未達 gap 門檻)
  • Phase 6.4 — 24h 觀察(至 2026-07-03 中午)→ PAUSE C 歸檔舊鬆散副本到 ~/archive-pre-split/
  • Phase 7 — 驗證矩陣收尾、關閉本 issue

執行紀錄補充

  • bootstrap error 5:bus-eta bootout 後立即 bootstrap 回 EIO,數秒後重試即成(launchd 拆卸未完的暫時性錯誤);weather 同序列一次成功。
  • CI 既有失敗與拆分無關testcontract-tests 自 rebrand 後即紅——Actions cache 存有 che-transport-mcp 路徑時代的 PCH,runner 路徑改為 rush 後不符。已刪 stale cache(key macOS-spm-, 340MB)並重跑驗證。
  • mini-che GitHub 憑證漂移修復:che830621 原無任何憑證;org 政策停用 deploy keys(422,未改政策);依全域 CLAUDE.md 意圖將 psychquant 的 PsychQuantClaw token 管道同步(不落地),gh auth setup-git 完成。
  • NEXT-SESSION.md 已刪(待辦摺入 che-transport-data#1)。
  • 全域 ~/.claude/CLAUDE.md 無需更新(零資料平台路徑引用,實測 grep 確認)。

Rollback

  • Phase 6.3:bootout 新 job → 復原 ~/launchd-backup-presplit/ 的 plist → bootstrap(舊副本在 ~/bus-eta-logger~/weather-logger 原封不動,24h 觀察期後才歸檔)

相關

  • 已轉移:che-transport-data#1(warehouse,原 #9)、che-transport-data#2(bus-eta-logger change,原 #8,剩 7 天驗收)
  • Out of scope(記錄備查):che-mcps README/CLAUDE.md 仍有 stale che-transport-mcp 引用(rebrand 前既有)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions