From 359d0c543342f4fd8465d111f5b2fed50afb9504 Mon Sep 17 00:00:00 2001 From: Noah Gift Date: Mon, 14 Sep 2026 22:01:32 +0200 Subject: [PATCH 1/2] =?UTF-8?q?fix(silicon):=20a=20vanished=20dep-info=20f?= =?UTF-8?q?ile=20was=20reported=20as=20a=20SIMD=20failure=20=E2=80=94=20th?= =?UTF-8?q?e=20classifier=20existed=20and=20this=20lane=20did=20not=20call?= =?UTF-8?q?=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Silicon Nightly is red. Its failing step is named SIMD and numeric paths (x86_64, widest vectors) which, on an ML framework, reads as arch-specific numerical incorrectness. It is not. 3511 tests passed; the job died afterwards on: error: could not parse/generate dep info at: .../target/release/deps/arrow_ipc-b83c0a68418506db.d A dep-info file vanished while cargo was writing it. That is a HOST fault, it is already classified, and it is already fixture-tested in this repository: #3241 built scripts/cargo_step.sh for precisely this, after mdBook CI reported the same error as "a book that does not build". Its case table carries the row W2 dep-info ENOENT is ENV MEASURED COVERAGE OF THAT CLASSIFIER, main @ a0634f7b3: cargo invocation lines across all workflows 75 routed through cargo_step.sh 5 (book.yml, and only book.yml) So the instrument covers 7% of the surface, and the lane that just died is in the other 93%. `scripts/cargo_classify.sh` has said ENV-or-CODE since #2712/#2822 and six check_*.sh guards source it; a cargo command running as a BARE workflow step has no arm at all. That is the shape #3241's own header describes, fixed for one lane rather than for the class. This routes both legs of silicon-nightly — x86_64-cpu and aarch64-cuda-sm121, four cargo invocations — through it, and adds the self-test caller to each job first, because a classifier nothing proves is the same theater as no classifier (book.yml's pattern, and what check_guards_are_wired.sh requires of any script shipping a --self-test). IT DOES NOT MAKE THE LANE GREEN, and must not. cargo_step.sh's own contract: "ENV still exits NON-ZERO -- a gate that goes green on 'we could not measure' is the defect it exists to name." What changes is the CLAIM: a host fault stops reading as a SIMD defect, so nobody spends a morning on AVX-512 correctness because a file disappeared. A defect I introduced and caught before pushing, worth recording because the fix looked right: the first pass used a naive string replace, and the SECOND replacement matched the continuation line INSIDE the wrapper the first had just created — double-wrapping the x86_64 leg while leaving aarch64 raw. Redone by line position. The job-name derivation was wrong too, labelling the x86_64 steps `coverage:` (a real sibling job in this file), corrected after checking which job each line actually sits in rather than trusting the first answer. Guards: check_workflow_cargo_packages.sh 0, check_workflow_env_defined.sh 0, cargo_step.sh --self-test 0. YAML parses, 4 jobs. The other four red nightlies are separate causes: guards-nightly (#3285), examples-nightly (#3288), Coverage Nightly, CUDA Nightly (PP-26). ont-delta: none — a CI classification fix; it adds no entity, shape, verdict reason or resolves target of its own. Pmat-Ticket: PMAT-3236 Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/silicon-nightly.yml | 16 ++++++++++++---- docs/roadmaps/roadmap.yaml | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.github/workflows/silicon-nightly.yml b/.github/workflows/silicon-nightly.yml index 3bd680fbc5..9a9ccbc567 100644 --- a/.github/workflows/silicon-nightly.yml +++ b/.github/workflows/silicon-nightly.yml @@ -101,6 +101,8 @@ jobs: timeout-minutes: 90 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: cargo_step.sh falsifier (ENV-vs-CODE instrument) + run: bash scripts/cargo_step.sh --self-test - name: Put the runner's Rust toolchain on PATH run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # THE ARCH-SENSITIVE SUBSET, not the whole suite. Five legs of a full @@ -109,7 +111,8 @@ jobs: - name: SIMD and numeric paths (x86_64, widest vectors) run: | set -euo pipefail - nice -n 19 cargo test -p aprender-compute --release --lib + bash scripts/cargo_step.sh 'x86_64 SIMD: aprender-compute' -- \ + nice -n 19 cargo test -p aprender-compute --release --lib # `aprender-primitives` does not exist and never has. It was invented by # this file (#2772) and killed BOTH legs with `package ID specification # ... did not match any packages`, exit 101, every night since @@ -118,7 +121,8 @@ jobs: # (10 files with target_arch/target_feature, after aprender-compute's # 110). scripts/check_workflow_cargo_packages.sh makes the class # unrepeatable. YOGA-NIGHTLY-001 R-8. - nice -n 19 cargo test -p aprender-core --release --lib + bash scripts/cargo_step.sh 'x86_64 SIMD: aprender-core' -- \ + nice -n 19 cargo test -p aprender-core --release --lib aarch64-cuda-sm121: if: ${{ github.event_name != 'workflow_dispatch' || inputs.axis == 'all' || inputs.axis == 'aarch64-cuda-sm121' }} @@ -138,6 +142,8 @@ jobs: timeout-minutes: 90 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: cargo_step.sh falsifier (ENV-vs-CODE instrument) + run: bash scripts/cargo_step.sh --self-test - name: Put the runner's Rust toolchain on PATH run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # ASK THE BOX, NEVER THE LABEL. A label says what we intended; nvidia-smi @@ -163,7 +169,8 @@ jobs: - name: NEON and numeric paths (aarch64) run: | set -euo pipefail - nice -n 19 cargo test -p aprender-compute --release --lib + bash scripts/cargo_step.sh 'aarch64 SIMD: aprender-compute' -- \ + nice -n 19 cargo test -p aprender-compute --release --lib # `aprender-primitives` does not exist and never has. It was invented by # this file (#2772) and killed BOTH legs with `package ID specification # ... did not match any packages`, exit 101, every night since @@ -172,7 +179,8 @@ jobs: # (10 files with target_arch/target_feature, after aprender-compute's # 110). scripts/check_workflow_cargo_packages.sh makes the class # unrepeatable. YOGA-NIGHTLY-001 R-8. - nice -n 19 cargo test -p aprender-core --release --lib + bash scripts/cargo_step.sh 'aarch64 SIMD: aprender-core' -- \ + nice -n 19 cargo test -p aprender-core --release --lib # AN AXIS NAMED `cuda` MUST INVOKE CUDA (YOGA-NIGHTLY-001 R-6). # diff --git a/docs/roadmaps/roadmap.yaml b/docs/roadmaps/roadmap.yaml index 216704f752..815d4f9125 100644 --- a/docs/roadmaps/roadmap.yaml +++ b/docs/roadmaps/roadmap.yaml @@ -17738,3 +17738,22 @@ roadmap: labels: - kind:code notes: null + +- id: PMAT-3236 + github_issue: null + item_type: task + title: 'Silicon Nightly reported a vanished dep-info file as a SIMD failure — route its cargo through the ENV/CODE classifier' + status: inprogress + priority: medium + assigned_to: null + created: 2026-09-14T20:25:00Z + updated: 2026-09-14T20:25:00Z + spec: docs/specifications/APR-RELEASE-001-train-and-build-kaizen.md + acceptance_criteria: [] + phases: [] + subtasks: [] + estimated_effort: null + labels: + - kind:code + notes: 'cargo_step.sh (#3241) classifies dep-info ENOENT as ENV and was wired to + book.yml only; 5 of 75 cargo invocation lines across all workflows were covered' From 534c6fcf66f9c989a8f860693cdf0bfa8dafb696 Mon Sep 17 00:00:00 2001 From: Noah Gift Date: Mon, 14 Sep 2026 22:44:36 +0200 Subject: [PATCH 2/2] fix(roadmap): collapse my insertion's stray blank line (roadmap_trim.py) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Third time tonight. My insertion helper rejoins entry blocks with an added newline, re-serialising the entry ABOVE the insertion without any field changing — PMAT-980 (#2874). The remedy is the one check_roadmap_diff_additive.sh names. Pmat-Ticket: PMAT-3236 Co-Authored-By: Claude Opus 5 (1M context) --- docs/roadmaps/roadmap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/roadmaps/roadmap.yaml b/docs/roadmaps/roadmap.yaml index 815d4f9125..fe8317f585 100644 --- a/docs/roadmaps/roadmap.yaml +++ b/docs/roadmaps/roadmap.yaml @@ -17738,7 +17738,6 @@ roadmap: labels: - kind:code notes: null - - id: PMAT-3236 github_issue: null item_type: task