release: cut v0.2.0 - #60
Merged
Merged
Conversation
A minor bump because the contract breaks, and the version number is the first place a consumer reads that. A Task manifest stating a zero timeout, output or context bound is now refused rather than widened to a default; security-tools no longer carries upstream_go_mod; and the release contract gains graph_only_modules, which its schema requires. Everything in the section came out of a forensic review of main@a656bf7 and the work that followed. The section is written once and sealed: releaseNotes slices it verbatim into a published, immutable asset, so a stale line here becomes a permanent one. The control plane pins this module by release tag, so nothing merged since v0.1.3 reaches it until this release exists.
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.
The control plane pins this module by release tag, so nothing merged since
v0.1.3reaches it until this exists.A minor bump, not a patch: the contract breaks, and the version number is the first place a consumer reads that.
Breaking
timeout,max_output_bytesormax_context_bytesis refused rather than widened to a default. Manifests that omit a bound are unaffected.security-tools.jsonno longer acceptsupstream_go_mod.graph_only_modules, and its schema requires it.What is in it
Six merged changes (#54–#59) closing every finding from the forensic review of
main@a656bf7, plus five found while doing the work. The recurring shape: controls that could not fail for the reason they claimed, and declared bounds that were not the bounds that held.The
[0.2.0]section is written once and sealed —releaseNotes()slices it verbatim into a published, immutable asset, so a stale line becomes a permanent one. I generated the asset from this commit and read it back before pushing.Verification
Full suite under umask 022, 002 and 077,
-race,gofmt,go vet,staticcheck v0.7.0, and all seven contract checkers. All green.One test was found restating the release version in a fixture changelog; it now derives it from the contract, so the next bump cannot leave the fixture describing a release that is not the one under test.
After this merges — needs you
The tag is annotated and SSH-signed by the owner, which no agent can do:
The immutable-releases precheck is manual by design — the publishing job's token has no admin read, and as of this release
docs/releasing.mdsays so instead of claiming the workflow does it.Afterwards
github-device-syncmoves itsmodules/agent-runtimegitlink to thev0.2.0tag commit. It currently sits ona656bf7, two commits pastv0.1.3and not a tag at all — which the module's own anchor now declares it should not be.