Newer
Older
TIASjudge / docs / 03_PLAN / PLAN_02_開発ステップ.md

開発ステップ (Development Plan)

実装は以下のステップ順に進める.各ステップは /implement <タスク> で開始し,完了時にコミットする. core(診断ロジック)を先に完成・検証し,GUI は検証済みの core の上に載せる方針とする.

ステップ一覧 (Steps)

#ステップ内容完了条件
1プロジェクト骨格pyproject.toml(uv・Ruff・pytest 設定)と src/tiasjudge/ の骨格を作成.data.csv を data/ に配置(UTF-8 化).ENV_04_開発コマンド.md を作成uv sync → uv run pytest が通る
2core: CSV 読込csv_io.py(変換行列 17×3・data.csv 84×193 の読込と形式検証)+異常系テスト実データを読める.不正形式で専用例外
3core: 色変換color.py(RGB→XYZ 多項式・XYZ→Lab)+既知値による単体テストSPEC_02 (1)(2) の式を再現
4core: SVM 分類svm.py(190 列の SVM 学習・予測・5 色スコア集計・失敗検出)+ roi.py(ROI 平均色)+テストSPEC_02 (0)(3) を再現
5回帰テスト旧実装 exe で採取した入出力ペア(RGB → Lab・5 色スコア)を tests/fixtures/ に固定し,パイプライン全体を照合全ペアで結果一致(不一致時は原因を特定し記録)
6GUI: メイン画面main_window.py(ファイル選択・画像表示・クロップ・ROI クリック・入力ガード・診断続行)SPEC_01 メイン画面のとおり動作(手動確認)
7GUI: 結果画面・結合result_window.py(5 色表示・上位 2 色強調・日英切替・失敗表示)と全体結合SPEC_01 結果画面のとおり動作(手動確認)
8配布(任意)PyInstaller で Windows exe 化(必要になった時点で実施)単体 exe で起動・診断できる

依存関係 (Dependencies)

1 → 2 → 3 → 4 → 5 → 6 → 7 → 8
            (5 は旧 exe での採取作業=ユーザー協力が必要)

人間が行う作業 (Human Tasks)

  • ステップ 5: 旧実装 exe を実行し,検証用の入出力ペアを採取する(クリック位置を固定できないため,AI が用意する手順に沿って実施する)
  • ステップ 6〜7: 画面の手動動作確認(GUI の自動テストは書かない方針..claude/rules/testing.md)
  • GitHub リポジトリの作成(ENV_03.未実施の場合)

マイルストーン (Milestones)

  • M1(ステップ 5 完了): 診断ロジックが旧実装と同一結果を返すことが証明される(本プロジェクトの核心)
  • M2(ステップ 7 完了): アプリとして旧実装を置き換え可能になる