test(ci): drop the pinned dependency version literals from the publish contract - #513
Merged
Merged
Conversation
…h contract `assert node_version == "0.5.1"` and `assert store_version == "0.1.0"` looked like drift gates but were restatements of their own inputs. resolve-workspace-dependency-version.mjs prints packages/*/package.json's `version` field verbatim, so comparing that output to a literal only asserted that the file still says what it says — while going red on every legitimate bump. #510 bumped agent-session-store to 0.2.0 and the pinned copy failed the publish contract check for a release it had nothing to say about, blocking unrelated work (#512, and with it the Hands production deploy). The resolver CALL is kept, because that is the actual gate: it throws unless the consumer declares workspace:* and the dependency package carries a version. Three real gates survive, each demonstrably able to fail: remove the verify_store step from publish-cli.yml -> RED (step lookup) change workspace:* to a fixed version -> RED (resolver throws) drop either 'npm view <pkg>@${version}' line -> RED (step body assert) Restored, the check passes. @artin ruled these literals should go; @曜衡 asked for the surviving gates to be shown red-able first.
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.
Unblocks the
Check CLI publish dependency contractfailure that is currently red onmainand therefore on every PR, including #512 (which unblocks the Hands production deploy).Why these two asserts do nothing
scripts/resolve-workspace-dependency-version.mjsis five lines: it throws unless the consumer declaresworkspace:*, throws unless the dependency package has aversion, and then prints that package's ownversionfield verbatim. Comparing its output to a literal therefore asserts only thatpackages/*/package.jsonstill says what it says — while going red on every legitimate version bump. #510 bumped agent-session-store to 0.2.0 and the pinned copy failed the publish contract check for a release it had nothing to say about.The resolver call is kept. That call is the real gate.
The three surviving gates, each shown able to fail
Verify agent-session-store dependency is publishedstep frompublish-cli.ymlpackages/cli/package.json's@botiverse/agent-session-storefromworkspace:*to0.2.0check_outputraisesnpm view "<pkg>@${version}" versionline with something elseRestored, the check passes:
Provenance
@artin ruled twice that these literals should be deleted rather than bumped. @曜衡 initially argued for keeping them as a drift gate, then withdrew after the resolver source was read, and asked that the surviving gates be proven red-able first — that is the table above. I authored this because it blocks my own #512 and no owner had claimed it; I will not review or merge it, and anyone who wants to take it over should feel free.