You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -65,6 +65,10 @@ unrelated exports in their evolving packages remain free to change.
65
65
| Facade symbol | Translates to/from | Notes |
66
66
|---|---|---|
67
67
|`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`. Obtain one from `Client.LoadSnapshot` (file, URL, or `cm://` ConfigMap) or `Client.CollectSnapshot` (live capture) — neither requires importing `pkg/snapshotter`. `aicr.WrapSnapshot` remains for the narrower case of lifting a `*snapshotter.Snapshot` you already hold from a direct `pkg/snapshotter` call. |
68
+
|`aicr.SnapshotDiff`, `aicr.SnapshotChange`, `aicr.SnapshotDiffSummary`|`pkg/diff` result shapes |**Facade-owned structs** returned by `Client.DiffSnapshots`. They preserve the CLI's JSON/YAML schema without exposing `pkg/diff` types. Drift is data (`SnapshotDiff.HasDrift`), while invalid or payload-less inputs and context cancellation are errors. |
69
+
|`aicr.SnapshotDiffOptions`|`Client.DiffSnapshots` input |**Facade-owned input struct** carrying optional baseline and target source labels. The labels are copied to output metadata and do not affect comparison semantics. |
70
+
|`aicr.SnapshotChangeKind` and its constants |`pkg/diff.ChangeKind`|**Facade-owned string enum** whose values describe added, removed, and modified readings. |
71
+
|`aicr.SnapshotChangeSeverity` and `aicr.SnapshotChangeSeverityInfo`|`pkg/diff.Severity`|**Facade-owned string enum** classifying change impact; informational is the currently defined severity. |
68
72
|`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). |
69
73
|`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. |
70
74
|`aicr.Phase`, `aicr.PhaseDeployment` / `PhasePerformance` / `PhaseConformance`| string consts |**Facade-owned**. Values match `pkg/validator/v1` constants verbatim for byte-identical wire round-trip. |
0 commit comments