Japanese version: 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}
Normalization, structurization, essential-content extraction, canonicalization, hashing, and quarantine validation are service responsibilities. Use IMaterialNormalizer, IMaterialStructurizer, IEssentialMaterialExtractor, IMaterialCanonicalizer, IMaterialHashProvider, and IMaterialQuarantineValidator instead of adding behavior to the contract object.
Exception Contract
This interface does not mandate a specific thrown exception type by itself. Exception guarantees are implementation-defined.
Determinism Note
N/A.
Changelog
- v0.0.0 / v0.0.0.0: Initial draft
- v0.0.1 (2026-05-06): Version upgrade aligned with documentation guidelines
Source:
architecture/interfaces/contracts/IMaterialContract.md