LAUDE.mdの更新が完了しました。変更内容:

最終更新日 → 2026-02-25
プロジェクト構造 → mail/ と settings/password/ ページを追加
データモデル概要 → MailSender, MailEmail, MailNotificationToken を追加
実装状況 → メールフィルタリング機能を本番稼働済みに更新、パスワード変更機能を追加
マスタードキュメントリンク → document/11_マスタードキュメント_メール通知関連編.md を追加
トラブルシューティング → 本番デプロイコマンド(--env-file .env.production 必須)を冒頭に追加
更新履歴 → 今回の変更を記録
This commit is contained in:
Akira
2026-02-25 10:06:22 +09:00
parent 407d915b35
commit b386ee4380
2 changed files with 646 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
# Keina System - Claude 向けガイド
> **最終更新**: 2026-02-21
> **最終更新**: 2026-02-25
> **現在のフェーズ**: Phase 1 (MVP) - 基本機能実装完了、試験中
## 📌 このファイルの目的
@@ -83,7 +83,13 @@ keinasystem_t02/
├── allocation/ # 作付け計画編集画面(メイン)
├── fields/ # 圃場一覧・詳細
├── reports/ # 申請書ダウンロード
── import/ # データ取込画面
── import/ # データ取込画面
├── mail/
│ ├── feedback/[token]/ # フィードバックページ(認証不要)
│ ├── history/ # メール処理履歴
│ └── rules/ # 送信者ルール管理
└── settings/
└── password/ # パスワード変更
```
---
@@ -126,6 +132,25 @@ Variety (品種マスタ)
├── crop (FK to Crop)
├── name (品種名)
└── unique_together = ['crop', 'name']
MailSender (送信者ルール)
├── email (EmailField, nullable)
├── domain (CharField, nullable)
├── rule ('never_notify' | 'always_notify')
└── ConstraintCheck: email/domain どちらか一方のみ
MailEmail (受信メール記録)
├── account (xserver/gmail/hotmail等)
├── message_id (unique)
├── sender_email, sender_domain
├── subject, body_preview
├── received_at, llm_verdict (important/not_important)
├── notified_at (LINE通知日時、nullable)
└── feedback (important/not_important/never_notify/always_notify, nullable)
MailNotificationToken (フィードバックURL用トークン)
├── email (OneToOne FK to MailEmail)
└── token (UUID, unique)
```
### 重要な設計判断
@@ -216,15 +241,19 @@ Variety (品種マスタ)
- 共通 LinkModal コンポーネント
7. **メールフィルタリング機能**Windmill連携:
- Django `apps/mail` アプリMailSender, MailEmail, MailNotificationToken
- Windmill向けAPIAPIキー認証: `GET /api/mail/sender-rule/`, `GET /api/mail/sender-context/`, `POST /api/mail/emails/`
- Windmill向けAPIAPIキー認証: `GET /api/mail/sender-rule/`, `GET /api/mail/sender-context/`, `POST /api/mail/emails/`, `GET /api/mail/stats/`
- フィードバックAPI認証不要・UUIDトークン: `GET/POST /api/mail/feedback/<token>/`
- ルール管理APIJWT認証: `GET/POST/DELETE /api/mail/senders/`
- ルール管理APIJWT認証: `GET/POST/DELETE /api/mail/senders/`, `PATCH /api/mail/emails/<pk>/feedback/`
- フィードバックページ: `/mail/feedback/[token]`LINEからタップ一発、認証不要
- ルール管理ページ: `/mail/rules/`
- 処理履歴ページ: `/mail/history/`
- 対応アカウント: Gmail有効、infoseek.jpOutlook→Gmail転送で対応、To:ヘッダで判別、Hotmail/Xserverflow.jsonでenable可能
- 仕様書: `document/メールフィルタ/mail_filter_spec.md`
- Windmill フロー: `f/mail/mail_filter`(ローカル: localhost, 本番: windmill.keinafarm.net — 本番デプロイ未実施)
- 対応アカウント: Gmail × 2、Xserver × 6本番稼働中
- Windmill フロー: `f/mail/mail_filter`(本番: windmill.keinafarm.net にデプロイ済み、10分間隔スケジュール
- マスタードキュメント: `document/11_マスタードキュメント_メール通知関連編.md`
8. **パスワード変更機能**:
- Backend: `POST /api/auth/change-password/`JWT認証、`ChangePasswordView` in `keinasystem/urls.py`
- Frontend: `/settings/password` ページ
- Navbar: KeyRound アイコンボタン(ログアウトボタンの左隣)
### 🚧 既知の課題・技術的負債
@@ -277,6 +306,15 @@ Phase 2 のタスクに進む段階。
## 🔍 トラブルシューティング
### 本番デプロイコマンド(必須)
```bash
# ⚠️ --env-file .env.production を必ず付けること省略するとSECRET_KEYが空でbackendが起動しない
ssh keinafarm-claude 'cd /home/akira/keinasystem_t02 && \
docker compose -f docker-compose.prod.yml --env-file .env.production build && \
docker compose -f docker-compose.prod.yml --env-file .env.production up -d'
```
### マイグレーションエラー
```bash
@@ -312,6 +350,7 @@ docker-compose exec backend python manage.py migrate
ソースコード参照不要なレベルで記載されている。ソース確認が必要な場合もファイル名と行番号の索引がある。
- **圃場管理機能**: `document/10_マスタードキュメント_圃場管理編.md`
- **メール通知機能**: `document/11_マスタードキュメント_メール通知関連編.md`
### 設計ドキュメント(プロジェクト横断)
@@ -336,6 +375,7 @@ docker-compose exec backend python manage.py migrate
## 📝 更新履歴
- 2026-02-25: CLAUDE.md更新。パスワード変更機能追記。メールフィルタリング機能を本番稼働済みに更新。マスタードキュメント `document/11_マスタードキュメント_メール通知関連編.md` リンク追加。デプロイコマンド(`--env-file .env.production` 必須)をトラブルシューティングに追加
- 2026-02-22: メールフィルタリング機能を実装。`apps/mail` Django app、Windmill向けAPIAPIキー認証、フィードバックページ、ルール管理ページを追加。仕様書: `document/メールフィルタ/mail_filter_spec.md`
- 2026-02-21: マスタードキュメント体系を導入。`document/10_マスタードキュメント_圃場管理編.md` を追加。セッション推奨フローにマスタードキュメント参照を追加
- 2026-02-18: E-2対応付け可視化・紐づけ管理仕様追加。画面設計書・差異レポート・次タスク一覧を更新。完了済みタスク(A-8, D-1〜D-4, E-1)を既知の課題から除外