Skip to content

Physical-bound guard mis-joins a name:-overridden job — OPT33 false-FAILs on biome (pre-existing, unmasked by the #113 fix) #2

Description

@yonasb

Migrated from the pre-public development archive (issue #123 there); archive PR/issue numbers in the body refer to that archive.

Surfaced during the #113 fix (2026-07-21): re-verifying the live biome artifact after fixing OPT29 traded its FAIL for a DISTINCT pre-existing one (verify stops at the first failing finding, so this was masked).

The defect: check_saving_within_measured_compute's join binds a finding's job to the cost spine. OPT33 names its job by YAML key lint, but pull_request.yml's lint job appears in the spine under its name: override Lint project (...) (2259 + 10466 min/mo measured). The key lint misses that join, and the guard's cross-workflow same-name FALLBACK mis-binds it to an unrelated lint job in pull_request_markdown.yml (568 min/mo) → false FAIL ("credits 3318.8 … measures only 568"). OPT33's figure is actually within the real lint job's compute — the guard is wrong, not the finding.

Class: join fragility between findings' YAML-key job identity and the spine's display-name identity — affects the guard's by_job fallback and potentially any name:-overridden long pole. Related in spirit to #118 (check→job name resolution) but a distinct code path (the sizing-guard join, not the check mapper).

Fix direction: the join should resolve YAML key ↔ display name via the scanned job graph (both identities are known at collect time — stamp the mapping or join through it) and the cross-workflow same-name fallback should never win over a same-workflow key/name-resolved match. Needs its own fixtures (name-override shape) + the biome artifact as the live pin.

Live state: the biome scratch artifact still FAILs verify on this (expected, disclosed in PR for #113). Launch-relevant: same severity class as #112/#113 (gate false-positive on a real repo shape — name: overrides are extremely common).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions