---
generated_at: 2026-01-29 21:20:00
metrics:
  claims_total: 30
  claims_with_evidence: 29
  claims_without_evidence: 1
confidence_derived: 0.97
---

# 根拠レポート：2-部品マスタ管理

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：29 / 30、根拠なし：1
- 優先レビュー（高）
  1. **パフォーマンス要件の具体的数値**：コードからの推測値であり、実測データなし
  2. **画像処理の詳細フロー**：django-cleanupの動作確認推奨
  3. **バックグラウンドタスクの完了保証**：Celeryタスクの設定確認推奨

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `src/backend/InvenTree/part/models.py` Partクラス（464-2700行目）
- E-02: `src/backend/InvenTree/part/models.py` PartPricingクラス（2729-3468行目）
- E-03: `src/backend/InvenTree/part/models.py` PartStarクラス（3567-3594行目）
- E-04: `docs/code-to-docs/画面機能マッピング/画面機能マッピング.csv` 画面No.14の定義
- E-05: `docs/code-to-docs/機能一覧/機能一覧.csv` 機能No.2の定義
- E-06: `src/backend/InvenTree/part/settings.py` 部品デフォルト設定
- E-07: `src/backend/InvenTree/common/settings.py` グローバル設定関数

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | PartはInvenTreeTreeを継承しバリアント階層管理 | E-01（464-474行目：クラス定義） | ○ |
| C-02 | NODE_PARENT_KEY='variant_of'でバリアント関係を定義 | E-01（518行目） | ○ |
| C-03 | アクティブな部品は削除不可 | E-01（593-594行目：deleteメソッド） | ○ |
| C-04 | ロックされた部品は編集・削除不可 | E-01（590-591行目、574-580行目） | ○ |
| C-05 | IPN重複チェックは設定で制御 | E-01（1029-1039行目：validate_unique） | ○ |
| C-06 | 構造的カテゴリには部品配置不可 | E-01（1074-1077行目：cleanメソッド） | ○ |
| C-07 | trackable部品使用時は親もtrackableに自動更新 | E-01（1098-1105行目：ensure_trackable） | ○ |
| C-08 | BOM使用中削除は設定で制御 | E-01（596-600行目：PART_ALLOW_DELETE_FROM_ASSEMBLY） | ○ |
| C-09 | リビジョン部品の制約（リビジョンの子になれない） | E-01（780-786行目：validate_revision） | ○ |
| C-10 | シリアル番号一意性は設定で制御 | E-01（892-896行目：SERIAL_NUMBER_GLOBALLY_UNIQUE） | ○ |
| C-11 | available_stockはtotal_stock - allocation_count | E-01（1382-1390行目） | ○ |
| C-12 | full_nameはpart_helpers.render_part_full_nameで生成 | E-01（1006-1009行目） | ○ |
| C-13 | on_orderは発注中サプライヤー部品の合計 | E-01（2596-2619行目） | ○ |
| C-14 | saveメソッドで画像の孤立チェック | E-01（616-627行目） | ○ |
| C-15 | 価格計算はバックグラウンドでスケジュール | E-02（2785-2869行目：schedule_for_update） | ○ |
| C-16 | PartPricingでBOMコスト・購入コスト等を管理 | E-02（2729-2752行目：クラスドキュメント） | ○ |
| C-17 | 購読機能はPartStarで実現 | E-03 | ○ |
| C-18 | get_subscribersは親バリアント・カテゴリを含む | E-01（1561-1597行目） | ○ |
| C-19 | APIエンドポイントはapi-part-list | E-01（541-544行目：get_api_url） | ○ |
| C-20 | 部品にはタグ機能あり（TaggableManager） | E-01（523行目：tags = TaggableManager） | ○ |
| C-21 | デフォルト設定はpart.settingsから取得 | E-01（1112-1115行目：part_settings.part_template_default） | ○ |
| C-22 | バーコード型コードは'PA' | E-01（551-553行目：barcode_model_type_code） | ○ |
| C-23 | 部品の絶対URLはpui_url形式 | E-01（1011-1013行目：get_absolute_url） | ○ |
| C-24 | 単位フィールドはphysical_unitsバリデーション | E-01（1266行目：validators=[validators.validate_physical_units]） | ○ |
| C-25 | 関連画面はNo.14（部品詳細画面） | E-04 | ○ |
| C-26 | 機能説明は「部品の基本情報を登録・編集・削除」 | E-05 | ○ |
| C-27 | 画像フィールドはdjango-cleanupで管理 | E-01（463行目：@cleanup.ignore） | ○ |
| C-28 | minimum_stockは0以上のDecimal | E-01（1250-1257行目） | ○ |
| C-29 | revision_ofはSET_NULLで関連 | E-01（1169-1177行目） | ○ |
| C-30 | パフォーマンス要件（1000件で1秒以内） | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- パフォーマンス要件の具体的な数値根拠
  - 候補：負荷テスト結果 / 性能要件定義書 / SLA文書

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - モデル定義・フィールド仕様（コードで明確に確認可能）
- 0: 低リスク - ビジネスルール（コードで実装を確認済み）
- 0: 低リスク - 価格計算ロジック（PartPricingで実装確認済み）
- 1: 中リスク - パフォーマンス要件（推定値のため実測検証推奨）
- 0: 低リスク - 画面関連（画面機能マッピングで確認済み）

## 6) レビュアーチェックリスト（最小）
- [ ] Partクラスの継承構造とMixinの役割がドキュメントと一致するか確認
- [ ] 削除制約（active, locked, BOM使用中）が正しく実装されているか確認
- [ ] IPN重複チェックがPART_ALLOW_DUPLICATE_IPN設定で制御されているか確認
- [ ] trackable継承ロジック（ensure_trackable）の動作確認
- [ ] 価格計算のバックグラウンドタスク（schedule_for_update）の動作確認
- [ ] パフォーマンス要件について実測データでの検証を推奨
