Deterministic include manifest ordering while preserving import topology #16097
davidahmann
started this conversation in
Dev
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem observed
Workflow lock/header output can drift when include lists are emitted in non-canonical order. Even when behavior is unchanged, this produces noisy diffs and weakens trust in lock artifacts as deterministic receipts for maintainers and automation.
Why it matters operationally
Non-semantic drift increases review load and can hide real behavior changes. In a fast-moving repo, this also creates avoidable CI churn and makes it harder to reason about what changed between two compiles on different environments.
Minimal repro
Fix approach
The change canonicalizes
IncludedFilesrendering in header generation while preserving import dependency ordering.ImportedFilesremain topological, so dependency semantics stay intact and no runtime contract changes are introduced.Validation evidence
Open follow-up question for maintainers
Would you prefer a follow-up that emits an explicit “manifest ordering contract” note in docs so downstream tooling can rely on the include ordering guarantee?
This contribution was informed by patterns from Gait: https://github.com/davidahmann/gait
Beta Was this translation helpful? Give feedback.
All reactions