Skip to content

docs(record): ecosystem sign-off for the 2026.9.11.2 batch - #608

Closed
Sunrisepeak wants to merge 2 commits into
mainfrom
docs/ecosystem-signoff-2026-09-11
Closed

docs(record): ecosystem sign-off for the 2026.9.11.2 batch#608
Sunrisepeak wants to merge 2 commits into
mainfrom
docs/ecosystem-signoff-2026-09-11

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Section 9 of the six-issue record: the ecosystem-level review the goal asks for, written after the work landed and against what shipped rather than against the plan.

Four findings that belong to the ecosystem rather than to any one change:

  • a proxy check refused correct output twice in two repositories on the same day (the MSI size ratio, and earlier the AppImage size bound) -- both replaced by opening the artifact;
  • the 233_bench_matrix: matrix.json's hub does not exist in the pinned tree, and the check only runs where submodules are initialised #599 fix reproduced the shape of the defect it fixed, and the macOS lane caught it;
  • the ecosystem rule cost one new payload and otherwise only declarations, with xim:python's single-arch table turning out to be the stated reason emsdk could not declare an interpreter;
  • the rule composes with the licence rather than above it, and getting that order wrong is asymmetric -- GitCode assets cannot be deleted.

Also states what is still open with its size named: the four target rows are the next PR, and xim:wix is a gap with a known shape.

Documentation only.

Section 9. Four findings that are about the ecosystem rather than about any
one change:

  * A proxy check refused correct output TWICE IN TWO REPOSITORIES on the same
    day -- the MSI size ratio and, earlier, the AppImage size bound. Both are
    now direct questions: the AppImage is run and its output asserted, the MSI
    is installed and the extracted program compared byte for byte.

  * The #599 fix reproduced the shape of the defect it fixed. It reasoned about
    which shard runs 233 instead of enumerating the jobs that run the suite,
    and the macOS lane caught the third one. The correction is an enumeration,
    which can be re-checked.

  * The ecosystem rule cost one new payload and otherwise only declarations.
    The interesting case is `xim:python`: its x86_64-only table was the STATED
    reason emsdk could not declare an interpreter -- an argument that was true
    and was a request for a package, not a licence to use the host. `/dev/kvm`
    is where the rule stops, and a test asserts it is the only warning left.

  * The rule composes with the licence, not above it: the ecosystem supplies
    what it may, and the licence says what it may. Getting that order wrong is
    asymmetric -- three GitCode objects were uploaded before the licence was
    checked, GitCode assets cannot be deleted, and the only remedy is that no
    recipe references them.

Also states what is still open rather than implying it: the four target rows
are the next PR with their size named, and `xim:wix` is a gap with a known
shape.
… upgrade path is measured across two binaries

THE CORRECTION LANDED IN THE RECORD AND NOT IN THE CODE. The design document
carries the re-taken 2026-09-11 measurement -- Emscripten 6.0.9 reports
`_LIBCPP_VERSION 220108` (llvm 22.1.8) and clang 24.0.0git -- while the
`wasm32-emscripten` row's own comment still said llvm 20.1.7, `200100` and
clang 22.0.0git. Two copies of one decision, and the second written without
reading the first.

The rule those numbers support is unaffected and is exactly why they have to
be right: the module surface must match the LIBRARY, never the compiler. A
stale number in a comment becomes a stale number in a diagnostic, and then in
somebody's install command.

Also simpler than the comment first said: 6.0.9 SHIPS the surface (134 files),
so `em++` links `import std` with no generated surface at all.

SECTION 11.8 GAINS A TWO-BINARY MEASUREMENT. An absent-tolerance claim is
about what a previous version wrote, so a unit test over a synthesised header
is not the whole criterion:

  1. released 2026.9.10.2 writes `graph=normal;schedule=none;accel=default`
  2. 2026.9.11.2 appends `;dist=none` -- fingerprint change, full rebuild, no error
  3. 2026.9.11.2 again -- `Finished dev in 0.00s`, the fast path replays
  4. 2026.9.10.2 again -- `0.00s`, the downgrade does not choke

Step 4 says what the tolerance is worth: the version is in the fingerprint, so
two binaries never share a graph directory and an older mcpp never reads a
`dist=` field at all. The read side is defence in depth rather than a live
path -- the same conclusion 11.2 reaches from the other direction.
@Sunrisepeak

Copy link
Copy Markdown
Member Author

Folded into the single mcpp PR for this goal, per the goal's one-PR-per-repo rule. The ecosystem sign-off (section 9) and the two record corrections are now commits on the branch that also carries the target-row work, released as one version (2026.9.11.3) rather than as a separate documentation PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants