---
generated_at: 2026-02-18 10:30:00
metrics:
  claims_total: 96
  claims_with_evidence: 96
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：private-configurations.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：96 / 96、根拠なし：0
- 優先レビュー（高）
  1. **validation系テストケース（C-01〜C-38）**：各バリデーションスクリプトのロジックを直接解析
  2. **configuration.ps1のパス初期化（C-39〜C-50）**：OS条件分岐ロジックの網羅性確認
  3. **settings系テストケース（C-51〜C-96）**：Handler定義と期待動作の整合性確認

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `private/configurations/validation/string.ps1`
- E-02: `private/configurations/validation/integer.ps1`
- E-03: `private/configurations/validation/integer0to9.ps1`
- E-04: `private/configurations/validation/integerpositive.ps1`
- E-05: `private/configurations/validation/long.ps1`
- E-06: `private/configurations/validation/double.ps1`
- E-07: `private/configurations/validation/bool.ps1`
- E-08: `private/configurations/validation/datetime.ps1`
- E-09: `private/configurations/validation/timespan.ps1`
- E-10: `private/configurations/validation/securestring.ps1`
- E-11: `private/configurations/validation/sizestyle.ps1`
- E-12: `private/configurations/configuration.ps1`
- E-13: `private/configurations/settings/sql.ps1`
- E-14: `private/configurations/settings/logging.ps1`
- E-15: `private/configurations/settings/paths.ps1`
- E-16: `private/configurations/settings/computermanagement.ps1`
- E-17: `private/configurations/settings/tabexpansion.ps1`
- E-18: `private/configurations/settings/remoting.ps1`
- E-19: `private/configurations/settings/formatting.ps1`
- E-20: `private/configurations/settings/userinteraction.ps1`
- E-21: `private/configurations/settings/import.ps1`
- E-22: `private/configurations/settings/azure.ps1`
- E-23: `private/configurations/settings/availabilitygroups.ps1`
- E-24: `private/configurations/settings/commands.ps1`
- E-25: `private/configurations/settings/assets.ps1`

## 3) Claims と根拠の対応（レビューの主戦場）

### バリデーション関連（C-01〜C-38）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | string検証: 有効な文字列が検証に成功 | E-01 (L12-14: try-catchでstring変換) | ○ |
| C-02 | string検証: 空文字列が検証に失敗 | E-01 (L21-25: IsNullOrEmptyチェック) | ○ |
| C-03 | string検証: null値が検証に失敗 | E-01 (L21-25: IsNullOrEmptyチェック) | ○ |
| C-04 | string検証: オブジェクト型名のみの場合に失敗 | E-01 (L27-31: GetType().FullName比較) | ○ |
| C-05 | integer検証: 有効な整数が検証に成功 | E-02 (L12-13: [int]キャスト) | ○ |
| C-06 | integer検証: 負の整数が検証に成功 | E-02 (制約なし) | ○ |
| C-07 | integer検証: 文字列が検証に失敗 | E-02 (L13-17: catch節) | ○ |
| C-08 | integer検証: Int32最大値が検証に成功 | E-02 ([int]型使用) | ○ |
| C-09 | integer検証: Int32最小値が検証に成功 | E-02 ([int]型使用) | ○ |
| C-10 | integer0to9検証: 0-9の範囲が成功 | E-03 (L12-17: 範囲チェック) | ○ |
| C-11 | integer0to9検証: 0が成功 | E-03 (L19: $number -lt 0) | ○ |
| C-12 | integer0to9検証: 9が成功 | E-03 (L19: $number -gt 9) | ○ |
| C-13 | integer0to9検証: 10以上が失敗 | E-03 (L19-23: 範囲外チェック) | ○ |
| C-14 | integer0to9検証: 負の整数が失敗 | E-03 (L19-23: 範囲外チェック) | ○ |
| C-15 | integerpositive検証: 正の整数が成功 | E-04 (L12-17: 基本ロジック) | ○ |
| C-16 | integerpositive検証: 0が成功 | E-04 (L19: $number -lt 0, 0は含まない) | ○ |
| C-17 | integerpositive検証: 負の整数が失敗 | E-04 (L19-23: 負数チェック) | ○ |
| C-18 | long検証: 有効なlong型値が成功 | E-05 (L12: [long]キャスト) | ○ |
| C-19 | long検証: 文字列が失敗 | E-05 (L13-17: catch節) | ○ |
| C-20 | long検証: Int64最大値が成功 | E-05 ([long]型使用) | ○ |
| C-21 | double検証: 有効なdouble型値が成功 | E-06 (L12: [double]キャスト) | ○ |
| C-22 | double検証: 整数がdoubleに変換 | E-06 (暗黙変換) | ○ |
| C-23 | double検証: 文字列が失敗 | E-06 (L13-17: catch節) | ○ |
| C-24 | bool検証: true値が成功 | E-07 (L12: System.Boolean型チェック) | ○ |
| C-25 | bool検証: false値が成功 | E-07 (L12: System.Boolean型チェック) | ○ |
| C-26 | bool検証: 文字列'true'が失敗 | E-07 (L12-16: 型チェック) | ○ |
| C-27 | bool検証: 整数1が失敗 | E-07 (L12-16: 型チェック) | ○ |
| C-28 | datetime検証: 有効なDateTime値が成功 | E-08 (L12: [DateTime]キャスト) | ○ |
| C-29 | datetime検証: 日付文字列が変換 | E-08 (暗黙変換) | ○ |
| C-30 | datetime検証: 不正な日付文字列が失敗 | E-08 (L13-17: catch節) | ○ |
| C-31 | timespan検証: 有効なTimeSpan値が成功 | E-09 (L12: [timespan]キャスト) | ○ |
| C-32 | timespan検証: TimeSpan文字列が変換 | E-09 (暗黙変換) | ○ |
| C-33 | timespan検証: 不正な文字列が失敗 | E-09 (L13-17: catch節) | ○ |
| C-34 | securestring検証: 有効なSecureString値が成功 | E-10 (L12: System.Security.SecureString型チェック) | ○ |
| C-35 | securestring検証: 通常の文字列が失敗 | E-10 (L12-16: 型チェック) | ○ |
| C-36 | securestring検証: null値が失敗 | E-10 (L17-21: catch節) | ○ |
| C-37 | sizestyle検証: 有効なSizeStyle値が成功 | E-11 (L12: SizeStyle型キャスト) | ○ |
| C-38 | sizestyle検証: 不正なSizeStyle値が失敗 | E-11 (L13-17: catch節) | ○ |

