1.9 KiB
1.9 KiB
RHSA Fixture Diffs for Conflict Resolver (Sprint 1)
Status date: 2025-10-11
The Red Hat connector fixtures were re-baselined after the model helper rollout so that the conflict resolver receives the canonical payload shape expected for range reconciliation.
Key schema deltas
affectedPackages[]now emits thetypefield ahead of the identifier and always carries anormalizedVersionsarray (empty for NEVRA/CPE today) alongside existingversionRanges.- All nested
provenanceobjects (package ranges, statuses, advisory-level metadata, references) now serialize in canonical order –source,kind,value,decisionReason,recordedAt,fieldMask– to align withAdvisoryProvenanceequality used by the conflict resolver. decisionReasonis now present (null) on provenance payloads so future precedence decisions can annotate overrides without another fixture bump.
Impact on conflict resolver
- Range merge logic must accept an optional
normalizedVersionsarray even when it is empty; RPM reconciliation continues to rely on NEVRA primitives (rangeKind: "nevra"). - Provenance comparisons should treat the new property ordering and
decisionReasonfield as canonical; older snapshots that lacked these fields are obsolete. - Advisory/reference provenance now matches the structure that merge emits, so deterministic hashing of resolver inputs will remain stable across connectors.
Updated goldens
src/StellaOps.Concelier.Connector.Distro.RedHat.Tests/RedHat/Fixtures/rhsa-2025-0001.snapshot.jsonsrc/StellaOps.Concelier.Connector.Distro.RedHat.Tests/RedHat/Fixtures/rhsa-2025-0002.snapshot.jsonsrc/StellaOps.Concelier.Connector.Distro.RedHat.Tests/RedHat/Fixtures/rhsa-2025-0003.snapshot.json
Keep these notes in sync with any future provenance or normalized-rule updates so the conflict resolver team can reason about fixture-driven regressions.