chore: xlings pin -> 2026.7.28.4, and bring the release spec up to date - #303
Merged
Conversation
Pin bump: `src/xlings.cppm::kXlingsVersion` is the single source of truth; check_version_pins.sh then named all 15 dependent pins across 7 files (including the three hardcoded aarch64 tarball literals in release.yml that a comment-only lock-step list had missed). All 16 now agree. Docs/spec, brought level with what the release pipeline actually does: - `mcpp --version` samples in getting-started (both languages) still showed `0.0.1`, from before the date-version scheme. - The release skill claimed THREE build platforms; there are four, plus `publish-ecosystem`. Its artefact checklist omitted the aarch64 tarball and the versionless aliases entirely. - It documented nothing about the second half of a release — mirroring to xlings-res, the index bump PR, `xlings install mcpp@<ver>` verification, and the bootstrap-pin bump — which is where every recent incident happened. That is now written down, along with WHY the mirror is built the way it is: measured 0.012 MB/s inbound to file.gitcode.com from a US runner vs 3.87 MB/s outbound and 16 MB/s to GitHub, ~4.6x jitter (so no fixed per-asset cap can work), per-connection shaping (so concurrency scales), no multipart on the presigned PUT (so a single file cannot be split), and gtc's exit code lying in both directions via the OBS callback. - Added the payload-slimming step and, more importantly, why it ASSERTS: the previous `strip` silently did nothing for many releases because `mcpp pack` rebuilds the binary after it. - Split the version-bump file list into the two phases it actually has — mcpp.toml/fingerprint.cppm BEFORE the release, .xlings.json/MCPP_PIN AFTER — which is what check_version_pins.sh already encodes but nobody had said. Historical records under .agents/docs/ are left alone on purpose: they record what was true when written, and rewriting them would falsify the ledger. Same for the `mcpp 0.0.95+` feature markers in docs/ — those are "introduced in" markers, not stale values. Verified: check_version_pins.sh OK, all touched YAML parses, `mcpp build` and `mcpp test` (37 binaries) green.
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.
Pin bump
src/xlings.cppm::kXlingsVersion→2026.7.28.4. That constant is the single source of truth;check_version_pins.shthen named all 15 dependent pins across 7 files — including the three hardcoded aarch64 tarball literals inrelease.ymlthat the old comment-only lock-step list had missed. All 16 now agree.Spec/doc updates — level with what the pipeline actually does
The release skill had drifted far enough to be misleading:
publish-ecosystem(and a note on why aarch64 is two-stage)linux-aarch64+ the versionless aliasesxlings install mcpp@<ver>verification, or the bootstrap-pin bumpThe mirror section now records why it is built the way it is, from the #301 measurements: 0.012 MB/s inbound to
file.gitcode.comfrom a US runner vs 3.87 MB/s outbound and 16 MB/s to GitHub; ~4.6× jitter (so no fixed per-asset cap can work); per-connection shaping (so concurrency scales); no multipart on the presigned PUT (so a single file cannot be split); andgtc's exit code lying in both directions via the OBS callback.Also fixed:
mcpp --versionsamples in getting-started (EN + ZH) still showed0.0.1, from before the date-version scheme.Deliberately not touched
.agents/docs/*design/plan docs — they record what was true when written; rewriting them would falsify the ledger.mcpp 0.0.95+markers indocs/— those are "introduced in" markers, not stale values.Verification
check_version_pins.shOK · every touched YAML parses ·mcpp build+mcpp test(37 binaries) green locally.Once this lands,
2026.7.29.1gets cut — which is also the first real exercise of the payload-strip and concurrent-mirror changes from #302.