# TIASjudge

舌診支援システム（Tongue Image Analysis System）．舌の撮影画像から ROI の色を取得し，Lab 色空間と実験データに基づいて舌色を 5 分類（紫・暗赤・紅・淡紅・淡白）するアプリ．既存の MFC + OpenCV 2.4 実装（`org/src`，Git 管理外）を，同一機能を保ったまま Python 3.12 + PySide6 + opencv-python で再構築する．

## 開発進捗

最新: PLAN_02 ステップ 1（プロジェクト骨格）完了．次はステップ 2（csv_io）
※ 本欄は**最新ステップ 1 行のみ上書き更新**．詳細な進捗履歴（動機・設計判断・失敗パターン）は [docs/PROGRESS.md](docs/PROGRESS.md) に追記する．運用ルールは `.claude/rules/progress-log.md` を参照（該当ファイル編集時に自動ロードされる）．

## 必須ルール（コード実装時）

- 診断結果は旧実装と一致させる（PLAN_01 成功基準）．診断ロジックを触るときは必ず `docs/04_SPEC/SPEC_02_診断ロジック仕様.md` を読む
- `core/` は GUI 非依存を厳守する（依存方向・配置は `.claude/rules/project-structure.md`）
- パッケージ管理は uv のみ（`uv add`）．絶対パスのハードコード禁止（ENV_02「環境再現性のルール」）
- コーディング規約・テスト方針・エラー処理は `.claude/rules/`（coding-style / testing / error-handling）が該当ファイル編集時に自動ロードされる

### Git 運用

- ブランチ名・コミットメッセージの書式は `.claude/rules/git-conventions.md` に従う（常時ロードされる）
- コミットは `/commit` を使用する（push・PR 作成は `/commit push`）
- **`/commit` はユーザーが明示的に指示した時のみ実行する．Claude が自発的に `/commit` や `git commit` を呼んではならない**（`/implement` 完了後も，案内するだけで自分ではコミットしない．`/commit` skill は `disable-model-invocation` によりユーザー起動限定として強制されている）
  - **例外**: 以下の無人運転ループはユーザー承認済みの例外として専用ブランチに自律コミットする．いずれも push・PR・マージ・`main` への操作はしない（取り込みは人間が `/commit push` 等で行う）
    - `/auto-refactor`（リファクタ／ドキュメント整理ループ）→ `refactor/` 専用ブランチ
    - `/auto-audit`（バグ／脆弱性の巡回監査ループ）→ `fix/` 専用ブランチ

### エージェントチーム（GUIDE_02 準拠）

- 実装は `/implement <タスク>` で開始する（コーディング → テスト → リファクタリング → ドキュメント更新）
- Phase 1 後に人間が動作確認，Phase 2 でテスト失敗時のみ方針判断
- Phase 2 成功後は Phase 3 → Phase 4 まで自動で進む（Phase 4 で更新がある場合のみ確認）
- テスト・リファクタリングをスキップしない

### 開発コマンド

- 起動・テスト・lint 等の開発コマンドは `docs/02_ENV/ENV_04_開発コマンド.md` にまとめる．**存在する場合は実行前に必ず参照し，推測でコマンドを試さない**
- コマンドが新しく確定・変更された時は同ファイルに反映する（無ければその時点で作成する．`/implement` の Phase 4 でも見直される）

### 手動確認が必要な作業（自分で完了させないこと）

以下は実装完了後にユーザーへ報告し，確認・実施を依頼すること．

- 外部サービスの設定（コンソール操作，セキュリティルール変更等）
- 実機・ブラウザでの動作確認
- ストアへのアップロード・リリース作業

## ドキュメント

設計・規約に関する情報は docs/ にある．
コードを書く前に関連するファイルを読むこと．

### 01_GUIDE（規約・ルール）

- プロジェクト立ち上げフロー: docs/01_GUIDE/GUIDE_01_プロジェクト立ち上げフロー.md
- エージェント運用ルール: docs/01_GUIDE/GUIDE_02_エージェント運用ルール.md
- ※ Git 規約・ドキュメント書式・命名規則・進捗記録は `.claude/rules/`（git-conventions / markdown-style / docs-naming / progress-log）に定義されている（git-conventions は常時，他は該当ファイル編集時に自動ロード）
- ※ コーディング規約・プロジェクト構成・テスト方針・エラー処理は path-scoped rules（`.claude/rules/` の coding-style / project-structure / testing / error-handling）として作成済み（該当ファイル編集時に自動ロード）

### 02_ENV（環境）

- 技術スタック: docs/02_ENV/ENV_01_技術スタック.md
- 環境構築手順: docs/02_ENV/ENV_02_環境構築手順.md
- 管理者用環境構築手順: docs/02_ENV/ENV_03_管理者用環境構築手順.md
- 開発コマンド: docs/02_ENV/ENV_04_開発コマンド.md

### 03_PLAN（計画）

- 要件定義書: docs/03_PLAN/PLAN_01_要件定義書.md
- 開発ステップ: docs/03_PLAN/PLAN_02_開発ステップ.md

### 04_SPEC（仕様・設計）

- 画面仕様: docs/04_SPEC/SPEC_01_画面仕様.md
- 診断ロジック仕様: docs/04_SPEC/SPEC_02_診断ロジック仕様.md

### 05_TECH（技術設計）

<!-- 実装フェーズで必要になった時に追加する（立ち上げ時の対象外） -->

### 06_TEST（テスト）

<!-- 実装フェーズで必要になった時に追加する（立ち上げ時の対象外） -->
