---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 42
  claims_with_evidence: 38
  claims_without_evidence: 4
confidence_derived: 0.90
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.90**
  - 根拠あり：38 / 42、根拠なし：4
- 優先レビュー（高）
  1. **稼働率目標値**：フレームワークでは定義されておらず、アプリケーション依存
  2. **RTO/RPO目標値**：具体的な数値目標はコードに存在しない
  3. **DNS再バインディング保護の詳細設定**：デフォルト設定の確認が必要
  4. **ヘルスチェックパスのカスタマイズ**：アプリケーション固有の設定

## 2) 参照した情報（Evidence一覧）

- E-01: `railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt`
- E-02: `railties/lib/rails/generators/rails/app/templates/config/puma.rb.tt`
- E-03: `railties/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt`
- E-04: `activesupport/lib/active_support/cache.rb`
- E-05: `activesupport/lib/active_support/cache/redis_cache_store.rb`
- E-06: `actionpack/lib/action_controller/metal/rate_limiting.rb`
- E-07: `actionpack/lib/action_controller/metal/request_forgery_protection.rb`
- E-08: `actionpack/lib/action_dispatch/http/content_security_policy.rb`
- E-09: `actionpack/lib/action_dispatch/middleware/ssl.rb`
- E-10: `actionpack/lib/action_dispatch/middleware/cookies.rb`
- E-11: `activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb`
- E-12: `railties/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt`
- E-13: `activejob/lib/active_job/exceptions.rb`
- E-14: `actioncable/app/javascript/action_cable/connection_monitor.js`
- E-15: `activesupport/lib/active_support/tagged_logging.rb`
- E-16: `activesupport/lib/active_support/notifications.rb`
- E-17: `railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt`

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Pumaデフォルトスレッド数は3 | E-02 | ○ |
| C-02 | WEB_CONCURRENCYでワーカー数設定 | E-02 | ○ |
| C-03 | 本番環境で静的ファイルにmax-age=1年のキャッシュ設定 | E-01 | ○ |
| C-04 | フラグメントキャッシュはperform_cachingで制御 | E-01 | ○ |
| C-05 | レートリミットは429 Too Many Requestsを返す | E-06 | ○ |
| C-06 | レートリミットでto:とwithin:パラメータ使用 | E-06 | ○ |
| C-07 | Redis接続タイムアウトのデフォルトは1秒 | E-05 | ○ |
| C-08 | キャッシュストアはMemoryStore、FileStore、MemCacheStore、RedisCacheStore、NullStoreが利用可能 | E-04 | ○ |
| C-09 | checkout_timeoutのデフォルトは5秒 | E-11 | ○ |
| C-10 | idle_timeoutのデフォルトは300秒 | E-11 | ○ |
| C-11 | keepaliveのデフォルトは600秒 | E-11 | ○ |
| C-12 | max_connectionsのデフォルトは5 | E-11, E-12 | ○ |
| C-13 | min_connectionsのデフォルトは0 | E-11 | ○ |
| C-14 | pool_jitterのデフォルトは0.2 | E-11 | ○ |
| C-15 | Action CableのstaleThresholdは6秒 | E-14 | ○ |
| C-16 | Action CableのreconnectionBackoffRateは0.15 | E-14 | ○ |
| C-17 | force_sslでHTTP→HTTPSリダイレクト | E-09 | ○ |
| C-18 | HSTSデフォルト有効期限は2年（63,072,000秒） | E-09 | ○ |
| C-19 | HSTSサブドメインはデフォルト有効 | E-09 | ○ |
| C-20 | HSTSプリロードはデフォルト無効 | E-09 | ○ |
| C-21 | assume_sslオプションが存在する | E-01, E-09 | ○ |
| C-22 | CSRF保護はデフォルト有効 | E-07 | ○ |
| C-23 | CSRFトークンパラメータ名はauthenticity_token | E-07 | ○ |
| C-24 | CSP設定はcontent_security_policyブロックで定義 | E-03, E-08 | ○ |
| C-25 | CSP Nonceサポートが存在する | E-03, E-08 | ○ |
| C-26 | 暗号化Cookie、署名Cookieが利用可能 | E-10 | ○ |
| C-27 | config.hostsでDNS再バインディング保護 | E-01 | ○ |
| C-28 | retry_onのデフォルト試行回数は5回 | E-13 | ○ |
| C-29 | retry_onのデフォルト待機時間は3秒 | E-13 | ○ |
| C-30 | polynomially_longerバックオフ戦略が存在する | E-13 | ○ |
| C-31 | attempts: :unlimitedで無制限リトライ | E-13 | ○ |
| C-32 | 開発環境でenable_reloading=true | E-17 | ○ |
| C-33 | 本番環境でenable_reloading=false | E-01 | ○ |
| C-34 | 本番環境のデフォルトログレベルはinfo | E-01 | ○ |
| C-35 | ログ出力先はSTDOUT（本番環境） | E-01 | ○ |
| C-36 | log_tagsにrequest_idを設定 | E-01 | ○ |
| C-37 | silence_healthcheck_pathで/upを抑制 | E-01 | ○ |
| C-38 | ActiveSupport::Notificationsで計測可能 | E-16 | ○ |
| C-39 | 稼働率の具体的目標値 | **根拠なし** | △ |
| C-40 | RTO/RPOの具体的目標値 | **根拠なし** | △ |
| C-41 | 計画停止時間の具体的目標値 | **根拠なし** | △ |
| C-42 | ヘルスチェックパス/upがデフォルト | **根拠なし**（コード内での設定は確認、デフォルト動作の根拠不足） | △ |

## 4) 不足情報（Unknown / Missing）

- **稼働率・RTO・RPO目標値**：Railsフレームワーク自体では定義されない運用要件
  - 候補：インフラ設計書 / SLA定義書 / 運用設計書
- **ヘルスチェックエンドポイントのデフォルト動作**：設定例は存在するが、デフォルトで有効かの明示的な根拠が不足
  - 候補：railties/lib/rails/application.rb / actionpack/lib/action_dispatch/routing.rb

## 5) リスクフラグ（レビュー観点）

- **リスク1（中リスク）**：可用性要件（稼働率、RTO、RPO）はフレームワークでは定義されず、アプリケーション・インフラレベルで別途定義が必要
- **リスク0（低リスク）**：性能要件の設定値はソースコードで確認済み
- **リスク0（低リスク）**：セキュリティ要件の設定値はソースコードで確認済み
- **リスク0（低リスク）**：キャッシュ・タイムアウト設定はソースコードで確認済み

## 6) レビュアーチェックリスト（最小）

- [ ] 稼働率・RTO・RPO目標値が「アプリケーション依存」で問題ないか確認
- [ ] 本番環境でのキャッシュストア設定（Redis推奨）が要件に合致するか確認
- [ ] SSL/HSTS設定がセキュリティポリシーに適合するか確認
- [ ] コネクションプール設定がスレッド数・ワーカー数と整合しているか確認
- [ ] ヘルスチェックエンドポイント（/up）が監視システムと連携可能か確認
- [ ] レートリミット設定がAPIの利用想定に適合するか確認
- [ ] ジョブリトライ設定（回数・待機時間）がビジネス要件に適合するか確認
