Skip to content

release: promote stage to main for v0.0.16 (production Track B layout fix) - #319

Merged
try-works merged 2 commits into
mainfrom
stage
Oct 6, 2026
Merged

try-works merged 2 commits into
mainfrom
stage

Conversation

@try-works

Copy link
Copy Markdown
Owner

Promotes the accepted candidate stage-rc-8d421f83c8a0 to main. Production now assembles Track B from the accepted candidate checkout, so the private bundle matches the tested candidate byte for byte apart from the runtime channel identity - the condition the stable gate requires.

… layout (#317)

* fix(release): compare the production private runtime with its channel identity normalised

The production pair check compared the sha256 of the whole track-b-runtime manifest, which embeds runtimeChannelContext built from ROLE_MODEL_BUILD_CHANNEL. A production package therefore never equalled the stage candidate (measured on v0.0.16: 5ffdc9a4 vs a538e566, differing in that field alone) and no stable release could be built. The pair is now compared with that one field removed, while each side must still identify as its own channel.

* test(release): exercise the production pair check across channel identities

The previous fixture handed both sides the same manifest digest, which is exactly the assumption that made the impossible comparison look correct. The pair now differs by its channel identity (as real packages do), and the negative cases cover a genuine content difference, a stage runtime that does not identify as stage, and a missing runtime manifest.

* fix(release): assemble production Track B from the accepted candidate layout

Measured from the failed v0.0.16 production package: assembling Track B from .cache/paired-public made the private bundle embed "../paired-public/packages/..." where the tested candidate embedded "../../packages/...". That label alone changed publicRuntimeAdapter.artifactSha256 and registryBindings.contractRegistry.adapterSha256, so the production pair check rejected a package that was otherwise identical. Production now checks out the accepted candidate revision in the workspace (the stable gate already proves the tagged tree is that tree) and builds the private distribution against it, exactly as the stage job does.
fix(release): assemble production Track B from the accepted candidate layout
@try-works
try-works merged commit 0b0fb0c into main Oct 6, 2026
25 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant