diff --git a/CLAUDE.md b/CLAUDE.md index de785d7..79d8713 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,7 +7,7 @@ ## 開発進捗 -最新: 要確認リスト(受け取ったデータを全部入れて印を付ける)と `tiasdata backup` を実装.次は Step 6 の続き(研究室 PC で init・再取り込み・版 1・バックアップ) +最新: PLAN_02 Step 6(研究室 PC での運用開始.舌色データ 1085 枚を取り込み,版 1=1081 枚)完了.次は Step 7(計算サーバへの受け渡し) ※ 本欄は**最新ステップ 1 行のみ上書き更新**.詳細な進捗履歴(動機・設計判断・失敗パターン)は [docs/PROGRESS.md](docs/PROGRESS.md) に追記する.運用ルールは `.claude/rules/progress-log.md` を参照(該当ファイル編集時に自動ロードされる). ## 必須ルール(コード実装時) diff --git "a/docs/02_ENV/ENV_02_\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" "b/docs/02_ENV/ENV_02_\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" index 18a5cd6..531571d 100644 --- "a/docs/02_ENV/ENV_02_\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" +++ "b/docs/02_ENV/ENV_02_\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" @@ -58,10 +58,10 @@ ssh -n labpc "cd C:\Users\Papin\source\TIASDataHub && git pull && C:\Users\Papin\.local\bin\uv.exe sync --no-dev --extra import && C:\Users\Papin\.local\bin\uv.exe run --no-dev --extra import tiasdata init" ``` -- ※ clone・`uv sync` は未検証(立ち上げの成果物を `main` に取り込んだ後に実行する).デプロイキーでの接続(`git ls-remote`)は 2026-10-02 に確認済み +- clone・`uv sync`・更新(`git pull` → `uv sync` → `init`)は 2026-10-09 に上記の手順で行い,確認済み - 研究室 PC からは取得しかできない(デプロイキーは読み取り専用).研究室 PC では編集・push しない(上記「操作方針」) - 置き場所は `C:\Users\Papin\source\`(OneDrive の同期対象外).**ドキュメント・デスクトップ配下には置かない**(研究室 PC ではドキュメントフォルダが OneDrive にリダイレクトされている) -- 目録・ストア・対応表は `E:\clinical-data\tiasdata\`・`tiasdata-identity\` に置き,場所は設定ファイル `C:\Users\Papin\.config\tiasdata\config.toml` に書く(配置と設定のキーは [SPEC_01「配置」「設定ファイル」](../04_SPEC/SPEC_01_アーキテクチャ設計.md)).設定ファイルの作成と `tiasdata init` は実装後に行う ※ 未検証 +- 目録・ストア・対応表は `E:\clinical-data\tiasdata\`・`tiasdata-identity\` に置き,場所は設定ファイル `C:\Users\Papin\.config\tiasdata\config.toml` に書く(配置と設定のキーは [SPEC_01「配置」「設定ファイル」](../04_SPEC/SPEC_01_アーキテクチャ設計.md)).設定ファイルは 2026-10-09 に作成済み(取り込み元 `tiasjudgemodel`・計算サーバ `newton`・`archimedes`.中身は SPEC_01 の例のとおり).作り直すときは既存のものを上書きしない ## 使う側のリポジトリへの組み込み (Using from Other Repositories) diff --git "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" index 5f55224..a4dfab0 100644 --- "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" +++ "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" @@ -95,7 +95,11 @@ 立ち上げの成果物を `main` に取り込んだ後に行う.手順は [ENV_02「研究室 PC のセットアップ」](ENV_02_環境構築手順.md). -- ※ 未検証(2026-10-02 時点で `main` は初期コミットのみ) +- 2026-10-09 に実施した(手元 PC から SSH.PLAN_02 Step 6) + 1. GitHub からデプロイキーで clone し,`uv sync --no-dev --extra import` + 2. 設定ファイル `C:\Users\Papin\.config\tiasdata\config.toml` を作成(既にあれば上書きしないスクリプトを標準入力で流した) + 3. `tiasdata init` → `tiasdata import tiasjudgemodel` → `stats`・`check`(問題 0 件) + 4. `tiasdata dataset freeze tongue_color`(版 1・1081 枚)→ `tiasdata backup`(目録・対応表とも整合性 ok) ## Claude のアクセス制限 (Claude Access Restriction) diff --git "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" index 7ed5119..952696e 100644 --- "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" +++ "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" @@ -17,7 +17,7 @@ | 3 | **取り込みと点検**: `kinds/`(`tongue_color` の値の型),`importers/tongue_color_folders`(9 フォルダ+対応表の xlsx → 症例・撮影・ファイル・所見・由来.患者 ID は `identity.sqlite` へ),`tiasdata import`・`stats`・`check`(2026-10-06 完了) | ダミーの 9 フォルダと対応表を取り込め,同じ患者の複数枚が同じ症例にまとまる.2 回実行しても同じ結果になる.想定外の構成・対応表に無い番号で停止する.要確認リストの番号も印を付けて登録する(2026-10-08 に変更.当初は飛ばしていた).出力に患者 ID・元のファイル名が出ない.`check` がストアの書き込み可能なファイル(読み取り専用が外れたもの)の数を報告する | | 4 | **データセットと版**: `datasets/tongue_color.toml`,`datasets.py`(定義の評価・版の作成),`tiasdata dataset freeze`・`list`・`show` | 所見を足す・訂正しても過去の版の構成が変わらない.構成が同じなら版を作らない.ダミーの所見の種類を 1 つ足しても既存の表を変えずに済む(2026-10-06 完了) | | 5 | **バンドル**: `bundle.py`(読み込み・検証)・`export.py`(書き出し),`tiasdata export`,公開 API(`load`・`open_bundle`・`Bundle.fingerprint`) | 書き出したバンドルを目録なしで読める.改変・欠けを検出する.同じ版から同じ `manifest.csv` が得られる(2026-10-08 完了) | -| 6 | **研究室 PC での運用開始**: 立ち上げの成果物と Step 1〜5 を `main` に取り込む → 研究室 PC に GitHub から clone・設定ファイル作成・`init` → 舌色データ(1085 枚)を取り込み → `check`・`stats` → 版 1 を作成 → `tiasdata backup` | すべて手元 PC から SSH で行える.取り込んだ 1085 枚(うち撮影にひも付かないファイル 2・番号 4)が 9 グループで TIASJudgeModel の TEST_01 と一致する.版 1 は撮影にひも付かない 2 ファイルを除く 1081 枚.`check` が問題 0 件 | +| 6 | **研究室 PC での運用開始**: 立ち上げの成果物と Step 1〜5 を `main` に取り込む → 研究室 PC に GitHub から clone・設定ファイル作成・`init` → 舌色データ(1085 枚)を取り込み → `check`・`stats` → 版 1 を作成 → `tiasdata backup` | すべて手元 PC から SSH で行える.取り込んだ 1085 枚(うち撮影にひも付かないファイル 2・番号 4)が 9 グループで TIASJudgeModel の TEST_01 と一致する.版 1 は撮影にひも付かない 2 ファイルを除く 1081 枚.`check` が問題 0 件(2026-10-09 完了) | | 7 | **計算サーバへの受け渡し**: `deliver.py`(tar・scp・展開・`sha256sum -c`・記録),`tiasdata deliver` | 版 1 を Newton・Archimedes に渡し,両方で照合が通り,`deliveries` に記録される.データが手元 PC を通らない | | 8 | **TIASJudgeModel の切り替え**: TIASJudgeModel にサブモジュールを追加し,`tiasdata.load("tongue_color", version=1)` から現行の manifest の形に変換して学習・評価に使う(TIASJudgeModel 側の作業ブランチで行う) | 変換した manifest の件数・`label`・`severity` の内訳が,現行の manifest から,撮影にひも付かない同じ中身の 2 組(122/184・548/566 の 4 枚)を除いたものと一致し,`patient_id` が患者単位(約 450 人)になる.患者単位の分割で交差検証をやり直し,現行(画像単位)の成績との差を記録する.実験記録にバンドルの指紋が残る.研究室 PC の固定パスを書かずに済む | diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index f94b8ae..1b728d2 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -51,3 +51,8 @@ - 設計判断: 要確認の印の付いた撮影も版に入れる(版 1 は 1081 枚の見込み).患者が食い違う同じ中身の 2 組(122/184・548/566)は患者を作らず版に入らない.登録済みに印を足すのは書き足すだけ.対応表のバックアップは対応表のフォルダに置く(目録と分けるため) - 研究室 PC の手順: `git pull` → `uv sync --no-dev --extra import` → `tiasdata init`(0002 を適用)→ `tiasdata import tiasjudgemodel`(既存 1076 枚は飛ばし 9 枚を追加)→ `check`・`stats` → 版 1 → `backup` - 未実装・後段: `importers/tongue_color_folders.py` が約 1000 行(走査・計画と照合・登録でモジュールを分けるとよい).別の媒体への退避は未定.書き出し先のパスが Windows の上限(260 文字)を超えると export がスタックトレースで落ちる(研究室 PC のパスでは当たらない見込み) +- [x] **PLAN_02 Step 6: 研究室 PC での運用開始**: 手元 PC から SSH で,研究室 PC に clone・設定ファイル作成・`init`・舌色データの取り込み・`check`・版 1 の作成・`backup` を行った(2026-10-09) + - 結果: 受け取った 1085 枚を全部取り込み(ファイル 1083.同じ中身の 2 組がそれぞれ 1 つ),撮影 1081・症例 450 人(撮影が 2 つ以上の患者 239 人).要確認の印 7(撮影 5・ファイル 2).ラベルごとの件数は TIASJudgeModel の TEST_01 と一致(同じ中身の 2 組が 1 つになった 2 グループを除く).`check` 問題 0 件 + - 版 1: `tongue_color` v1・1081 枚(撮影にひも付かない 2 ファイルを除く)・manifest の SHA-256 `dc0f9998…`・hub_commit `769419b`.`backup` は目録・対応表とも整合性 ok + - 経緯: 最初は保留の 9 枚を飛ばして 1076 枚を取り込んだが,「受け取ったものは全部入れる」方針に変えて要確認リストを実装し,再取り込みで 9 枚を追加した(既存の ID は不変) + - 未実装・後段: Step 7(計算サーバへの受け渡し `tiasdata deliver`).別の媒体へのバックアップの退避.要確認 9 枚の確認(患者は研究室のサーバの元のデータで,ラベルは評価者に)