Conversation
…its on Operator ruling 2026-09-14 — "wouldn't they be best done pre-release and/or night?" — yes. #3260 (deep.yml) carries the three cheap T-1 clauses (doctests 192 s, --no-default-features 26 s, examples BUILD 83 s). These two are hours: examples RUN 980 targets, ~2 h feature matrix 430 (crate, feature) pairs over 45 crates, ~1-2 h TIMEOUT IS A PASS for the examples clause, and that is the whole design. Measured on a random sample of five with `-- --help` and a 60 s cap, THREE ran past it. They are not CLIs — they are compute demos that ignore argv and do the work, so "hang" is the wrong word: they are RUNNING. Treating a timeout as failure would report a working example as broken, 980 times. The job asserts what is actually owed: every example STARTS and does not crash. That catches the #2519 class without asserting a duration, which check_no_timing_in_required.sh exists to forbid. The feature matrix is --each-feature, not a powerset: a powerset is 2^n per crate (aprender-orchestrate alone has 78 features). It needs no new tool — cargo metadata carries the feature list, so cargo-hack, which is not installed on this fleet, is not required. Both jobs carry a vacuity floor (800 examples, 400 pairs) because a discovery that finds almost nothing reports zero failures, which reads exactly like a pass. The matrix routes cargo deaths through cargo_classify.sh so a saturated runner is reported as ENV, not as a broken feature declaration. KNOWN RED, dated and sourced. The first full sweep (#3262) measured 100 of 430 pairs red, every one unreachable from any default set. #3263 fixed 67; the remaining 9 are owned by #3257 (seven aprender-distribute selections — its tokio gate is right but executor/cpu.rs also uses num_cpus, which only the `cpu` feature pulls) and #3179 (two cuda selections — PinnedBuffer and the async pinned-copy API do not exist post-APR-MONO). Those 9 are reported, not fatal, so this lane can be GREEN on its first run rather than born red and taught to be ignored. A listed pair that PASSES is FATAL — the list may only shrink, and it shrinks by deleting a line. The matcher ships a 7-row case table, including the trap that `aprender-zram-core cuda` must NOT match the `aprender-zram cuda` row. All five workflow guards pass: reusable-workflow-pinned, no-timing-in-required, workflow-cargo-packages, workflow-env-defined, workflow-path-filters. Pmat-Ticket: PMAT-1098 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
|
Sequencing note before this is undrafted. The known-red list in
The workflow treats a listed pair that PASSES as FATAL, by design — the list may only shrink. That means whoever undrafts this must re-derive the list against the tree at that moment, not trust the dated one: if #3257 and #3266 have landed, the seven distribute rows must be deleted or the first run goes red on "known-red list is stale". Re-derive with: cargo metadata --no-deps --format-version 1 \
| python3 -c 'import json,sys;[print(p["name"],f) for p in json.load(sys.stdin)["packages"] for f in p["features"] if f!="default"]' \
| while read -r c f; do
cargo check -q -p "$c" --no-default-features --features "$f" 2>&1 | grep -qE 'error(\[|:)' && echo "$c $f"
done🤖 Generated with Claude Code |
|
No activity since 2026-09-16 08:24Z; 3 release trains have been cut since (v0.68.2, v0.68.1, v0.68.0). Age is the only input to this sweep — it is not a judgement on the work, and a train label such as What happens next: if one more train passes while this is still labelled To clear it: push, rebase, or say on the thread what it is waiting for. Any of the three removes the label at the next sweep. If it is blocked on something external, name that here — a blocker with an owner is not sprawl, and it stops the clock. |
What
The two APR-RELEASE-001 T-1 clauses that are too slow for a lane anyone waits on. Operator ruling 2026-09-14 — "wouldn't they be best done pre-release and/or night?" — yes.
#3260 (
deep.yml) carries the three cheap T-1 clauses: doctests (192 s),--no-default-features(26 s), examples BUILD (83 s). These two are hours:examples-runfeature-matrix(crate, feature)pairs over 45 cratesRuns at 22:40 UTC, clear of every other nightly (the earliest is cuda at 01:30), plus
workflow_dispatchfor pre-release.Timeout is a PASS, and that is the whole design
Measured on a random sample of five examples with
-- --helpand a 60 s cap:Three of five ran past it. They are not CLIs — they are compute demos that ignore argv and do the work, so "hang" is the wrong word: they are RUNNING. Treating a timeout as failure would report a working example as broken, 980 times.
So the job asserts what is actually owed: every example starts and does not crash. That catches the #2519 class (an example that panics immediately) without asserting a duration — which
check_no_timing_in_required.shexists to forbid.Known red, dated and sourced
The first full sweep (#3262) measured 100 of 430 pairs red, every one unreachable from any default set. #3263 fixes 67. The remaining 9 are owned elsewhere:
aprender-distributeselections → fix(distribute): tokio behind an optional feature, used unconditionally — 43 errors under --no-default-features #3257. Itsfeature = "tokio"gate is right but not sufficient:executor/cpu.rsalso usesnum_cpus, which only thecpufeature pulls. Verified against that PR's head — all seven fail onnum_cpus, and the other 17 selections are green.cudaselections → aprender-zram-core's cuda feature has never compiled: unresolved trueno_gpu imports in library code, dark since before v0.66.0 #3179.PinnedBufferplusGpuBuffer::copy_{from,to}_pinned_asyncdo not exist post-APR-MONO.Those 9 are reported, not fatal, so this lane can be GREEN on its first run rather than born red and taught to be ignored. A listed pair that passes is FATAL — the list may only shrink, and it shrinks by deleting a line. The matcher ships a 7-row case table, including the trap that
aprender-zram-core cudamust not match theaprender-zram cudarow.Falsifiers
cargo_classify.sh, so a saturated runner is reported as ENV rather than as a broken feature declaration.cargo_step.sh --self-test.$?is read directly after each command, never through a pipe.Draft until #3263 lands
Held as a draft deliberately: the known-red list is written against the tree after #3263. Merged before it,
feature-matrixwould be red on 67 pairs the list does not name. Undraft once #3263 is in.no-close: this adds the lane; #3262 is the umbrella measurement and stays open until the last 9 pairs are green, and #3257/#3179 are owned elsewhere.
🤖 Generated with Claude Code