---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 45
  claims_with_evidence: 42
  claims_without_evidence: 3
confidence_derived: 0.93
---

# 根拠レポート：API設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：42 / 45、根拠なし：3
- 優先レビュー（高）
  1. **App saveApp/deleteApp/getApp入力スキーマ**：Giselleオブジェクトのメソッドで定義されているが具体的なスキーマ定義ファイルが特定できず
  2. **認証方式の詳細（Session認証の具体的実装）**：認証処理はミドルウェアまたはサービス層で実装されているが、完全な仕様が確認できず
  3. **エンタープライズプランのレート制限値**：コードに定義されているが、実際の運用値と一致するか要確認

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

- E-01: `/Users/tomoka.baba/Work/giselle-main/packages/http/src/router.ts` - JSON/FormDataルート定義
- E-02: `/Users/tomoka.baba/Work/giselle-main/packages/giselle/src/giselle.ts` - Giselleエンジンコア実装
- E-03: `/Users/tomoka.baba/Work/giselle-main/packages/nextjs/src/next-giselle-engine.ts` - Next.js統合実装
- E-04: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/apps/[appId]/run/route.ts` - アプリ実行API
- E-05: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/apps/[appId]/tasks/[taskId]/route.ts` - タスク取得API
- E-06: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/apps/[appId]/files/upload/route.ts` - ファイルアップロードAPI
- E-07: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/agent-api/run/route.ts` - AIエージェントAPI
- E-08: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/webhooks/github/route.ts` - GitHub Webhook
- E-09: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/webhooks/stripe/v2/route.ts` - Stripe Webhook
- E-10: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/vector-stores/document/route.ts` - ベクトルストア一覧API
- E-11: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/vector-stores/document/[documentVectorStoreId]/documents/route.ts` - ドキュメント管理API
- E-12: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/_lib/rate-limit.ts` - レート制限実装
- E-13: `/Users/tomoka.baba/Work/giselle-main/packages/protocol/src/task/task.ts` - タスク型定義
- E-14: `/Users/tomoka.baba/Work/giselle-main/packages/protocol/src/generation/index.ts` - 生成型定義
- E-15: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/api/workspaces/route.ts` - ワークスペース作成API
- E-16: `/Users/tomoka.baba/Work/giselle-main/apps/studio.giselles.ai/app/giselle.ts` - Giselle設定・コールバック

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Giselle Engine APIは /api/giselle/* パスで提供される | E-01, E-03, E-16 | ○ |
| C-02 | jsonRoutesに45以上のルートが定義されている | E-01 | ○ |
| C-03 | createWorkspaceは引数なしでワークスペースを作成する | E-01, E-02 | ○ |
| C-04 | getWorkspaceはworkspaceIdを引数に取る | E-01 | ○ |
| C-05 | updateWorkspaceはWorkspaceオブジェクト全体を受け取る | E-01 | ○ |
| C-06 | createTaskはworkspaceId, nodeId, inputs, generationOriginTypeを必要とする | E-01, E-02 | ○ |
| C-07 | startTaskはtaskIdとgenerationOriginTypeを必要とする | E-01 | ○ |
| C-08 | streamTaskはtext/event-stream形式でレスポンスを返す | E-01 | ○ |
| C-09 | getGenerationはgenerationIdを引数に取る | E-01 | ○ |
| C-10 | cancelGenerationはgenerationIdを引数に取る | E-01 | ○ |
| C-11 | 生成画像取得はGETメソッドでパスパラメータを使用 | E-03 | ○ |
| C-12 | uploadFileはFormData形式で受け付ける | E-01 | ○ |
| C-13 | removeFileは204 No Contentを返す | E-01 | ○ |
| C-14 | アプリ実行API（/api/apps/{appId}/run）はBearer Token認証を使用 | E-04 | ○ |
| C-15 | アプリ実行APIはtext必須、fileオプションのスキーマを持つ | E-04 | ○ |
| C-16 | インラインファイルの最大サイズは3MB | E-04 | ○ |
| C-17 | ファイルアップロードAPIの最大サイズは4.5MB | E-06 | ○ |
| C-18 | タスク取得APIはincludeGenerationsクエリパラメータをサポート | E-05 | ○ |
| C-19 | AIエージェントAPIはmessage必須、document/session_id/sandbox_idオプション | E-07 | ○ |
| C-20 | AIエージェントAPIはNDJSON形式でストリーミングレスポンスを返す | E-07 | ○ |
| C-21 | GitHub WebhookはHMAC署名検証を行う | E-08 | ○ |
| C-22 | GitHub Webhookは202 Acceptedを返す | E-08 | ○ |
| C-23 | Stripe Webhookはservicing_activated/servicing_canceledイベントを処理 | E-09 | ○ |
| C-24 | ベクトルストアAPIはドキュメントの複数アップロードをサポート | E-11 | ○ |
| C-25 | ドキュメントアップロードは207 Multi-Statusを返すことがある | E-11 | ○ |
| C-26 | レート制限はチームプランに基づいて設定される | E-12 | ○ |
| C-27 | freeプランのレート制限は60リクエスト/分 | E-12 | ○ |
| C-28 | proプランのレート制限は300リクエスト/分 | E-12 | ○ |
| C-29 | teamプランのレート制限は600リクエスト/分 | E-12 | ○ |
| C-30 | enterpriseプランのレート制限は3000リクエスト/分 | E-12 | ○ |
| C-31 | レート制限ヘッダーにRateLimit-Limit/Remaining/Reset/Retry-Afterが含まれる | E-12 | ○ |
| C-32 | タスクステータスはcreated/inProgress/completed/failed/cancelledのいずれか | E-13 | ○ |
| C-33 | 生成ステータスはcreated/queued/running/completed/failed/cancelledのいずれか | E-14 | ○ |
| C-34 | ワークスペースIDはwks_プレフィックスを持つ | E-14, E-13 | ○ |
| C-35 | タスクIDはtsk_プレフィックスを持つ | E-13 | ○ |
| C-36 | 生成IDはgen_プレフィックスを持つ | E-14 | ○ |
| C-37 | ノードIDはnd_プレフィックスを持つ | E-13 | ○ |
| C-38 | configureTriggerはConfigureTriggerInput型を受け取る | E-01 | ○ |
| C-39 | reconfigureGitHubTriggerはtriggerId/repositoryNodeId/installationIdを必須とする | E-01 | ○ |
| C-40 | addSecretはworkspaceId(オプション)/label/value/tags(オプション)を受け取る | E-01 | ○ |
| C-41 | createDataStoreはprovider/configurationを受け取る | E-01 | ○ |
| C-42 | サポートされる言語モデルプロバイダーはOpenAI/Anthropic/Google | E-16 | ○ |
| C-43 | saveApp/deleteApp/getAppの入力スキーマはGiselleメソッドで定義 | E-01 | △ |
| C-44 | Session認証の具体的な実装方法 | **根拠なし** | △ |
| C-45 | ベースURLはhttps://studio.giselles.ai | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **Session認証の詳細実装**：認証ミドルウェアまたはサービス層（fetchCurrentUser, fetchCurrentTeam）で実装されているが、具体的な認証フローの完全な仕様は別ファイルに存在する可能性あり
  - 候補：`/services/accounts/index.ts` / `/services/teams/index.ts` / 認証ミドルウェア
- **ベースURL**：環境変数や設定ファイルから動的に決定される可能性があり、ハードコードされた値は確認できず
  - 候補：`.env` / `vercel.json` / デプロイ設定
- **App関連のZodスキーマ定義**：saveApp, deleteApp, getAppのinputSchemaはGiselleオブジェクトのメソッドに直接バインドされており、具体的なスキーマ定義は別ファイルにある
  - 候補：`/packages/giselle/src/apps/` ディレクトリ内

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - IDフォーマット、ステータス値、レート制限値：コードから直接抽出しており信頼性が高い
- **0: 低リスク** - APIルート定義：router.tsから完全に抽出
- **1: 中リスク** - 認証方式の記載：コードから推測した部分があり、詳細な認証フローは別途確認が必要
- **1: 中リスク** - App関連APIの入力スキーマ：bindGiselleFunctionでバインドされており、実際のスキーマ定義の確認が必要
- **0: 低リスク** - Webhook処理：実装コードと一致

## 6) レビュアーチェックリスト（最小）
- [ ] Session認証の具体的な実装を確認し、必要に応じて認証フローの詳細を追記
- [ ] saveApp/deleteApp/getAppの入力スキーマを確認し、リクエストボディの仕様を追記
- [ ] 本番環境のベースURLを確認し、正しい値に更新
- [ ] エンタープライズプランのレート制限値が運用設定と一致するか確認
- [ ] ベクトルストアAPIの最大ファイルサイズ制限値を確認
