You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: xlings pin -> 2026.7.28.4, and bring the release spec up to date
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.
0 commit comments