---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 52
  claims_with_evidence: 48
  claims_without_evidence: 4
confidence_derived: 0.92
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.92**
  - 根拠あり：48 / 52、根拠なし：4
- 優先レビュー（高）
  1. **稼働率・RPO/RTO**: 明示的な定義がコードベースに存在しない
  2. **同時接続数上限**: 明示的な上限値の定義がない
  3. **セキュリティ監査要件**: 監査ログの保持期間等の明示がない
  4. **バックアップ要件**: バックアップ戦略の明示的な定義がない

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

- E-01: `packages/core/framework/src/config/config.ts`
- E-02: `packages/core/types/src/common/config-module.ts`
- E-03: `packages/core/utils/src/common/retry-execution.ts`
- E-04: `packages/modules/providers/caching-redis/src/services/redis-cache.ts`
- E-05: `packages/core/orchestration/src/transaction/transaction-orchestrator.ts`
- E-06: `packages/core/framework/src/http/middlewares/error-handler.ts`
- E-07: `packages/core/framework/src/http/middlewares/authenticate-middleware.ts`
- E-08: `packages/core/framework/src/http/express-loader.ts`
- E-09: `packages/core/framework/src/database/pg-connection-loader.ts`
- E-10: `packages/modules/event-bus-redis/src/services/event-bus-redis.ts`
- E-11: `packages/modules/providers/locking-redis/src/services/redis-lock.ts`
- E-12: `packages/cli/medusa-cli/src/reporter/index.ts`
- E-13: `packages/core/utils/src/dal/mikro-orm/mikro-orm-create-connection.ts`
- E-14: `packages/core/types/src/cache/service.ts`
- E-15: `CLAUDE.md` (プロジェクト説明)

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ワークフローステップデフォルトTTL 30秒 | E-05 (DEFAULT_TTL = 30) | ○ |
| C-02 | ロック取得タイムアウト5秒 | E-11 (waitLockingTimeout: number = 5) | ○ |
| C-03 | セッションクッキー有効期限10時間 | E-08 (maxAge: 10 * 60 * 60 * 1000) | ○ |
| C-04 | JWT有効期限1日 | E-01 (jwtExpiresIn: http?.jwtExpiresIn ?? "1d") | ○ |
| C-05 | DB接続プール最小2 | E-09 (poolMin = driverOptions.pool?.min ?? 2) | ○ |
| C-06 | MikroORMバッチサイズ100 | E-13 (batchSize: 100) | ○ |
| C-07 | ジョブバッチサイズ1000 | E-02 (jobsBatchSize?: number) - コメントでデフォルト1000と記載 | ○ |
| C-08 | イベントバスリトライ1回 | E-10 (attempts: 1) | ○ |
| C-09 | Redisキャッシュデフォルト1時間 | E-04 (defaultTTL = options?.ttl ?? 3600) | ○ |
| C-10 | 圧縮閾値2KB | E-04 (compressionThreshold = options?.compressionThreshold ?? 2048) | ○ |
| C-11 | グループイベントTTL 600秒 | E-10 (groupedEventsTTL = 600) | ○ |
| C-12 | DB接続リトライ最大5回 | E-09 (maxRetries: 5) | ○ |
| C-13 | DB接続リトライ遅延1000ms | E-09 (retryDelay: 1000) | ○ |
| C-14 | ワークフローデフォルトリトライ0回 | E-05 (DEFAULT_RETRIES = 0) | ○ |
| C-15 | ロックリトライ間隔5-200ms | E-11 (defaultRetryInterval: 5, maximumRetryInterval: 200) | ○ |
| C-16 | ワーカーモード3種類 | E-02 (workerMode?: "shared" / "worker" / "server") | ○ |
| C-17 | セッション認証express-session | E-08 (import session from "express-session") | ○ |
| C-18 | JWT認証jsonwebtoken | E-07 (import { verify } from "jsonwebtoken") | ○ |
| C-19 | APIキー認証sk_プレフィックス | E-07 (normalizedToken.startsWith("sk_")) | ○ |
| C-20 | CORS設定3種類 | E-02 (authCors, storeCors, adminCors) | ○ |
| C-21 | 本番環境secure/sameSite設定 | E-08 (secure = true; sameSite = "none") | ○ |
| C-22 | trust proxy設定1 | E-08 (app.set("trust proxy", 1)) | ○ |
| C-23 | 開発環境デフォルトシークレット | E-01 (http.jwtSecret = "supersecret") | ○ |
| C-24 | アクターベース認証 | E-07 (actorType: string, authType: AuthType) | ○ |
| C-25 | フィールド制限機能 | E-02 (restrictedFields?: { store?: string[] }) | ○ |
| C-26 | 30以上のモジュール | E-15 (CLAUDE.mdに記載) | ○ |
| C-27 | プラグインシステム | E-02 (plugins配列の定義) | ○ |
| C-28 | ワークフローSDK | E-05, E-15 (TransactionOrchestrator, createWorkflow) | ○ |
| C-29 | TypeScript ES2021 | E-15 (Target: ES2021) | ○ |
| C-30 | strictNullChecks有効 | E-15 (Strict null checks enabled) | ○ |
| C-31 | Prettier設定 | E-15 (No semicolons, Double quotes等) | ○ |
| C-32 | Jest 29.7.0 | E-15 (Jest 29.7.0 (backend/core)) | ○ |
| C-33 | Vitest 3.0.5 | E-15 (Vitest 3.0.5 (admin/frontend)) | ○ |
| C-34 | 命名規則kebab-case | E-15 (Files: kebab-case) | ○ |
| C-35 | エラーハンドリングHTTPステータス | E-06 (statusCode設定) | ○ |
| C-36 | MikroORM使用 | E-13 (import MikroORM) | ○ |
| C-37 | バッチ処理有効 | E-13 (useBatchInserts: true, useBatchUpdates: true) | ○ |
| C-38 | メタデータキャッシュ有効 | E-13 (metadataCache: { enabled: true }) | ○ |
| C-39 | Winstonロガー | E-12 (import winston from "winston") | ○ |
| C-40 | LOG_LEVELデフォルトhttp | E-12 (LOG_LEVEL = process.env.LOG_LEVEL / "http") | ○ |
| C-41 | Morgan HTTPロギング | E-08 (import morgan from "morgan") | ○ |
| C-42 | JSONログフォーマット本番 | E-08 (jsonFormat関数定義) | ○ |
| C-43 | /healthエンドポイント | E-08 (isHealthCheck = req.path === "/health") | ○ |
| C-44 | テレメトリパッケージ | E-12 (import { track } from "@medusajs/telemetry") | ○ |
| C-45 | HTTP圧縮設定 | E-02 (HttpCompressionOptions定義) | ○ |
| C-46 | 圧縮閾値デフォルト1024 | E-02 (threshold?: number / string - コメントでデフォルト1024と記載) | ○ |
| C-47 | Redis接続エラーフォールバック | E-04 (isConnectionError時のnull返却処理) | ○ |
| C-48 | BullMQイベントバス | E-10 (import { Queue, Worker } from "bullmq") | ○ |
| C-49 | 稼働率目標 | **根拠なし** | △ |
| C-50 | RPO/RTO目標 | **根拠なし** | △ |
| C-51 | 同時接続数上限 | **根拠なし** | △ |
| C-52 | バックアップ戦略 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **稼働率・可用性SLA**: コードベースに明示的なSLA定義が存在しない。インフラ運用レベルで別途定義が必要
  - 候補：Kubernetes/ECSの設定 / 監視サービス設定 / SLAドキュメント
- **RPO/RTO**: データベースバックアップ戦略がアプリケーションコードに定義されていない
  - 候補：PostgreSQLバックアップ設定 / インフラ構成ドキュメント / DR計画書
- **同時接続数**: アプリケーションレベルでの接続数制限が明示されていない
  - 候補：ロードバランサー設定 / Nginx設定 / クラウドインフラ制限
- **セキュリティ監査ログ保持期間**: ログローテーション設定がコードに含まれていない
  - 候補：運用ドキュメント / ログ管理ポリシー / コンプライアンス要件

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 性能要件（コードに明確な設定値あり）
- **0（低リスク）**: セキュリティ認証機能（実装確認済み）
- **0（低リスク）**: ログ・監視機能（実装確認済み）
- **1（中リスク）**: 本番環境シークレット管理（コードにデフォルト値警告あり、運用での設定必要）
- **2（高リスク）**: 可用性SLA（明示的定義なし、別途策定必要）
- **2（高リスク）**: バックアップ・DR戦略（アプリケーション外での定義必要）

## 6) レビュアーチェックリスト（最小）
- [ ] 性能要件のデフォルト値が本番環境要件と整合しているか確認
- [ ] JWT_SECRET/COOKIE_SECRETが本番環境で適切に設定されることを確認
- [ ] データベース接続プールサイズが想定負荷に対して適切か確認
- [ ] 可用性要件（稼働率、RPO/RTO）を別途定義しているか確認
- [ ] ログ保持期間・ローテーションポリシーを別途定義しているか確認
- [ ] CORS設定が想定クライアントドメインをカバーしているか確認
- [ ] ワーカーモード分離（server/worker）が本番デプロイ計画と整合しているか確認