### 設定ファイル初期化関連（C-39〜C-50）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-39 | Windowsでpath_FileUserLocalが設定される | E-12 (L68-84: Windows分岐) | ○ |
| C-40 | Linux/macOSでpath_FileUserLocalが設定される | E-12 (L60-67: Unix分岐) | ○ |
| C-41 | Windowsでpath_FileUserSharedが設定される | E-12 (L99-105: Windows分岐) | ○ |
| C-42 | Linux/macOSでpath_FileUserSharedが設定される | E-12 (L94-97: Unix分岐) | ○ |
| C-43 | Windowsでpath_FileSystemが設定される | E-12 (L121-125: Windows分岐) | ○ |
| C-44 | Linux/macOSでpath_FileSystemが設定される | E-12 (L111-119: Unix分岐) | ○ |
| C-45 | WindowsでNoRegistryが$false | E-12 (L138-141: バージョン・OS判定) | ○ |
| C-46 | 非WindowsでNoRegistryが$true | E-12 (L139-141: PS6+かつ非Windows判定) | ○ |
| C-47 | validation配下がインポートされる | E-12 (L146-154: foreachループ) | ○ |
| C-48 | settings配下がインポートされる | E-12 (L158-166: foreachループ) | ○ |
| C-49 | 永続化された設定が読み込まれる | E-12 (L168-193: Read-DbatoolsConfigPersisted呼び出し) | ○ |
| C-50 | sql.connection.encryptのbool変換 | E-12 (L175-181: 特殊処理) | ○ |

