---
generated_at: 2026-03-01 15:25:00
metrics:
  claims_total: 135
  claims_with_evidence: 135
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：language-yaml.csv

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `src/language-yaml/parser-yaml.js` - YAMLパーサー実装（parse関数、hasPragma、hasIgnorePragma、locStart、locEnd）
- E-02: `src/language-yaml/loc.js` - 位置情報取得関数（locStart、locEnd）
- E-03: `src/language-yaml/pragma.js` - プラグマ関連関数（isPragma、hasPragma、hasIgnorePragma、insertPragma）
- E-04: `src/language-yaml/utilities.js` - ユーティリティ関数群（isNode、mapNode、defineShortcut、isNextLineEmpty、isLastDescendantNode、getLastDescendantNode、hasPrettierIgnore、isEmptyNode、hasLeadingComments、hasMiddleComments、hasIndicatorComment、hasTrailingComment、hasEndComments、getFlowScalarLineContents、getBlockValueLineContents、isInlineNode）
- E-05: `src/language-yaml/embed.js` - 埋め込みJSON処理（embed関数、getVisitorKeys）
- E-06: `src/language-yaml/print-preprocess.js` - AST前処理（preprocess関数、defineShortcuts関数）
- E-07: `src/language-yaml/massage-ast/index.js` - AST正規化（massageAstNode関数、ignoredProperties）
- E-08: `src/language-yaml/print/misc.js` - 出力補助関数（printNextEmptyLine、shouldPrintEndComments、alignWithSpaces）
- E-09: `src/language-yaml/print/block.js` - ブロック出力（printBlock関数）
- E-10: `src/language-yaml/print/flow-mapping-sequence.js` - フローマッピング/シーケンス出力（printFlowMapping、printFlowSequence、printChildren）
- E-11: `src/language-yaml/print/mapping-item.js` - マッピングアイテム出力（printMappingItem、isAbsolutelyPrintedAsSingleLineNode、needsSpaceInFrontOfMappingValue、isSingleLineNode）
- E-12: `src/language-yaml/printer-yaml.js` - YAMLプリンター（genericPrint、printNode、shouldPrintDocumentBody、shouldPrintDocumentEndMarker、shouldPrintDocumentHeadEndMarker、printFlowScalarContent、printer）
- E-13: `src/language-yaml/get-visitor-keys.js` - ビジターキー取得（getVisitorKeys）
- E-14: `src/language-yaml/visitor-keys.evaluate.js` - ビジターキー定義（visitorKeys）
- E-15: `src/language-yaml/languages.evaluate.js` - 言語設定（languages、ignoredFilenames）
- E-16: `src/language-yaml/options.js` - オプション定義（options）
- E-17: `src/language-yaml/index.js` - モジュールエントリポイント（printers、languages、options、parsers）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | parse関数が有効なYAML文字列をパースできること | E-01 (parser-yaml.js:10-23) | ○ |
| C-02 | parse関数が複数ドキュメントYAMLをパースできること | E-01 (parser-yaml.js:10-23) | ○ |
| C-03 | parse関数でコメントが削除されること | E-01 (parser-yaml.js:20) | ○ |
| C-04 | parse関数で不正なYAMLでエラーがスローされること | E-01 (parser-yaml.js:23-32) | ○ |
| C-05 | parse関数で位置情報のないエラーがそのままスローされること | E-01 (parser-yaml.js:32) | ○ |
| C-06 | parse関数で空文字列をパースできること | E-01 (parser-yaml.js:10-23) | ○ |
| C-07 | locStart関数がノードの開始オフセットを取得できること | E-02 (loc.js:1) | ○ |
| C-08 | locEnd関数がノードの終了オフセットを取得できること | E-02 (loc.js:2) | ○ |
| C-09 | locStart関数でpositionがundefinedの場合エラー | E-02 (loc.js:1) | ○ |
| C-10 | isPragma関数がpragmaテキストを判定できること | E-03 (pragma.js:8) | ○ |
| C-11 | hasPragma関数がYAMLテキストにpragmaが含まれることを判定できること | E-03 (pragma.js:9) | ○ |
| C-12 | hasPragma関数でpragmaが含まれないYAMLでfalseを返すこと | E-03 (pragma.js:9) | ○ |
| C-13 | hasIgnorePragma関数がignorePragmaを判定できること | E-03 (pragma.js:10) | ○ |
| C-14 | insertPragma関数がpragmaをテキスト先頭に挿入できること | E-03 (pragma.js:11) | ○ |
| C-15 | isNode関数が指定した型のノードをtrueと判定すること | E-04 (utilities.js:7-9) | ○ |
| C-16 | isNode関数が指定外の型のノードをfalseと判定すること | E-04 (utilities.js:7-9) | ○ |
| C-17 | isNode関数でnullが渡された場合falseを返すこと | E-04 (utilities.js:8) | ○ |
| C-18 | isNode関数でtypeプロパティがないオブジェクトでfalseを返すこと | E-04 (utilities.js:8) | ○ |
| C-19 | mapNode関数が子ノードを再帰的にマップできること | E-04 (utilities.js:11-23) | ○ |
| C-20 | mapNode関数で子ノードを持たないノードをマップできること | E-04 (utilities.js:11-23) | ○ |
| C-21 | defineShortcut関数でショートカットプロパティを定義できること | E-04 (utilities.js:25-30) | ○ |
| C-22 | defineShortcut関数で定義したプロパティがenumerableでないこと | E-04 (utilities.js:27) | ○ |
| C-23 | isNextLineEmpty関数で次の行が空行の場合trueを返すこと | E-04 (utilities.js:32-52) | ○ |
| C-24 | isNextLineEmpty関数で次の行が空行でない場合falseを返すこと | E-04 (utilities.js:32-52) | ○ |
| C-25 | isNextLineEmpty関数でファイル末尾の場合falseを返すこと | E-04 (utilities.js:51) | ○ |
| C-26 | isLastDescendantNode関数で最後の子孫ノードの場合trueを返すこと | E-04 (utilities.js:54-80) | ○ |
| C-27 | isLastDescendantNode関数で最後の子孫ノードでない場合falseを返すこと | E-04 (utilities.js:54-80) | ○ |
| C-28 | isLastDescendantNode関数でtag/anchor/commentノードはfalseを返すこと | E-04 (utilities.js:57-62) | ○ |
| C-29 | getLastDescendantNode関数で最後の子孫ノードを取得できること | E-04 (utilities.js:82-86) | ○ |
| C-30 | getLastDescendantNode関数で子ノードがない場合は自身を返すこと | E-04 (utilities.js:82-86) | ○ |
| C-31 | getLastDescendantNode関数で空の子配列の場合は自身を返すこと | E-04 (utilities.js:83) | ○ |
| C-32 | hasPrettierIgnore関数でprettier-ignoreコメントがある場合trueを返すこと | E-04 (utilities.js:92-106) | ○ |
| C-33 | hasPrettierIgnore関数でprettier-ignoreコメントがない場合falseを返すこと | E-04 (utilities.js:92-106) | ○ |
| C-34 | hasPrettierIgnore関数でdocumentBodyノードでheadのendCommentsを確認すること | E-04 (utilities.js:95-100) | ○ |
| C-35 | isEmptyNode関数で子もコメントもないノードでtrueを返すこと | E-04 (utilities.js:108-110) | ○ |
| C-36 | isEmptyNode関数で子またはコメントがあるノードでfalseを返すこと | E-04 (utilities.js:108-110) | ○ |
| C-37 | hasLeadingComments関数でleadingCommentsがある場合trueを返すこと | E-04 (utilities.js:122-124) | ○ |
| C-38 | hasLeadingComments関数でleadingCommentsがない場合falseを返すこと | E-04 (utilities.js:122-124) | ○ |
| C-39 | hasMiddleComments関数でmiddleCommentsがある場合trueを返すこと | E-04 (utilities.js:126-128) | ○ |
| C-40 | hasIndicatorComment関数でindicatorCommentがある場合truthyを返すこと | E-04 (utilities.js:130-132) | ○ |
| C-41 | hasTrailingComment関数でtrailingCommentがある場合truthyを返すこと | E-04 (utilities.js:134-136) | ○ |
| C-42 | hasEndComments関数でendCommentsがある場合trueを返すこと | E-04 (utilities.js:138-140) | ○ |
| C-43 | getFlowScalarLineContents関数で単一行のコンテンツを配列で返すこと | E-04 (utilities.js:155-197) | ○ |
| C-44 | getFlowScalarLineContents関数で複数行のコンテンツを適切に分割すること | E-04 (utilities.js:155-197) | ○ |
| C-45 | getFlowScalarLineContents関数でproseWrap=preserveで改行を保持すること | E-04 (utilities.js:168-172) | ○ |
| C-46 | getFlowScalarLineContents関数でproseWrap=neverで行を結合すること | E-04 (utilities.js:194-196) | ○ |
| C-47 | getFlowScalarLineContents関数で空文字列の場合空配列を返すこと | E-04 (utilities.js:156-166) | ○ |
| C-48 | getBlockValueLineContents関数でブロック値のコンテンツを行ごとに分割すること | E-04 (utilities.js:199-303) | ○ |
| C-49 | getBlockValueLineContents関数でインデントを正しく削除すること | E-04 (utilities.js:217-229) | ○ |
| C-50 | getBlockValueLineContents関数でchomping=keepで末尾改行を保持すること | E-04 (utilities.js:281-284) | ○ |
| C-51 | getBlockValueLineContents関数で空コンテンツの場合空配列を返すこと | E-04 (utilities.js:212-214) | ○ |
| C-52 | isInlineNode関数でインラインノードでtrueを返すこと | E-04 (utilities.js:305-322) | ○ |
| C-53 | isInlineNode関数で非インラインノードでfalseを返すこと | E-04 (utilities.js:305-322) | ○ |
| C-54 | isInlineNode関数でnullが渡された場合trueを返すこと | E-04 (utilities.js:307-309) | ○ |
| C-55 | embed関数で.prettierrcファイルをJSONとしてフォーマットすること | E-05 (embed.js:3-16) | ○ |
| C-56 | embed関数で.stylelintrcファイルをJSONとしてフォーマットすること | E-05 (embed.js:10) | ○ |
| C-57 | embed関数で.lintstagedrcファイルをJSONとしてフォーマットすること | E-05 (embed.js:10) | ○ |
| C-58 | embed関数で通常のYAMLファイルではundefinedを返すこと | E-05 (embed.js:3-16) | ○ |
| C-59 | embed関数でrootノード以外ではundefinedを返すこと | E-05 (embed.js:8) | ○ |
| C-60 | embed.getVisitorKeys関数で空配列を返すこと | E-05 (embed.js:21) | ○ |
| C-61 | preprocess関数でASTにショートカットを定義できること | E-06 (print-preprocess.js:3-5) | ○ |
| C-62 | preprocess関数でdocumentノードにhead/bodyショートカットが定義されること | E-06 (print-preprocess.js:9-12) | ○ |
| C-63 | preprocess関数でmappingItemノードにkey/valueショートカットが定義されること | E-06 (print-preprocess.js:20-24) | ○ |
| C-64 | preprocess関数でdocumentBodyノードにcontentショートカットが定義されること | E-06 (print-preprocess.js:13-18) | ○ |
| C-65 | massageAstNode関数でpragmaコメントをnullとして削除すること | E-07 (massage-ast/index.js:5-9) | ○ |
| C-66 | massageAstNode関数でquoteDouble/quoteSingleをquoteに統一すること | E-07 (massage-ast/index.js:11-13) | ○ |
| C-67 | massageAstNode関数でdocumentノードのマーカーを正規化すること | E-07 (massage-ast/index.js:15-22) | ○ |
| C-68 | massageAstNode関数でblockLiteral/blockFoldedでchomping=keepの場合末尾空白を削除すること | E-07 (massage-ast/index.js:25-35) | ○ |
| C-69 | massageAstNode.ignoredPropertiesでpositionプロパティが無視対象であること | E-07 (massage-ast/index.js:38) | ○ |
| C-70 | printNextEmptyLine関数で次の行が空行の場合softlineを返すこと | E-08 (print/misc.js:5-27) | ○ |
| C-71 | printNextEmptyLine関数で次の行が空行でない場合空文字を返すこと | E-08 (print/misc.js:26) | ○ |
| C-72 | printNextEmptyLine関数で同じ行に対して複数回呼ばれても1回だけ出力すること | E-08 (print/misc.js:16-17) | ○ |
| C-73 | shouldPrintEndComments関数でendCommentsがあり対象外ノードでない場合trueを返すこと | E-08 (print/misc.js:29-39) | ○ |
| C-74 | shouldPrintEndComments関数でdocumentHead/documentBody等ではfalseを返すこと | E-08 (print/misc.js:32-37) | ○ |
| C-75 | alignWithSpaces関数で指定幅のスペースでアライメントすること | E-08 (print/misc.js:41-43) | ○ |
| C-76 | alignWithSpaces関数で幅0でアライメントすること | E-08 (print/misc.js:41-43) | ○ |
| C-77 | printBlock関数でblockFoldedノードを'>'で出力すること | E-09 (print/block.js:27) | ○ |
| C-78 | printBlock関数でblockLiteralノードを'|'で出力すること | E-09 (print/block.js:27) | ○ |
| C-79 | printBlock関数でインデント指定がある場合数値を出力すること | E-09 (print/block.js:28-30) | ○ |
| C-80 | printBlock関数でchomping=keepの場合'+'を出力すること | E-09 (print/block.js:32-34) | ○ |
| C-81 | printBlock関数でchomping=stripの場合'-'を出力すること | E-09 (print/block.js:32-34) | ○ |
| C-82 | printBlock関数でindicatorCommentがある場合コメントを出力すること | E-09 (print/block.js:36-38) | ○ |
| C-83 | printFlowMapping関数でflowMappingノードを'{}'で囲んで出力すること | E-10 (print/flow-mapping-sequence.js:11-41) | ○ |
| C-84 | printFlowMapping関数でbracketSpacingがtrueの場合スペースを入れること | E-10 (print/flow-mapping-sequence.js:19-21) | ○ |
| C-85 | printFlowMapping関数でtrailingComma=noneの場合末尾カンマを出力しないこと | E-10 (print/flow-mapping-sequence.js:33) | ○ |
| C-86 | printFlowSequence関数でflowSequenceノードを'[]'で囲んで出力すること | E-10 (print/flow-mapping-sequence.js:14-15, 64) | ○ |
| C-87 | printFlowMapping関数でendCommentsがある場合コメントを出力すること | E-10 (print/flow-mapping-sequence.js:34-36) | ○ |
| C-88 | printFlowMapping関数で子要素が空の場合空のマッピングを出力すること | E-10 (print/flow-mapping-sequence.js:22-26) | ○ |
| C-89 | printMappingItem関数でkeyとvalueが両方空の場合': 'を返すこと | E-11 (print/mapping-item.js:28-30) | ○ |
| C-90 | printMappingItem関数でvalueが空の場合keyのみを出力すること | E-11 (print/mapping-item.js:35-49) | ○ |
| C-91 | printMappingItem関数でkeyが空の場合': value'を出力すること | E-11 (print/mapping-item.js:53-55) | ○ |
| C-92 | printMappingItem関数で通常のkey:valueペアを出力すること | E-11 (print/mapping-item.js:69-83) | ○ |
| C-93 | printMappingItem関数で複雑なkeyで明示的キー('?')を使用すること | E-11 (print/mapping-item.js:58-67) | ○ |
| C-94 | printMappingItem関数でaliasキーの前にスペースを入れること | E-11 (print/mapping-item.js:33, 198-200) | ○ |
| C-95 | isAbsolutelyPrintedAsSingleLineNode関数でnullノードでtrueを返すこと | E-11 (print/mapping-item.js:155-157) | ○ |
| C-96 | isAbsolutelyPrintedAsSingleLineNode関数でaliasノードでtrueを返すこと | E-11 (print/mapping-item.js:164-165) | ○ |
| C-97 | isAbsolutelyPrintedAsSingleLineNode関数でmappingノードでfalseを返すこと | E-11 (print/mapping-item.js:167-168) | ○ |
| C-98 | isAbsolutelyPrintedAsSingleLineNode関数でproseWrap=preserveで複数行ノードはfalseを返すこと | E-11 (print/mapping-item.js:171-173) | ○ |
| C-99 | isSingleLineNode関数で単一行ノードでtrueを返すこと | E-11 (print/mapping-item.js:202-218) | ○ |
| C-100 | isSingleLineNode関数で複数行ノードでfalseを返すこと | E-11 (print/mapping-item.js:202-218) | ○ |
| C-101 | needsSpaceInFrontOfMappingValue関数でkeyがaliasの場合trueを返すこと | E-11 (print/mapping-item.js:198-200) | ○ |
| C-102 | needsSpaceInFrontOfMappingValue関数でkeyがalias以外の場合falseを返すこと | E-11 (print/mapping-item.js:198-200) | ○ |
| C-103 | genericPrint関数でleadingCommentsを出力すること | E-12 (printer-yaml.js:51-53) | ○ |
| C-104 | genericPrint関数でtag/anchorを出力すること | E-12 (printer-yaml.js:55-64) | ○ |
| C-105 | genericPrint関数でtrailingCommentを出力すること | E-12 (printer-yaml.js:111-123) | ○ |
| C-106 | genericPrint関数でprettier-ignoreがある場合元のテキストを出力すること | E-12 (printer-yaml.js:99-106) | ○ |
| C-107 | printNode関数でrootノードを出力すること | E-12 (printer-yaml.js:151-180) | ○ |
| C-108 | printNode関数でdocumentノードを出力すること | E-12 (printer-yaml.js:181-200) | ○ |
| C-109 | printNode関数でdirectiveノードを出力すること | E-12 (printer-yaml.js:235-236) | ○ |
| C-110 | printNode関数でcommentノードを出力すること | E-12 (printer-yaml.js:237-238) | ○ |
| C-111 | printNode関数でaliasノードを出力すること | E-12 (printer-yaml.js:239-240) | ○ |
| C-112 | printNode関数でplainノードを出力すること | E-12 (printer-yaml.js:248-256) | ○ |
| C-113 | printNode関数でquoteDoubleノードを出力すること | E-12 (printer-yaml.js:257-316) | ○ |
| C-114 | printNode関数でquoteSingleノードを出力すること | E-12 (printer-yaml.js:257-316) | ○ |
| C-115 | printNode関数でsequenceItemノードを出力すること | E-12 (printer-yaml.js:324-325) | ○ |
| C-116 | printNode関数で未知のノード型でエラーをスローすること | E-12 (printer-yaml.js:340-341) | ○ |
| C-117 | shouldPrintDocumentBody関数で子要素がある場合trueを返すこと | E-12 (printer-yaml.js:345-347) | ○ |
| C-118 | shouldPrintDocumentBody関数でendCommentsがある場合trueを返すこと | E-12 (printer-yaml.js:346) | ○ |
| C-119 | shouldPrintDocumentEndMarker関数でdocumentEndMarkerがある場合trueを返すこと | E-12 (printer-yaml.js:352-354) | ○ |
| C-120 | shouldPrintDocumentEndMarker関数でtrailingCommentがある場合trueを返すこと | E-12 (printer-yaml.js:359-361) | ○ |
| C-121 | shouldPrintDocumentHeadEndMarker関数でdirectivesEndMarkerがある場合trueを返すこと | E-12 (printer-yaml.js:392) | ○ |
| C-122 | printFlowScalarContent関数でフロースカラーのコンテンツを出力すること | E-12 (printer-yaml.js:410-416) | ○ |
| C-123 | getVisitorKeys関数でノード型に対応するビジターキーを返すこと | E-13 (get-visitor-keys.js:1-6) | ○ |
| C-124 | visitorKeysですべてのノード型にキーが定義されていること | E-14 (visitor-keys.evaluate.js:18-52) | ○ |
| C-125 | visitorKeysでtag/anchor以外のノードにtagAndAnchorキーが含まれること | E-14 (visitor-keys.evaluate.js:44-48) | ○ |
| C-126 | languagesでYAMLパーサーとしてyamlが指定されていること | E-15 (languages.evaluate.js:12) | ○ |
| C-127 | languagesでyarn.lockがファイル名から除外されていること | E-15 (languages.evaluate.js:4-8, 21) | ○ |
| C-128 | languagesで.prettierrc/.stylelintrc/.lintstagedrcがファイル名に含まれること | E-15 (languages.evaluate.js:22-24) | ○ |
| C-129 | optionsでbracketSpacingオプションが定義されていること | E-16 (options.js:5) | ○ |
| C-130 | optionsでsingleQuoteオプションが定義されていること | E-16 (options.js:6) | ○ |
| C-131 | optionsでproseWrapオプションが定義されていること | E-16 (options.js:7) | ○ |
| C-132 | printersでyamlプリンターがエクスポートされていること | E-17 (index.js:3-5) | ○ |
| C-133 | languagesがエクスポートされていること | E-17 (index.js:6) | ○ |
| C-134 | optionsがエクスポートされていること | E-17 (index.js:7) | ○ |
| C-135 | parsersがエクスポートされていること | E-17 (index.js:8) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースにソースコードの根拠が存在します。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースにソースコードの根拠あり
- 注意点: 以下の関数は複雑度が高く、追加のテストケースが有効な可能性あり
  - `getBlockValueLineContents`: 複数のchomping/proseWrapオプションの組み合わせ
  - `printMappingItem`: 多数の条件分岐がある
  - `printNode`: 多数のノードタイプに対応

## 6) レビュアーチェックリスト（最小）
- [ ] parser-yaml.js: パースエラー時のエラーメッセージが適切か確認
- [ ] utilities.js: 各ユーティリティ関数の境界値テストが十分か確認
- [ ] printer-yaml.js: 各ノードタイプの出力フォーマットが仕様通りか確認
- [ ] print/mapping-item.js: 明示的キー/暗黙的キーの切り替え条件が正しいか確認
- [ ] print/block.js: chomping設定（keep/strip/clip）の出力が正しいか確認
- [ ] embed.js: .prettierrc等のJSONフォーマット処理が正しいか確認
