Repository navigation
The dependency gate is about packaging, not about the build leg - #1185
Merged
Merged
Conversation
I merged #1181 green on net10.0 and it turned master's C# Test red on "netstandard" -- a reference assembly the netstandard2.0 leg resolves against and net10.0 does not. The gate asserted an exact set measured on one leg, so it was asserting a fact about the build rather than about the dependencies. Which framework assemblies a leg resolves is not a packaging decision. Which third-party ones it references is. So the third-party set is asserted exactly and in both directions, and the framework ones only as a set nothing may exceed: a leg resolving fewer is not an event, a leg pulling in something new -- System.Text.Json arriving with Core/Serialization is the case in point -- still fails. "netstandard" was also being counted as third-party by the second test, since it does not start with "System.", which is why both failed rather than one. There is now one predicate saying what a framework assembly is, and both tests use it. The test's own remarks record the mistake, because the shape of it is the useful part: a check that passes on the leg it was written against and fails on another is not a weaker check, it is a check of something else. Full suite green locally; the leg that caught this is CI's. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
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.
This fixes master. I merged #1181 green on
net10.0and it turned theC# Testworkflow red onnetstandard— a reference assembly the netstandard2.0 leg resolves against andnet10.0does not.The gate asserted an exact reference set measured on one leg, so it was asserting a fact about the build rather than about the dependencies.
The distinction it was missing
Which framework assemblies a leg resolves is not a packaging decision. Which third-party ones it references is.
System.Text.Jsonarriving withCore/Serialization)netstandardwas also being counted as third-party by the second test, since it does not start withSystem.— which is why both failed rather than one. There is now a single predicate saying what a framework assembly is, and both tests use it.Recorded in the test rather than quietly fixed
The shape of the mistake is the useful part, so the remarks say it: a check that passes on the leg it was written against and fails on another is not a weaker check, it is a check of something else.
Packaging.mdis corrected to match.Checks
KernelDependenciesTestgreen locally; the leg that caught this is CI's, so that is the one to watch here.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura