ci: accept namespaced cgroup CPU statistics - #2090
Merged
Merged
Conversation
justinjoy
force-pushed
the
codex/2085-cpu-stat-compat
branch
from
October 6, 2026 02:58
5b34487 to
451a6ad
Compare
justinjoy
force-pushed
the
codex/2085-cpu-stat-compat
branch
from
October 6, 2026 05:16
451a6ad to
cce6a06
Compare
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.
Summary
Accept dotted namespace components in Linux cgroup CPU statistic names, such as
core_sched.force_idle_usec, while preserving numeric values, required metrics,and CPU throttling checks.
The main strict smoke at
https://github.com/semantic-reasoning/wirelog/actions/runs/37320881243
executed CRDT and CSPA successfully on
atlas-perfin the localsemantic-reasoning:ubuntu26image. Both timing targets passed, but the captureparser rejected the valid dotted key emitted by Linux 7.2.7 and reported
cpu_stat=unavailable. Consequently the workflow correctly remained failedwith ineligible evidence. This PR fixes that acquisition compatibility defect.
Validation
The integration fixture uses the actual ten-row kernel CPU statistic schema,
feeds it through the real capture producer, and validates the resulting
snapshots with the real telemetry checker. Malformed keys, nonnumeric values,
missing required metrics, and throttling changes must remain failures.
Focused telemetry and Docker contracts, Python encoding checks, shell syntax,
and the Bash construct ratchet are validated locally. Dedicated-runner
acquisition must be repeated on canonical main after merge. No timing target,
CoV, correctness, or host eligibility requirement is relaxed.
Related: #2085; prerequisite for completing #2077 validation.
CI repair
Amended the original commit to replace GNU-only
sed -iin the telemetryfixture with portable redirected output and
mv. Also added exactly fourmissing SBOM records from the committed hosted calibration workflow.
Linux fixture execution, a BSD sed compatibility shim, Docker contracts,
encoding checks, and the strict SBOM snapshot gate passed locally. Repeated
clean scans were identical with the declared nanoarrow and xxHash sources.
Local Syft was 1.51.0; CI pins 1.50.0, whose failure log shows the same four
missing records. Actual macOS and pinned-Syft verification are rerunning in CI.
Remaining CI failures repaired
Run 37406713951 passed the macOS sanitizer and required SBOM gate. Its remaining
failures were the target-miss fixture assertion in GCC TSan and Windows' shell
walltime check.
The target-miss assertion now saves checker output before checking the verdict,
so an early
grep -qexit cannot make trailing producer writes fail underpipefail. Producer failures remain failures. A controlled delayed-tailreproduction demonstrated status 141 in the old pipeline and success with file
capture, and verified that nonzero producer status is still rejected.
Windows completed all functional tests but recorded 31.57 seconds for this
fixture, exceeding half of its old 60-second timeout. Only this fixture now has
a documented 120-second timeout. The global 50% rule is unchanged: 31.57 seconds
passes and 60.01 seconds fails the focused walltime validation. Related fixture,
Bash, Docker, encoding, timeout, and introspection checks passed locally. Actual
GCC TSan and Windows confirmation is rerunning on the amended commit.