---
generated_at: 2026-03-01 03:05:00
metrics:
  claims_total: 100
  claims_with_evidence: 100
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：JsonSchema.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：100 / 100、根拠なし：0
- 優先レビュー（高）
  1. **なし**：すべてのテストケースがソースコードに基づいて生成されています

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

- E-01: `src/Illuminate/JsonSchema/JsonSchema.php`
- E-02: `src/Illuminate/JsonSchema/JsonSchemaTypeFactory.php`
- E-03: `src/Illuminate/JsonSchema/Serializer.php`
- E-04: `src/Illuminate/JsonSchema/Types/Type.php`
- E-05: `src/Illuminate/JsonSchema/Types/StringType.php`
- E-06: `src/Illuminate/JsonSchema/Types/NumberType.php`
- E-07: `src/Illuminate/JsonSchema/Types/IntegerType.php`
- E-08: `src/Illuminate/JsonSchema/Types/BooleanType.php`
- E-09: `src/Illuminate/JsonSchema/Types/ArrayType.php`
- E-10: `src/Illuminate/JsonSchema/Types/ObjectType.php`
- E-11: `src/Illuminate/Contracts/JsonSchema/JsonSchema.php`

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | JsonSchema::__callStaticでstring()を呼び出すとStringTypeが返される | E-01 (line 21-24) | ○ |
| C-02 | JsonSchema::__callStaticでinteger()を呼び出すとIntegerTypeが返される | E-01, E-02 (line 43-46) | ○ |
| C-03 | JsonSchema::__callStaticでnumber()を呼び出すとNumberTypeが返される | E-01, E-02 (line 48-54) | ○ |
| C-04 | JsonSchema::__callStaticでboolean()を呼び出すとBooleanTypeが返される | E-01, E-02 (line 56-62) | ○ |
| C-05 | JsonSchema::__callStaticでarray()を呼び出すとArrayTypeが返される | E-01, E-02 (line 27-30) | ○ |
| C-06 | JsonSchema::__callStaticでobject()を呼び出すとObjectTypeが返される | E-01, E-02 (line 15-22) | ○ |
| C-07 | object()にプロパティ配列を渡すとプロパティを持つObjectTypeが返される | E-02 (line 15-22) | ○ |
| C-08 | object()にClosureを渡すと評価されてObjectTypeが返される | E-02 (line 17-19) | ○ |
| C-09 | JsonSchemaTypeFactory::object()で空配列からObjectTypeが生成される | E-02 (line 15-22) | ○ |
| C-10 | JsonSchemaTypeFactory::array()でArrayTypeが生成される | E-02 (line 27-30) | ○ |
| C-11 | JsonSchemaTypeFactory::string()でStringTypeが生成される | E-02 (line 32-38) | ○ |
| C-12 | JsonSchemaTypeFactory::integer()でIntegerTypeが生成される | E-02 (line 40-46) | ○ |
| C-13 | JsonSchemaTypeFactory::number()でNumberTypeが生成される | E-02 (line 48-54) | ○ |
| C-14 | JsonSchemaTypeFactory::boolean()でBooleanTypeが生成される | E-02 (line 56-62) | ○ |
| C-15 | Serializer::serializeでStringTypeが'string'型としてシリアライズされる | E-03 (line 34) | ○ |
| C-16 | Serializer::serializeでIntegerTypeが'integer'型としてシリアライズされる | E-03 (line 31) | ○ |
| C-17 | Serializer::serializeでNumberTypeが'number'型としてシリアライズされる | E-03 (line 32) | ○ |
| C-18 | Serializer::serializeでBooleanTypeが'boolean'型としてシリアライズされる | E-03 (line 30) | ○ |
| C-19 | Serializer::serializeでArrayTypeが'array'型としてシリアライズされる | E-03 (line 29) | ○ |
| C-20 | Serializer::serializeでObjectTypeが'object'型としてシリアライズされる | E-03 (line 33) | ○ |
| C-21 | nullable指定時にtype配列に'null'が追加される | E-03 (line 40-42) | ○ |
| C-22 | requiredプロパティがシリアライズ結果から除外される | E-03 (line 14, 44-47) | ○ |
| C-23 | nullableプロパティ自体がシリアライズ結果から除外される | E-03 (line 14, 44-47) | ○ |
| C-24 | ObjectTypeのプロパティが再帰的にシリアライズされる | E-03 (line 65-68) | ○ |
| C-25 | ObjectTypeのrequiredプロパティが抽出される | E-03 (line 56-63) | ○ |
| C-26 | 空のObjectTypeでpropertiesが省略される | E-03 (line 53-54) | ○ |
| C-27 | ArrayTypeのitemsが再帰的にシリアライズされる | E-03 (line 72-76) | ○ |
| C-28 | サポートされていない型でRuntimeExceptionがスローされる | E-03 (line 35) | ○ |
| C-29 | nullの属性がシリアライズ結果から除外される | E-03 (line 44-50) | ○ |
| C-30 | Type::required(true)でrequired=trueが設定される | E-04 (line 47-54) | ○ |
| C-31 | Type::required(false)でrequiredが設定されない | E-04 (line 47-54) | ○ |
| C-32 | Type::required()デフォルト引数でrequired=trueが設定される | E-04 (line 47) | ○ |
| C-33 | Type::requiredがメソッドチェーン可能 | E-04 (line 53 - returns static) | ○ |
| C-34 | Type::nullable(true)でnullable=trueが設定される | E-04 (line 59-66) | ○ |
| C-35 | Type::nullable(false)でnullableが設定されない | E-04 (line 59-66) | ○ |
| C-36 | Type::nullable()デフォルト引数でnullable=trueが設定される | E-04 (line 59) | ○ |
| C-37 | Type::titleでタイトルが設定される | E-04 (line 71-76) | ○ |
| C-38 | Type::descriptionで説明が設定される | E-04 (line 81-86) | ○ |
| C-39 | Type::enumで配列から列挙値が設定される | E-04 (line 95-109) | ○ |
| C-40 | Type::enumでBackedEnumクラス名から列挙値が設定される | E-04 (line 97-103) | ○ |
| C-41 | Type::enumで非BackedEnumクラスにInvalidArgumentExceptionがスローされる | E-04 (line 98-100) | ○ |
| C-42 | Type::toArrayでSerializerに委譲される | E-04 (line 116-119) | ○ |
| C-43 | Type::toStringでJSON文字列に変換される | E-04 (line 124-127) | ○ |
| C-44 | Type::__toStringでtoString()が呼ばれる | E-04 (line 132-135) | ○ |
| C-45 | StringType::minで最小文字長が設定される | E-05 (line 30-35) | ○ |
| C-46 | StringType::maxで最大文字長が設定される | E-05 (line 40-45) | ○ |
| C-47 | StringType::patternで正規表現パターンが設定される | E-05 (line 50-55) | ○ |
| C-48 | StringType::formatでフォーマットが設定される | E-05 (line 62-67) | ○ |
| C-49 | StringType::defaultでデフォルト値が設定される | E-05 (line 72-77) | ○ |
| C-50 | NumberType::minで最小値が設定される | E-06 (line 25-30) | ○ |
| C-51 | NumberType::maxで最大値が設定される | E-06 (line 35-40) | ○ |
| C-52 | NumberType::multipleOfで倍数指定が設定される | E-06 (line 45-50) | ○ |
| C-53 | NumberType::defaultでデフォルト値が設定される | E-06 (line 55-60) | ○ |
| C-54 | IntegerType::minで最小値が設定される | E-07 (line 25-30) | ○ |
| C-55 | IntegerType::maxで最大値が設定される | E-07 (line 35-40) | ○ |
| C-56 | IntegerType::multipleOfで倍数指定が設定される | E-07 (line 45-50) | ○ |
| C-57 | IntegerType::defaultでデフォルト値が設定される | E-07 (line 55-60) | ○ |
| C-58 | BooleanType::defaultでデフォルト値が設定される | E-08 (line 10-15) | ○ |
| C-59 | ArrayType::minで最小アイテム数が設定される | E-09 (line 30-35) | ○ |
| C-60 | ArrayType::maxで最大アイテム数が設定される | E-09 (line 40-45) | ○ |
| C-61 | ArrayType::itemsでアイテムスキーマが設定される | E-09 (line 50-55) | ○ |
| C-62 | ArrayType::uniqueでuniqueItems=trueが設定される | E-09 (line 60-67) | ○ |
| C-63 | ArrayType::defaultでデフォルト値が設定される | E-09 (line 74-79) | ○ |
| C-64 | ObjectType::__constructで空のプロパティでインスタンス生成される | E-10 (line 17-20) | ○ |
| C-65 | ObjectType::__constructでプロパティ配列でインスタンス生成される | E-10 (line 17-20) | ○ |
| C-66 | ObjectType::withoutAdditionalPropertiesでadditionalProperties=falseが設定される | E-10 (line 25-30) | ○ |
| C-67 | ObjectType::defaultでデフォルト値が設定される | E-10 (line 37-42) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - すべてのテストケースはソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースがソースコードの実装に基づいており、信頼性は高い

注意点：
- 本テストケース一覧は実装コードから導出されたものであり、要件定義書や設計書との整合性は別途確認が必要
- BackedEnumのテスト（C-40, C-41）については、実際のテスト実行時に適切なテスト用Enumクラスの準備が必要

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースがソースコードの全publicメソッドをカバーしているか確認
- [ ] 境界値テストケースが適切に設定されているか確認
- [ ] 異常系テストケース（RuntimeException、InvalidArgumentException）の期待結果が正確か確認
- [ ] メソッドチェーン（Fluent Interface）のテストが十分か確認
- [ ] ネスト構造（ObjectType内のObjectType、ArrayType内のType）のテストが十分か確認
- [ ] Serializer::serializeの再帰処理のテストが網羅されているか確認
