ci: bump the composition test's substrate pin to v0.85.0 - #6
Merged
Conversation
Verified locally against a real v0.85.0 server: the seedable task-completion contract is byte-identical and both TESTs pass unmodified. v0.85.0 carries substrate#457, which we filed: HeadObject did not resolve a synthesized completion record, so HEAD answered 404 for a key GET served with a 200 body. This test never depended on it — spawn's fetchCompletion calls GetObject directly — but `aws s3 cp` on a completion record was broken below v0.85.0, so the comment now warns against reaching for it under an older pin.
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.
Bumps the engine-composition CI pin substrate v0.81.0 → v0.85.0. CI-only; the adapter itself is unchanged.
Verified, not assumed
Ran the composition test unmodified against a real
substrate serverat v0.85.0 (plus a locally-built spawn) before touching the pin. Both TESTs pass: unseeded ⇒ nominal success, seeded exit 7 ⇒ the engine surfaces code 7. The seedable task-completion contract (POST/DELETE /v1/spawn/task-completion, snake_case payload) is byte-identical across v0.81→v0.85.Why take it
v0.85.0 carries substrate#457, which we filed from this workstream:
HeadObjectdid not resolve a synthesized task-completion, soHEADreturned 404 for a keyGETserved with a 200 and a full body — a self-contradiction real S3 never produces.This test never depended on that path, because spawn's
fetchCompletioncallsGetObjectdirectly and treatsNoSuchKeyas “still running”. That was luck rather than design, and the comment now says so, along with the practical consequence:aws s3 cpon a completion record — the commandspawn task runprints for users — could not work below v0.85.0, because the CLI HEADs before it GETs.Confirmed fixed locally:
aws s3 cpnow returns the record, and HEAD'sContent-Length(124) matches the bytes GET actually returns. The clock gate agrees on both verbs too — a HEAD before the seededended_atis a 404, exactly as the GET is.No CHANGELOG entry: the composition test is itself still unreleased, so this is internal detail inside a feature no user has seen yet.