英語版: IMaterialContract
IMaterialContract
Signature
using AIKernel.Dtos.Context;\n\nnamespace AIKernel.Contracts;\n\n/// <summary>\n/// 素材(Material)契約を定義します。\n/// RAG の断片や外部情報の取得・構造化を管理します。\n/// \n/// 参照: 2.CONTEXT_ISOLATION_SPEC.jp.md\n/// </summary>\npublic interface IMaterialContract\n{\n /// <summary>\n /// 素材層のコンテキストを取得します。\n /// </summary>\n MaterialContextDto GetContext();\n\n /// <summary>\n /// 取得元ソースを取得します。\n /// </summary>\n string GetSource();\n\n /// <summary>\n /// 生のデータを取得します。\n /// </summary>\n string GetRawData();\n\n /// <summary>\n /// 正規化されたデータを取得します。\n /// 不要情報が除去されたバージョン。\n /// </summary>\n string? GetNormalizedData();\n\n /// <summary>\n /// 構造化されたデータを取得します。\n /// </summary>\n IReadOnlyDictionary<string, object>? GetStructuredData();\n\n /// <summary>\n /// 関連性スコアを取得します(0.0 ~ 1.0)。\n /// </summary>\n double GetRelevanceScore();\n}
正規化、構造化、必須 content 抽出、正準化、hash、検疫検証は service 側の責務です。 IMaterialNormalizer、IMaterialStructurizer、IEssentialMaterialExtractor、 IMaterialCanonicalizer、IMaterialHashProvider、IMaterialQuarantineValidator を使用し、 contract object に振る舞いを追加しないでください。
Exception Contract
本インターフェース自体は、特定の例外型の送出を規定しません。例外契約は実装側で明示します。
Determinism Note
該当なし。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/interfaces/contracts/IMaterialContract-jp.md