fix contains_cycle false positive on raw string prefix#22
Merged
sunshowers merged 1 commit intomainfrom May 5, 2026
Merged
Conversation
Created using spr 1.3.6-beta.1
sunshowers
added a commit
to oxidecomputer/maghemite
that referenced
this pull request
May 7, 2026
This type was changed in v4, but the change was accidentally also applied to v2 and v3. The nontrivial change was not detected by drift due to oxidecomputer/drift#22, which is now fixed in drift 0.1.4. Fix this up by introducing types and conversions for v2. This is unfortunately complicated by the fact that a lot of the BGP types are not in mg-admin-types-versions, partly because untangling this is quite difficult. I've opted to just do a relatively minimal fix for now where the v2 types are defined in mg-admin-types-versions, but the newest types continue to live in bgp. I'll try untangling this further in the future.
This was referenced May 7, 2026
sunshowers
added a commit
to oxidecomputer/propolis
that referenced
this pull request
May 8, 2026
Drift 0.1.4 includes oxidecomputer/drift#20 and oxidecomputer/drift#22 -- the latter is particularly important because it can lead to false negatives where actually-incompatible APIs are marked as compatible.
leftwo
pushed a commit
to oxidecomputer/crucible
that referenced
this pull request
May 8, 2026
Drift 0.1.4 includes oxidecomputer/drift#20 and oxidecomputer/drift#22 -- the latter is particularly important because it can lead to false negatives where actually-incompatible APIs are marked as compatible.
sunshowers
added a commit
to oxidecomputer/omicron
that referenced
this pull request
May 8, 2026
Drift 0.1.4 has a fix for oxidecomputer/drift#22, which uncovered an incompatibility in the external API. This will unblock #10403.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Detect cycles by checking for path segments (with a trailing
/) rather than just using a raw string prefix. We hit this in Omicron whereAuditLogEntrywas incorrectly detected as a prefix ofAuditLogEntryActor, hiding incompatible changes.This is a minimal fix that (I believe) is correct given the current structure. I'm reworking this in #15 to have stronger types so we can think about this in a more principled manner.