Prep CI for enablement: green gate, fleet labels, unified MSRV #45

Merged
dcharlot merged 3 commits from ci-enable into main 2026-07-23 10:18:14 -04:00

2026-07-23

Transaction Science
msrv: raise the rust-version floor to 1.97 across the workspaces
The declared MSRV had drifted into three tiers — 1.85, 1.96, and one
1.96.0 — none of them the compiler the code is actually built and pinned
against (now 1.97.1, rust-toolchain.toml). Raising the floor to 1.97
makes the support commitment honest: it states the oldest compiler these
standards are actually verified on, rather than a floor no CI ever
exercises.

This is the deliberate MSRV bump that the 1.97.1 toolchain PR explicitly
left out, because raising a library's floor is a support-policy decision,
not an automatic consequence of moving a build box. Done here as its own
change, on request. 26 workspace manifests, minor-version precision to
match the repo's dominant style. sandbox-rs (was 1.85) and eoc-rs (was
1.96) build + test clean under the pin.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-23 00:17:08 -04:00
Transaction Science
ci: target the self-hosted fleet labels, not GitHub-hosted images
Every workflow was written for GitHub-hosted runners (ubuntu-latest,
macos-latest, macos-13, windows-latest, ubuntu-24.04-arm). This fleet's
Forgejo runners register different labels — `linux`, `linux-arm64`,
`macos`, `windows` — so as written, enabling Actions would queue every
job against a label no runner answers, and they would hang forever.

Mapping applied:
  ubuntu-latest / ubuntu-24.04-arm -> linux / linux-arm64
  macos-latest -> macos    windows-latest -> windows
  macos-13 (Intel Mac) -> dropped: the fleet has no Intel-Mac runner, and
    by the matrices' own stated logic it adds no arch coverage (x86_64 is
    held by linux + windows, arm64 by linux-arm64 + the macos reference).

Also: the macOS runner is a `host` executor launched from launchd, whose
PATH omits ~/.cargo/bin, so a raw `rustup` call is not found. wai-conformance
uses raw rustup across the matrix, so it now prepends ~/.cargo/bin to
$GITHUB_PATH first — a no-op on the platforms where cargo is already found.

All 10 jobs across 7 workflows parse and resolve to fleet labels. Note:
this makes the workflows *dispatchable*; the per-job conformance logic
(ONNX fixtures, cross-arch byte goldens) is what the first real runs verify.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-23 00:17:08 -04:00
Transaction Science
no-vanity-metrics: clear the three failures blocking the gate on main
The gate has been red on main independent of any feature work. Three hits:

- jouledesk/README.md — "8 tests", a real codebase-count. Dropped; the
  sentence describes the teammate loop fine without it.
- jcp-efficiency/MAPPING.md ×2 — false positives. The scanner's regex reads
  "509 adapter" out of "X.509 adapter" as a count, but X.509 is the ITU-T
  certificate standard's name. Marked with the scanner's own
  `<!-- allow-vanity: ... -->` opt-out, which is exactly what it is for.

Scanner now passes clean across every Markdown file.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-23 00:17:08 -04:00