Domain Contract Surface v0.1.1.1
AIKernel.NET v0.1.1.1 は、既存の v0.1.1 API シグネチャを変更せずに、 公開 contract surface を拡張する。adapter binding、runtime control、 replay、observability、diagnostics、operator strategy、profiles、 telemetry、metrics、HUD signal、overlay annotation のための semantic interface、DTO、enum を追加する。また、canonical triadic governance のための contract-only な governance carrier と evaluator を追加する。
この変更は追加型である。v0.1.1 の既存 interface を利用する consumer は、 同じ method signature のままコンパイルを継続できる。新機能を利用する consumer は、新しい semantic interface と DTO を opt-in で参照する。
1. 互換性ルール
- 既存 public interface は rename / replace しない。
- 既存 public method signature は変更しない。
- 既存 enum value は削除・rename しない。
- 新しい振る舞いは、新しい semantic interface、DTO record、enum type で表現する。
- failure を表現しうる descriptor / snapshot DTO は optional failure envelope を持つ。
- contract package の純度を維持する。
AIKernel.Abstractions: interface のみAIKernel.Contracts: interface のみAIKernel.Dtos: DTO record のみAIKernel.Enums: enum type のみ
2. 追加 semantic interface
Adapters
AIKernel.Abstractions.Adapters.IProviderAdapterAIKernel.Abstractions.Adapters.IRuntimeAdapter
Runtime
AIKernel.Abstractions.Runtime.ISandboxRuntimeControlProviderAIKernel.Abstractions.Runtime.IProcessControlProvider
Replay / Observability
AIKernel.Abstractions.Replay.IReplayProviderAIKernel.Abstractions.Observability.IEvidenceCollector
Diagnostics
AIKernel.Abstractions.Diagnostics.IDiagnosticsProvider
Operators
AIKernel.Abstractions.Operators.IOperatorStrategyProvider
Profiles
AIKernel.Abstractions.Profiles.IProfileStoreProviderAIKernel.Abstractions.Profiles.IProfileOptimizationProvider
Telemetry / Metrics
AIKernel.Abstractions.Telemetry.ITelemetryProviderAIKernel.Abstractions.Metrics.IMetricsProvider
Perception
AIKernel.Abstractions.Perception.IHudSignalProviderAIKernel.Abstractions.Perception.IOverlayAnnotationProviderAIKernel.Abstractions.Perception.IDiagnosticFramePerceptionProvider
Governance
AIKernel.Abstractions.Governance.ICouncilEvaluatorAIKernel.Abstractions.Governance.IDecisionGateAIKernel.Abstractions.Governance.ITrajectoryGateAIKernel.Abstractions.Governance.IRomGovernanceEngine
3. DTO domain
追加 DTO domain は次の通り。
AIKernel.Dtos.AdaptersAIKernel.Dtos.RuntimeAIKernel.Dtos.ReplayAIKernel.Dtos.ObservabilityAIKernel.Dtos.DiagnosticsAIKernel.Dtos.OperatorsAIKernel.Dtos.ProfilesAIKernel.Dtos.TelemetryAIKernel.Dtos.MetricsAIKernel.Dtos.PerceptionAIKernel.Dtos.Governance
collection は空値で初期化し、metadata dictionary は空 dictionary で初期化する。 Result-like DTO は、予測可能な failure を例外ではなく安定した failure field で表す。
Governance DTO は semantic carrier name を使う。Council vote は CouncilVote carrier と CouncilVoteValue enum、reject detail は RejectReasonInfo、canon link は IReadOnlyList<CanonReference> で表現し、 将来の複数 canon reference を DTO shape の変更なしに保持できるようにする。
CTG 固有の architecture と developer guidance は 20.CANONICAL_TRAJECTORY_GOVERNANCE-v0.1.1.1-jp.md、 21.CTG_DEVELOPER_THEORY-v0.1.1.1-jp.md、 ../design/CTG_CONTRACT_MODEL-v0.1.1.1-jp.md、 ../operations/CTG_DEVELOPER_GUIDE-v0.1.1.1-jp.md に整理する。 固定された理論参照は ../papers/12-canonical-trajectory-governance/README.md である。
4. Failure Envelope
成功・失敗を運びうる descriptor / snapshot DTO は、次の optional field を追加する。
public bool? Succeeded { get; init; }\npublic string? ErrorCode { get; init; }\npublic string? ErrorMessage { get; init; }\npublic DiagnosticInfo? Diagnostics { get; init; }
これらは optional であり、既存 DTO consumer の binary/source 互換性を維持する。 予測可能な failure は envelope 経由で返す。cancellation は OperationCanceledException を引き続き利用できる。
5. Enum domain
新規 domain enum は次のような domain namespace に配置する。
AIKernel.Enums.AdaptersAIKernel.Enums.RuntimeAIKernel.Enums.ReplayAIKernel.Enums.ObservabilityAIKernel.Enums.DiagnosticsAIKernel.Enums.OperatorsAIKernel.Enums.ProfilesAIKernel.Enums.TelemetryAIKernel.Enums.MetricsAIKernel.Enums.PerceptionAIKernel.Enums.Governance
すべての新規 enum は Unknown = 0 を持つ。未知値は ../operations/ENUM_HANDLING_POLICY-v0.1.1.1-jp.md で定義する fail-closed policy に従って扱う。
6. ドキュメントとコメント
public contract member にはバイリンガル XML documentation を付与する。 inline XML documentation では、英語本文に続けて JA: で日本語本文を記述できる。 既存の external documentation include を使う場合は、docs.en.xml と docs.ja.xml を対で用意する。
コントリビュータ向け規約は ../operations/XML_DOCUMENTATION_POLICY-v0.1.1.1-jp.md に定義する。
7. 検証サーフェス
v0.1.1.1 の contract surface は次で検証する。
dotnet build src\AIKernel.NET.slnx\ndotnet test src\tests\AIKernel.Abstractions.Tests\AIKernel.Abstractions.Tests.csproj --no-build\ndotnet pack src\AIKernel.NET.slnx -c Release\ndotnet pack src\AIKernel.NET.slnx -c Release -p:UseLocalPackageVersion=true -p:LocalPackageBuildNumber=<build-number>
local development package version は次を使う。
0.1.1.1-dev<build-number>
architecture/19.DOMAIN_CONTRACT_SURFACE-v0.1.1.1-jp.md