# 開発進捗ログ

<!--
本ファイルは追記型のフル進捗ログ．

- 最新エントリは下に追記する（時系列順．古いものが上，新しいものが下）
- CLAUDE.md の「開発進捗」セクションは最新 1 行のみ（上書き運用）
- 詳細・失敗パターン・設計判断はすべて本ファイルに残す
- 書式・運用ルールは .claude/rules/progress-log.md を参照
  （本ファイルの編集時に自動ロードされる）
-->

- [x] **/setup フェーズ 1〜2 完了（要件定義・技術選定）**: 旧実装 `org/src`（C++ / MFC / OpenCV 2.4）を解析し，同一機能の再構築を目的として PLAN_01・ENV_01 を作成．開発モードは solo．
  - 設計判断: 技術スタックは Python + PySide6 + opencv-python を採用．MFC 継続・C# 案は Mac 対応の可能性が無いため却下（ユーザー要件: 当面 Windows，将来 Mac も視野）．SVM は現行と同じ OpenCV 実装（`cv2.ml.SVM`）を使い診断結果の同一性を担保する方針
  - 旧実装は `org/` に置き参照専用とする（.gitignore で Git 管理外）
- [x] **/setup フェーズ 3 完了（環境構築）**: ENV_02（メンバー用）・ENV_03（管理者用）を作成．「どのデバイスでも clone → uv sync で開発再開できる」を方針とし，環境定義は pyproject.toml / uv.lock でリポジトリ内に持たせる（デバイス側は git / gh / uv のみ）．ENV_04（開発コマンド）は pyproject 作成時に確定させるため後回し．GitHub リポジトリ作成はユーザー実施待ち（ENV_03 参照）
- [x] **/setup フェーズ 4 完了（仕様設計）**: 旧実装の解析から SPEC_01（画面仕様）・SPEC_02（診断ロジック仕様）を作成．
  - 設計判断: ① 診断失敗検出は現行のマジックナンバー比較（スコア 42/0/5/11/3 一致）をやめ原因の直接検出に変更 / ② 日本語結果画面は文字入りビットマップ背景をやめ描画生成に変更（アセット非依存・表示は現行踏襲）/ ③ Lab 変換は CIE 標準の低輝度分岐を持たない現行式を意図的に踏襲（結果同一性優先）
- [x] **/setup フェーズ 5 完了（規約整備）**: Python スタック向け path-scoped rules（coding-style / project-structure / testing / error-handling）を作成．パッケージ名は `tiasjudge`（src レイアウト，core と gui を分離），テストは旧実装との回帰テストを最重視，GUI 自動テストは書かない方針
- [x] **/setup フェーズ 6 完了（開発計画）**: PLAN_02 を作成．core 先行の 8 ステップ構成（骨格 → csv_io → color → svm → 回帰テスト → GUI 2 画面 → 配布）．M1 = 旧実装との結果一致の証明（ステップ 5，旧 exe での入出力採取にユーザー協力が必要），M2 = アプリ置き換え可能
- [x] **/setup フェーズ 7 完了（立ち上げ完了）**: CLAUDE.md を最終更新（概要にスタック明記・必須ルール・ドキュメント一覧）．プロジェクト立ち上げフローはすべて完了．次は PLAN_02 ステップ 1（プロジェクト骨格）を `/implement` で開始する
