aicr.Snapshot | pkg/snapshotter.Snapshot | Facade-owned struct. Public fields are identifying metadata; full measurement payload is preserved in an unexported field for round-trip through ValidateState. Use aicr.WrapSnapshot to lift a *snapshotter.Snapshot loaded externally. |
aicr.AgentConfig | pkg/snapshotter.AgentConfig | Facade-owned struct covering the deployment-time agent fields. Tolerations keeps k8s.io/api/core/v1.Toleration since k8s.io is itself a stable contract. It does not mirror every pkg/snapshotter.AgentConfig field — the network-collector fields ClusterConfigPath and DiscoverNetwork are not surfaced on the facade type. AKSGPUPoolsPath is surfaced (controller-side pool projection input, required for AKS profile-qualified resolution from a collected snapshot). |
aicr.PhaseResult | pkg/validator.PhaseResult | Facade-owned struct. Exposes Summary (CTRF counts) and RawReport (CTRF JSON bytes); Report *ctrf.Report is retained for in-tree consumers that merge per-phase reports. |
aicr.Phase, aicr.PhaseDeployment / PhasePerformance / PhaseConformance | string consts | Facade-owned. Values match pkg/validator/v1 constants verbatim for byte-identical wire round-trip. |
aicr.ReportSummary | pkg/validator/ctrf.Summary | Facade-owned struct with the CTRF count fields. |
aicr.ValidateOption | pkg/validator.Option | Facade-owned functional-option type that captures into an internal struct and translates at call time. |
aicr.RecipeResult | pkg/recipe.RecipeResult | Facade-owned struct exposing Name, Version, TranslatedAt, SelectedProfile (the recorded ADR-015 selection, nil for unprofiled recipes), and Components (enabled/deployable components only — disabled refs remain visible via Resolved().ComponentRefs). Call Resolved() for the full upstream *pkg/recipe.RecipeResult (constraints, deployment order, validation config, metadata). The previous aicr.Recipe alias was removed in #1115; ResolveRecipeFromCriteria and ResolveRecipeFromSnapshot now return *RecipeResult. |
aicr.AllowLists | pkg/recipe.AllowLists | Facade-owned struct with []string fields (Accelerators / Services / Intents / OSTypes). Use aicr.WrapAllowLists to lift a *pkg/recipe.AllowLists. |
aicr.Criteria | pkg/recipe.Criteria | Facade-owned struct whose enum-typed fields (Service / Accelerator / Intent / OS / Platform) project to plain strings; Nodes stays an int per the facade’s string/int contract. Use aicr.WrapCriteria to lift a *pkg/recipe.Criteria. |
aicr.BundleConfig | pkg/bundler/config.Config | Deliberate transparent alias. It keeps the facade compatible with config.NewConfig and its functional options instead of duplicating the bundler’s configuration builder. |
aicr.BundleAttester | pkg/bundler/attestation.Attester | Deliberate transparent alias. Existing attester implementations pass directly into BundleOptions without an adapter. |
aicr.BundleArtifact | *pkg/bundler/result.Output | Deliberate transparent alias. Callers receive the complete bundler result, including HasErrors, without a lossy projection. |
aicr.OIDCResolveOptions | pkg/bundler/attestation.ResolveOptions | Deliberate transparent alias. CLI and server callers can pass the same late-bound signing inputs used by the attestation resolver. |
aicr.CriteriaRegistry | pkg/recipe.CriteriaRegistry | Documented transparent alias. Kept as an alias intentionally because the registry is behavior-rich (ParseService, SetStrict, Values, …) and carries mutable per-DataProvider state — wrapping would either break the per-Client identity coupling (copy) or add no isolation win over the alias (pointer). |