AIKernel.NET
version: 0.0.2 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-05-16

英語版: 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 側の責務です。 IMaterialNormalizerIMaterialStructurizerIEssentialMaterialExtractorIMaterialCanonicalizerIMaterialHashProviderIMaterialQuarantineValidator を使用し、 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