Skip to content

Cross-target divergence in the C/Rust backends — red since 2026-08-14, seen 3 times in 10 days #2184

Description

@gHashTag

tools/verify_igla_race.py reports IGLA RACE CROSS-TARGET MISMATCH and exits 1:

FAIL: C backend failed to build/run
FAIL: Rust backend failed to build/run
FAIL: systolic PE C failed to build/run
FAIL: systolic PE Rust failed to build/run

This is not new. The identical four lines appear in the 2026-08-14 run on w699-gate-topology (run 31843694525). The gate last passed 2026-08-08. Between those dates it ran zero times, and only three times in ten days — because its paths: filter did not include bootstrap/**, where all four backends live. The divergence has therefore been unproven, not absent, for at least four days.

The specific defects, from the script's own notes:

  1. gen_rust emits a mixed-width add with no casti16 + i8. Rust rejects it; C silently promotes. That is a genuine semantic divergence between two targets the project claims are bit-exact, not a build-config problem.
  2. systolic_ternary imports ternary_mul but the import is not emitted into its C/Rust output — a dangling call. The primitive currently has to be supplied from ternary_mac's core.
  3. Emitter gaps on the full IGLA spec: slice .len(), duplicate test emission, serde deps, non-Copy struct.

Why it matters more than a red check. "One spec, four targets, bit-exact" is this repository's central claim. Item 1 is a case where two targets compute differently from the same spec — exactly what the gate exists to detect. It detected it four days ago and nobody saw, because almost nothing triggered the gate.

Exposed by #2183 / #2182, which makes the gate fire on compiler changes. That PR does not introduce this failure and does not fix it; it makes it visible. emit-bitexact is not in the required-checks table (docs/BRANCH-PROTECTION.md), so master going red here does not block other PRs.

Refs #2183

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions