summaryrefslogtreecommitdiff
path: root/.github/instructions/python.instructions.md
blob: d34bcc727a898aad3bee13662af2eeefbfa2d0a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
applyTo: "src/**/*.py,script/**/*.py"
---

# Python implementation instructions

- Python 3.11の型構文を使用し、公開境界と複雑な内部処理には具体的な型を付ける。
- 既存方針どおり`dataclass`、`tomllib`、明示的validationを優先し、目的のないフレームワークや
  依存パッケージを追加しない。
- MCP層、Service層、モデル管理、Diffusers pipeline構築の責務境界を維持する。
- Tool関数は薄いadapterに保ち、モデルロードやscheduler分岐を置かない。
- ファイルパスは設定済みの用途別ディレクトリ内へ安全に解決し、MCP入力から任意パスを受け取らない。
- CUDA OOMと既知の利用者エラーを分類し、内部例外やパスをクライアントへそのまま返さない。
- GPU推論を同期的に並列実行しない。既存の単一ジョブ制御を保つ。
- DiffusersやPyTorchのAPI対応を変更する場合は、利用中バージョンまたは公式文書でconstructorと
  config継承の挙動を確認する。
- 実装変更には同じ変更で再発を防ぐテストを追加する。