---
generated_at: 2026-02-19 23:45:00
metrics:
  claims_total: 45
  claims_with_evidence: 43
  claims_without_evidence: 2
confidence_derived: 0.96
---

# 根拠レポート：非機能要件定義書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：43 / 45、根拠なし：2
- 優先レビュー（高）
  1. **稼働率99%以上**：明示的なSLA定義がコード上に存在しない
  2. **単一ファイルコンパイル目標値**：具体的な数値目標がコードから読み取れない

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

- E-01: `src/Compiler/Utilities/Caches.fs` - キャッシュ実装（TotalCapacity, HeadroomPercentage, EvictionMode）
- E-02: `azure-pipelines.yml` - CI/CDパイプライン設定（タイムアウト、署名、セキュリティスキャン）
- E-03: `azure-pipelines-PR.yml` - PRパイプライン設定（キャッシュ環境変数、ダンプ設定）
- E-04: `eng/Versions.props` - バージョン定義（FSMajorVersion, FCSVersion等）
- E-05: `global.json` - SDK・ツールバージョン定義
- E-06: `eng/TSAConfig.gdntsa` - セキュリティ設定（TSA、通知先）
- E-07: `eng/common/templates-official/variables/sdl-variables.yml` - Guardianバージョン
- E-08: `eng/Signing.props` - 署名設定
- E-09: `eng/TargetFrameworks.props` - ターゲットフレームワーク設定
- E-10: `src/Compiler/Utilities/Activity.fs` - メトリクス・トレーシング実装
- E-11: `tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs` - テストタイムアウト設定
- E-12: `eng/common/core-templates/job/job.yml` - ジョブテンプレート（リトライポリシー）
- E-13: `tests/FSharp.Compiler.Service.Tests/xunit.runner.json` - テスト実行設定
- E-14: `Directory.Build.props` - ビルドプロパティ（ReadyToRun設定）
- E-15: `tests/benchmarks/` - ベンチマーク基盤

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | キャッシュTotalCapacityデフォルト1024 | E-01 (191行目) | ○ |
| C-02 | HeadroomPercentageデフォルト50% | E-01 (192行目) | ○ |
| C-03 | EvictionModeデフォルトMailboxProcessor | E-01 (183-187行目) | ○ |
| C-04 | FSharp_CacheEvictionImmediate環境変数制御 | E-01 (177-181行目) | ○ |
| C-05 | FSHARP_CACHE_OVERRIDE=256 | E-02 (150行目) | ○ |
| C-06 | ビルドタイムアウト300分 | E-02 (116行目) | ○ |
| C-07 | 署名タイプReal | E-02 (44, 129-130行目) | ○ |
| C-08 | MicroBuild署名有効 | E-02 (118-124, 142行目) | ○ |
| C-09 | BinSkim有効 | E-02 (67-68行目) | ○ |
| C-10 | PoliCheck有効 | E-02 (69-70行目) | ○ |
| C-11 | TSA有効 | E-02 (74-76行目) | ○ |
| C-12 | CodeQL有効 | E-02 (49-50行目) | ○ |
| C-13 | FSMajorVersion=11 | E-04 (20行目) | ○ |
| C-14 | FSLanguageVersion=11.0 | E-04 (26行目) | ○ |
| C-15 | FSharpCompilerServicePackageVersion=43.12.100 | E-04 (44行目) | ○ |
| C-16 | SDK version=10.0.101 | E-05 (3行目) | ○ |
| C-17 | Arcade SDK=10.0.0-beta.26110.1 | E-05 (22行目) | ○ |
| C-18 | VS version=18.0 | E-05 (14行目) | ○ |
| C-19 | TSAコードベース名FSharp-GitHub | E-06 (3行目) | ○ |
| C-20 | 通知先fsharp@microsoft.com | E-06 (4行目) | ○ |
| C-21 | Guardianバージョン0.109.0 | E-07 (5行目) | ○ |
| C-22 | UseDotNetCertificate=true | E-08 (9行目) | ○ |
| C-23 | FSharpNetCoreProductTargetFramework=net10.0 | E-09 (14行目) | ○ |
| C-24 | Meterソース名fsc | E-10 (22行目) | ○ |
| C-25 | ProfiledSourceName=fsc_with_env_stats | E-10 (17行目) | ○ |
| C-26 | CacheMetrics.adds定義 | E-01 (13行目) | ○ |
| C-27 | CacheMetrics.hits定義 | E-01 (15行目) | ○ |
| C-28 | CacheMetrics.misses定義 | E-01 (16行目) | ○ |
| C-29 | CacheMetrics.evictions定義 | E-01 (17行目) | ○ |
| C-30 | テストタイムアウトDEBUG=15000ms | E-11 (11行目) | ○ |
| C-31 | テストタイムアウトRELEASE=200000ms | E-11 (14行目) | ○ |
| C-32 | NuGetリトライ3回2000ms | E-12 (79-80行目) | ○ |
| C-33 | enableBuildRetryパラメータ | E-12 (27行目) | ○ |
| C-34 | VSDrop保持90日 | E-02 (197行目) | ○ |
| C-35 | parallelizeAssembly=true | E-13 (4行目) | ○ |
| C-36 | appDomain=denied | E-13 (3行目) | ○ |
| C-37 | EnablePublishReadyToRun=true | E-14 (44行目) | ○ |
| C-38 | Helix SDK=8.0.0-beta.23255.2 | E-05 (23行目) | ○ |
| C-39 | helixRepo=dotnet/fsharp | E-02 (110行目) | ○ |
| C-40 | centos-stream9コンテナ | E-02 (107行目) | ○ |
| C-41 | DOTNET_DbgMiniDumpType=3 | E-03 (311行目) | ○ |
| C-42 | ベンチマーク基盤存在 | E-15 | ○ |
| C-43 | CsvExport対応 | E-10 (255-332行目) | ○ |
| C-44 | 稼働率99%以上 | **根拠なし** | △ |
| C-45 | 単一ファイルコンパイル目標値 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **稼働率99%以上（C-44）**：明示的なSLA/SLO定義がコードベースに存在しない。CI/CDの安定性に基づく推定値であり、運用ドキュメントまたはサービス契約の確認が必要
  - 候補：運用マニュアル / SLA定義書 / Azure DevOps SLO設定
- **単一ファイルコンパイル目標値（C-45）**：具体的なレスポンスタイム目標がベンチマーク結果以外に定義されていない
  - 候補：性能要件書 / ベンチマーク基準値 / リグレッション閾値設定

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - キャッシュ設定、バージョン情報、ビルド設定（コードから直接読み取り可能）
- 0: 低リスク - セキュリティスキャン設定（azure-pipelines.ymlで明示的に定義）
- 0: 低リスク - メトリクス・トレーシング設定（Activity.fs, Caches.fsで実装確認済み）
- 1: 中リスク - 可用性要件（稼働率）の明示的な定義がない
- 1: 中リスク - 性能目標値の明示的な定義がない（ベンチマークは存在するが閾値未定義）

## 6) レビュアーチェックリスト（最小）
- [ ] 稼働率99%以上の根拠を運用チームに確認
- [ ] 性能目標値（レスポンスタイム等）の定義有無を確認
- [ ] キャッシュ設定のデフォルト値が実運用に適切か確認
- [ ] セキュリティスキャン設定（BinSkim, PoliCheck等）の網羅性確認
- [ ] テストタイムアウト値がCI環境で適切か確認
- [ ] ベンチマーク基準値の設定・運用方針を確認
