Repository navigation
Release-bins lookup: a tag dispatch finds its own cache entry (API scope spelling refs/heads/<ref>) - #12727
Closed
gunbai-bot[bot] wants to merge 2 commits into
Closed
Release-bins lookup: a tag dispatch finds its own cache entry (API scope spelling refs/heads/<ref>)#12727gunbai-bot[bot] wants to merge 2 commits into
gunbai-bot[bot] wants to merge 2 commits into
Conversation
…I's spelling (refs/heads/<ref>) A workflow_dispatch on a tag saves its release-bins entry under a scope the cache API lists as refs/heads/<GITHUB_REF>; the lookup matched .ref == GITHUB_REF, read absent, and refused StoreTransportDisagreeAbsentHit over the dispatch's own entry (runs 36653382960, 36653490246 on tag deploy/door-8e0c1fad16). The dispatch lookup now reads RELEASE_BINS_DISPATCH_SCOPE_REF, derived from github.ref (tags respelled, branches verbatim). Same ref, one spelling; the disagreement check is unchanged. Claims: tag entry present, another tag's entry absent. Files the failure mode. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…oute-gap roster Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Folded into the integration branch |
github-merge-queue
Bot
removed this pull request from the merge queue due to a manual request
Sep 30, 2026
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 30, 2026
fleet-converge.yml is a generated projection both sides changed; the ours bytes are provisional here and are regenerated from the merged authorities in a follow-up commit. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 30, 2026
…flict) tools.generated_artifact_gate main_wet_one --arg path=.github/workflows/fleet-converge.yml. The result is the integration side plus #12727's dispatch-scope-ref delta (+3/-2). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Every fleet-converge dispatch on a tag at a sha whose release bins were first built on that tag refuses with
StoreTransportDisagreeAbsentHit. That blocks the pinned-tag deploy pattern, including the #12482 door roll-forward ondeploy/door-8e0c1fad16: runs 36653382960 and 36653490246.Earliest wrong link (DESIGN §6b). The disagreement check refused correctly given the two observations it was handed. What was wrong is the model's assumption, in
gunbc.fleet_release_bins_keyrelease_bins_lookup_refs, that the cache API reports a dispatch's own scope asGITHUB_REF. Querying the API for keyrelease-bins-25f14b25…(saved by plan run 36652280985 on that tag) showsref=refs/heads/refs/tags/deploy/door-8e0c1fad16. The lookup matchedrefs/tags/deploy/door-8e0c1fad16, read the entry as absent, andactions/cacherestored it as an exact hit.The earlier tag apply on
deploy/12482-178fb76c71(run 36581756988) passed only because that sha's bins were already admitted underrefs/heads/main.Fix.
RELEASE_BINS_DISPATCH_SCOPE_REF, which the step derives fromgithub.ref: a tag becomesrefs/heads/<ref>, and a branch is used verbatim.Evidence, executed locally:
test.claim.long.fleet_release_bins_key_witnessrelease_bins_tag_dispatch_entry_is_present: the real decoder, over an answer listing the entry under the tag's API spelling, reads present. Under the oldGITHUB_REFmatch the fixture reads absent.release_bins_RED_other_tag_entry_is_absence: another tag's entry still reads absent.release_bins_lookup_valid_empty_answer_is_absenceis unchanged.fleet-converge.ymlwas regenerated withmain_wet, and it is the only generated file that changed.gunbc.recurring_failure_modea_tag_dispatch_cannot_find_its_own_cache_entry, which carries both run ids.After merge: the discriminating live check is re-running the door apply on
deploy/door-8e0c1fad16. Its bins were saved only under the tag's scope, so the retry must find them present and reuse them.🤖 Generated with Claude Code