M0.d — CI status of both repos — revision 2 (after Codex M0 review)¶
pls4all (base) — baselines (refer to pls4all-cleanup-status.md for the merge-baseline decision)¶
Anchor |
Full SHA |
Subject |
|---|---|---|
|
|
Prepare adaptive benchmarks and R release |
|
|
Publish partial benchmark dashboard refresh |
Local |
|
Make long benchmark shards resumable |
|
|
Fill strict binding divergence scores |
CI verdict per anchor¶
Anchor |
Workflow result |
Comment |
|---|---|---|
|
✅ green at release time |
The release was cut at |
|
✅ all green |
All cpp matrix jobs + sanitizers + parity gate + version-sync + docs pass. |
local |
✅ green |
Same as origin/main’s prior tip from CI history; local just lags. |
|
⚠️ no check runs at this SHA on origin |
The branch is pushed but workflows are gated and never ran at this tip. Before tagging the merge baseline at the post-merge tip, CI must be re-run on the merged commit and confirmed green. |
Practical implication. The merge baseline is not any existing anchor. Per pls4all-cleanup-status.md “Option A revised”, the baseline becomes the merged tip after:
local
mainis fast-forwarded toorigin/main,the codex branch’s in-flight work is committed and PR’d into
main,CI runs green on the merged tip,
that new tip gets the additive tag
pls4all-final/v1.0.0-pre-merge.
The existing v0.97.3 tag at 49dc750 is preserved unchanged.
The decision between A1 (land release PR stack first), A2 (close release PRs and redo in M15), and A3 (cherry-pick SOVERSION fix only) sits in pls4all-cleanup-status.md; CI implications: A1 adds ~1 week of release-PR CI cycles before M0 closes; A3 adds one CI cycle for the cherry-pick PR only.
nirs4all-methods (donor)¶
main tip 95906aae18ceb882835e25b7ccaa2887f80f02cd¶
CI verdict: ❌ RED.
Most recent workflow run at the tip:
Workflow |
Result |
|---|---|
|
✅ |
|
✅ |
|
✅ |
|
❌ failing — see below |
|
❌ failing — see below |
CI cpp matrix failure detail¶
One platform job fails:
Job |
Failure |
|---|---|
|
|
All other cpp matrix jobs (linux-gcc12/13, linux-clang16, macos-clang-release, macos-universal2, windows-msvc-release/debug, windows-mingw, debug variants) pass.
Root-cause hypothesis: platform-specific tie-breaking in k-means initialisation on macOS clang debug build. Fix is small (deterministic tie-resolution by lower-index-first) but must be verified.
release-r (R CMD check) failure detail¶
All 4 R CMD check jobs (linux-release, linux-devel, windows-release, macos-arm64-release) fail with the same two warnings, treated as errors by the workflow’s error-on: "warning":
Status: 2 WARNINGs
❯ checking whether package 'n4m' can be installed ... WARNING
Warning: Fortran 2018 deleted feature: Shared DO termination label 20 at (1)
Warning: Fortran 2018 deleted feature: Shared DO termination label 80 at (1)
Warning: Fortran 2018 deleted feature: Shared DO termination label 260 at (1)
❯ checking for missing documentation entries ... WARNING
Root causes:
Vendored FITPACK Fortran uses Fortran 77 shared DO termination labels (label 20 / 80 / 260) — modern
gfortran -std=f2018flags as deleted feature. Fix: add-std=legacyto FFLAGS inbindings/r/n4m/src/MakevarsandMakevars.win. (Alternative — modernise FITPACK — is far more work and out of M0 scope.)Missing roxygen entries for some R functions in
bindings/r/n4m/man/. Fix: add\name{}/\title{}blocks for the few exported R functions lacking docs (or reduce the public R surface to documented set if the exposures were accidental).
M0.d verdict — BLOCKED¶
The roadmap’s M0 gate (MERGE_ROADMAP.md §9 row M0) requires both gh pr checks green at the chosen baselines. The donor side is not green.
Required fixes before tagging nirs4all-methods-final/<sha>¶
split_kmeans_paritymacOS debug. Either tighten tie-resolution incpp/src/core/splitters/kmeans.cso the index choice is platform-stable, or relax the fixture tolerance for this case inparity/divergences.jsonwith a documented rationale and a tracking issue.FITPACK Fortran flag. Add
-std=legacytoFFLAGSinbindings/r/n4m/src/MakevarsandMakevars.win.R documentation entries. Restore the missing roxygen
\title{}/\param{}/\return{}blocks soR CMD check --as-cranpasses with zero WARNINGs.
After each push, wait for the workflow to go green. Only then tag nirs4all-methods-final/<merged-tip-sha> and proceed to M1.
These three fixes are estimated 2-3 hours combined. They are not deferrable to M11 of the merge plan — the M0 gate requires green CI here, and starting M1 with a red donor amplifies every later debugging session.
Required action before tagging pls4all-final/v1.0.0-pre-merge¶
Per pls4all-cleanup-status.md Option A revised:
Sync local
maintoorigin/main(fast-forward).Commit the codex branch’s in-flight real source changes (5 focused commits).
Decide A1/A2/A3 for the release PR stack.
Merge codex → main.
Wait for green CI on the merged tip.
Tag.
The earlier-revision “ready to be tagged at a05b192” claim was wrong (local main is stale; v0.97.3 is at a different commit; baseline is a future merged tip).