### Settings関連（C-51〜C-96）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | sql.connection.timeoutが設定される | E-13 (L2: Set-DbatoolsConfig + Handler) | ○ |
| C-52 | タイムアウト0秒が設定可能 | E-13 (integerpositive validation: 0許可) | ○ |
| C-53 | sql.connection.encryptがデフォルト$true | E-13 (L21: Value=$true) | ○ |
| C-54 | sql.connection.trustcertがデフォルト$false | E-13 (L24: Value=$false) | ○ |
| C-55 | sql.connection.packetsizeが設定される | E-13 (L8: Value=4096) | ○ |
| C-56 | sql.execution.timeoutが設定される | E-13 (L17: Value=0) | ○ |
| C-57 | Logging.MaxErrorCountが設定される | E-14 (L9: Handler定義) | ○ |
| C-58 | Logging.MaxMessageCountが設定される | E-14 (L10: Handler定義) | ○ |
| C-59 | Logging.MaxMessagefileBytesが設定される | E-14 (L11: Value=5MB) | ○ |
| C-60 | Logging.MaxLogFileAgeが設定される | E-14 (L15: TimeSpan -Days 7) | ○ |
| C-61 | Logging.MessageLogFileEnabledが有効化される | E-14 (L16: Value=$true) | ○ |
| C-62 | Logging.ErrorLogEnabledが有効化される | E-14 (L19: Value=$true) | ○ |
| C-63 | Path.DbatoolsDataが設定される | E-15 (L49: Join-DbaPath) | ○ |
| C-64 | Path.DbatoolsTempが設定される | E-15 (L52: Value=$temp) | ○ |
| C-65 | Path.DbatoolsLogPathが設定される | E-15 (L55: Handler定義) | ○ |
| C-66 | Path.TagCacheが設定される | E-15 (L58: Resolve-Path) | ○ |
| C-67 | TEMPパスが存在しない場合に作成 | E-15 (L27-29: New-Item) | ○ |
| C-68 | Unix環境でパスが正しく計算される | E-15 (L78-93: Unix分岐) | ○ |
| C-69 | ComputerManagement.BadConnectionTimeoutが設定される | E-16 (L6: Handler定義) | ○ |
| C-70 | ComputerManagement.Cache.Disable.Allが設定される | E-16 (L12: Handler定義) | ○ |
| C-71 | ComputerManagement.Type.Disable.WMIがデフォルト$true | E-16 (L32: Value=$true) | ○ |
| C-72 | ComputerManagement.CimOperationTimeoutが設定される | E-16 (L9: TimeSpan -Seconds 60) | ○ |
| C-73 | TabExpansion.UpdateIntervalが設定される | E-17 (L2: Handler定義) | ○ |
| C-74 | TabExpansion.Disable時にRunspace停止 | E-17 (L6-21: Handler内でStop()呼び出し) | ○ |
| C-75 | TabExpansion有効化時にRunspace起動 | E-17 (L15-19: Handler内でStart()呼び出し) | ○ |
| C-76 | PSRemoting.Sessions.ExpirationTimeoutが設定される | E-18 (L2: Handler定義) | ○ |
| C-77 | PSRemoting.Sessions.Enableが有効化される | E-18 (L5: Handler定義) | ○ |
| C-78 | PSRemoting.PsSession.UseSSLが設定可能 | E-18 (L15: bool validation) | ○ |
| C-79 | Formatting.Dateが設定される | E-19 (L2: Handler定義) | ○ |
| C-80 | Formatting.DateTimeが設定される | E-19 (L5: Handler定義) | ○ |
| C-81 | Formatting.size.styleが設定される | E-19 (L16: sizestyle validation) | ○ |
| C-82 | Formatting.size.digitsが設定される | E-19 (L17: integer0to9 validation) | ○ |
| C-83 | message.maximuminfoが設定される | E-20 (L7: Handler定義) | ○ |
| C-84 | message.consoleoutput.disableが設定される | E-20 (L14: Handler定義) | ○ |
| C-85 | message.style.breadcrumbsが設定される | E-20 (L19: Handler定義) | ○ |
| C-86 | Import.StrictSecurityModeが設定される | E-21 (L2-19: レジストリ操作Handler) | ○ |
| C-87 | Import.SerialImportが設定される | E-21 (L22-39: レジストリ操作Handler) | ○ |
| C-88 | Import.SqlpsCheckが設定可能 | E-21 (L42: bool validation) | ○ |
| C-89 | azure.tenantidが設定される | E-22 (L2: string validation) | ○ |
| C-90 | azure.clientsecretがSecureStringで設定される | E-22 (L8: securestring validation) | ○ |
| C-91 | azure.certificate.thumbprintが設定される | E-22 (L11: string validation) | ○ |
| C-92 | AvailabilityGroups.Default.ClusterTypeが設定される | E-23 (L9: Value='Wsfc') | ○ |
| C-93 | AvailabilityGroups.Default.FailureConditionLevelが設定される | E-23 (L12: Value='OnCriticalServerErrors') | ○ |
| C-94 | commands.Write-DbaDbTableData.timespantypeが設定される | E-24 (L2: string validation) | ○ |
| C-95 | commands.resolve-dbanetworkname.bypassが設定される | E-24 (L8: bool validation) | ○ |
| C-96 | assets.sqlbuildreferenceが設定される | E-25 (L6: URL値) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし

すべてのテストケースはソースコードの直接解析に基づいて生成されており、根拠が明確に存在します。

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - すべてのテストケースがソースコードに直接対応しており、信頼度が高い

注意点：
1. OS依存の分岐テスト（C-39〜C-46、C-67〜C-68）は実行環境によってテスト可否が変わる
2. レジストリ操作テスト（C-86〜C-87）はWindows環境でのみ有効
3. Handler内でのRunspace操作（C-74〜C-75）は副作用を伴うためモック化が推奨される

## 6) レビュアーチェックリスト（最小）
- [ ] バリデーションスクリプト（validation/）の全11ファイルに対応するテストケースが存在するか
- [ ] 設定スクリプト（settings/）の全13ファイルに対応するテストケースが存在するか
- [ ] configuration.ps1の初期化ロジック（パス設定、レジストリ判定、ファイルインポート）がカバーされているか
- [ ] 境界値テスト（integer0to9の0と9、integerの最大最小値）が適切に設計されているか
- [ ] OS依存の分岐（Windows/Linux/macOS）がテスト対象として明示されているか
- [ ] Handler内での外部依存（ConnectionHost、LogHost、MessageHost等）の動作確認が含まれているか
