feat(ci): A5-convergence — -parallel=2 cap + non-gating nightly -race + ops-monitor surfacing for BOTH nightlies (hk-plw4z) - #21
Open
gregberns wants to merge 4 commits into
Open
Conversation
gregberns
force-pushed
the
hk-plw4z-a5-convergence
branch
from
July 8, 2026 18:44
f7b23ac to
60bbd98
Compare
…lying cron comment (hk-plw4z) Completes the 3-part change salvaged from 18f212d by adding the previously missing Part 4: ops-monitor surfacing for the SECOND nightly (scenario.yml). (a) scenario.yml: rewrite the cron comment that falsely claimed "Nightly at 04:00 UTC so failures surface before the next workday." The job sets continue-on-error, so the run/workflow conclusion is ALWAYS green and surfaces nothing on its own. The comment now states the truth and points at the ops-monitor STEP-conclusion probe that actually surfaces failures. (b) scripts/ops-monitor-check.sh: extend the step-conclusion probe to cover BOTH nightlies. New SCENARIO_NIGHTLY_STATUS block queries the LATEST SCHEDULED scenario run and reads the 'make test-scenario' STEP conclusion via `gh run view --json jobs` (NOT the run/workflow conclusion, which continue-on-error masks). A not-green step surfaces as checks['scenario- nightly'] + the 'scenario-nightly-fail' digest signal, mirroring the nightly-race probe. Follows the dquote-safe pattern (hk-2mw1x): the embedded python uses only single-quoted string literals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TepxLRzEDYuXypuN77i9cT
…kes (hk-plw4z) CI on this branch showed check-short's STEP failing on BOTH runs with different tests each time (run1: cmd/harmonik; run2: TestIdempStep4/Step3 + TestDaemonWatchdog_PhantomReviveGuard) — stochastic -race self-saturation, the exact failure mode the cap targets. -parallel=2 was not enough on the 2-vCPU runner, so drop to the proven-clean value: -parallel=1 (fully serial intra-package; stilgar proved 0 moles at 1). -p left at default; -race stays ON. check-race-full is untouched (must stay full-parallel, no cap). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TepxLRzEDYuXypuN77i9cT
… (hk-plw4z) Both -parallel=1 runs panicked 'test timed out after 10m0s' (consistent). Root cause: -parallel=1 serializes intra-package tests, and the heaviest package's serial -race run exceeds Go's DEFAULT 10m per-package test timeout (the check-short line set no -timeout). N=1 kills saturation but is too slow, so keep -parallel=1 AND give serial -race headroom with an explicit -timeout=20m. check-race-full is untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TepxLRzEDYuXypuN77i9cT
…-race saturation (hk-plw4z) -parallel=1 capped intra-package parallelism but left -p at default, so the heavy internal/daemon -race marathon (~930s) ran concurrently with the timing- sensitive internal/supervise TestDaemonWatchdog_PhantomReviveGuard and starved it under CPU load → 2.00s flake on run 1ed5ed9. -p=1 serializes packages (each still uses full cores internally; NOT GOMAXPROCS=1), removing the contention. -race + -parallel=1 + -timeout=20m unchanged. A5-convergence. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TepxLRzEDYuXypuN77i9cT
gregberns
force-pushed
the
hk-plw4z-a5-convergence
branch
from
July 8, 2026 19:32
5f0877c to
7f2148e
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.
A5-convergence (hk-plw4z)
Salvages the reviewed commit
18f212de(3 of 4 parts, APPROVE from agent-reviewer) via a normal git/PR path — the daemon dispatch path is blocked by a phantom-run bug — and adds the previously-missing Part 4.Parts
Makefilecheck-short-parallel=2cap — caps intra-packaget.Parallelconcurrency at 2 (= GOMAXPROCS on 2-vCPU runners), killing the 2× oversubscription deadline-miss flakes.-racestays ON. (from 18f212d)check-race-fullMakefile target +.github/workflows/nightly-race.yml— full-parallelgo test -race -count=1 ./..., no-short, no-parallelcap, 03:00 UTC nightly. Non-gating; NOcontinue-on-error, sogh runconclusion is accurate. (from 18f212d)scripts/ops-monitor-check.shnightly-race probe — surfaces the nightly-race workflow result aschecks['nightly-race']+nightly-race-faildigest signal. (from 18f212d)scenario.ymlthat claimed failures surface — they never did (the job setscontinue-on-error, so the run conclusion is always green). Comment now states the truth and points at the ops-monitor probe.make test-scenario) of the latest scheduled run viagh run view --json jobs— NOT the run/workflow conclusion, whichcontinue-on-errormasks. A red step surfaces aschecks['scenario-nightly']+scenario-nightly-fail. Follows the dquote-safe pattern (hk-2mw1x): embedded python uses only single-quoted literals.Notes
Makefile,.github/workflows/nightly-race.yml,.github/workflows/scenario.yml,scripts/ops-monitor-check.sh.🤖 Generated with Claude Code
https://claude.ai/code/session_01TepxLRzEDYuXypuN77i9cT