仕様
検証済み応答レイヤー(VRL)v0.1
Verified Response Layer v0.1は、AI検索やAIエージェント向けに、C³の登録済み公開Answer Cardを 静的JSONで返すための応答レイヤーです。runtime LLMは呼び出さず、登録カードに一致した場合は RELEASE、人間確認が必要な場合は ESCALATE、未登録または不確実な場合は HOLD を返します。
バージョン
- response_version
- VRL-0.1
- doc_id
- C3-VRL-0.1
- status
- public-static
- last_updated
- 2026-05-20
判定ルール
- 空のquestionは HOLD / RC_EMPTY_QUESTION を返します。
- 正規化後のtrigger完全一致は、該当するAnswer Cardを返します。
- RELEASE cardでも evidence_refs または limits が空なら HOLD に落とします。
- 未登録質問は HOLD / RC_NO_PUBLIC_ANSWER_CARD を返します。
- ESCALATE cardは ESCALATE を返し、人間確認へ渡します。
- すべての応答は response_version="VRL-0.1" を含みます。
- すべての応答は status のaliasとして answer_status を含みます。
- すべての応答は単一の主理由として reason_code を含みます。
- すべての応答は互換性と将来拡張のため reason_codes 配列を含みます。
- APIは常にJSONを返します。
受入例
| Input | HTTP | status | reason |
|---|---|---|---|
| what is vrl | 200 | RELEASE | RC_OK |
| empty question | 200 | HOLD | RC_EMPTY_QUESTION |
| unregistered | 200 | HOLD | RC_NO_PUBLIC_ANSWER_CARD |
| does c3 provide legal advice | 200 | ESCALATE | RC_ESCALATE_CARD |
| PUT /api/verified-answer | 405 | HOLD | RC_METHOD_NOT_ALLOWED |
各例で answer_status は status と同じ値を持ち、reason_codes は reason_code を先頭要素として含みます。
コーパス方針
| 項目 | 値 | 説明 |
|---|---|---|
| source_scope | C3 Anchor public originals and linked public machine-readable files. | 登録済み公開Answer Cardと公開機械可読ファイルを参照範囲にします。 |
| runtime_llm | false | API応答時にruntime LLMを呼び出しません。 |
| matching | deterministic normalized exact trigger matching | 正規化した質問とtriggerの決定論的な完全一致で判定します。 |
| unknown_question_behavior | HOLD | 未登録または不確実な質問は回答を生成せずHOLDにします。 |
| raw_query_logging | false | このrouteではraw query loggingを実装していません。 |
理由コード
| Code | Status | Meaning | 日本語説明 |
|---|---|---|---|
| RC_OK | RELEASE | A registered public answer card matched and passed release completeness checks. | 登録済み公開Answer Cardが一致し、RELEASEとして返せる状態です。 |
| RC_EMPTY_QUESTION | HOLD | The question field was empty or whitespace-only. | questionが空または空白のみのため、HOLDとして返します。 |
| RC_NO_PUBLIC_ANSWER_CARD | HOLD | No registered public answer card matched the normalized question. | 正規化後の質問に一致する登録済み公開Answer Cardがありません。 |
| RC_RELEASE_CARD_INCOMPLETE | HOLD | A RELEASE card matched, but public evidence references or limits were empty. | RELEASEカードに必要なevidence_refsまたはlimitsが不足しているため、HOLDに落とします。 |
| RC_ESCALATE_CARD | ESCALATE | A registered answer card requires human review instead of release. | 登録カードが人間確認を必要とするため、ESCALATEとして返します。 |
| RC_METHOD_NOT_ALLOWED | HOLD | The API route was called with an unsupported method. | 対応していないHTTP methodで呼び出されたため、JSONの405応答を返します。 |
| RC_OPTIONS_METADATA | HOLD | The API route returned method metadata for an OPTIONS request without answering a question. | OPTIONS requestに対してmethod metadataを返す応答です。 |
非主張・意味しないこと
- 運用準備性を示すものではありません。
- 外部評価、標章付与、適合結果を示すものではありません。
- 内容の正確性を保証するものではありません。
- 法務・金融・医療その他の専門助言を提供するものではありません。
- 登録済み公開Answer Cardの範囲を超える主張は行いません。
コーパス方針 / 理由コードの見方
登録済み公開Answer Cardと公開機械可読ファイルを参照範囲にします。
API応答時にruntime LLMを呼び出しません。
正規化した質問とtriggerの決定論的な完全一致で判定します。
未登録または不確実な質問は回答を生成せずHOLDにします。
このrouteではraw query loggingを実装していません。
A registered public answer card matched and passed release completeness checks.
登録済み公開Answer Cardが一致し、RELEASEとして返せる状態です。
The question field was empty or whitespace-only.
questionが空または空白のみのため、HOLDとして返します。
No registered public answer card matched the normalized question.
正規化後の質問に一致する登録済み公開Answer Cardがありません。
A RELEASE card matched, but public evidence references or limits were empty.
RELEASEカードに必要なevidence_refsまたはlimitsが不足しているため、HOLDに落とします。
A registered answer card requires human review instead of release.
登録カードが人間確認を必要とするため、ESCALATEとして返します。
The API route was called with an unsupported method.
対応していないHTTP methodで呼び出されたため、JSONの405応答を返します。
The API route returned method metadata for an OPTIONS request without answering a question.
OPTIONS requestに対してmethod metadataを返す応答です。
関連するImpact説明
このページの内容が、社会でどのような意味を持ち得るかを説明するページです。実装済み・認証・保証・外部支持・本番運用可能性を示すものではありません。