Skip to content

Exempt "either"-sign probes from the preflight sign-contradiction check#440

Merged
MaxGhenis merged 1 commit into
mainfrom
preflight-either-sign
Jul 16, 2026
Merged

Exempt "either"-sign probes from the preflight sign-contradiction check#440
MaxGhenis merged 1 commit into
mainfrom
preflight-either-sign

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Why

After #437 moved the farm probe to expected_sign: "either", the Build M launch preflight still flags it:

RISK: qbi_farm_operations_income_exclusion/farm_operations_income: pool sign legs +29,039,671,884 / -18,435,795,886 net +10,603,875,998 — a positive net that contradicts the probe's expected_sign='either'

A positive net cannot contradict "either" — the static checker mapped expected_sign to a boolean (expected_positive = sign == "positive"), so "either" was treated as "negative". The in-run smoke gate handles "either" correctly (#437); only the static preview was wrong.

What

  • check_smoke_probe_support skips the sign-contradiction check for probes declaring "either" (they assert no direction). Support, thin-selection, and the run-time magnitude teeth are unchanged.
  • Regression test test__smoke_probe_support__either_sign_probe__no_sign_flag: same materially-signed net-positive fixture as the contradiction test, probe declares "either" → PASS, verdict supported. Fails against the pre-fix behavior.

With this, the Build M preflight's farm advisory clears; the remaining export-mass parity advisories are the adjudicated-safe base-weight signals (targeted columns lifted by the solve — attempt 11 passed the parity gate at export with identical base drifts).

🤖 Generated with Claude Code

The static smoke-probe audit mapped expected_sign to a boolean
(expected_positive = sign == "positive"), so a probe declaring
expected_sign="either" (#437: net direction is a frame property, not a
coverage property) was treated as expecting NEGATIVE and any positive
net was flagged "contradicts the probe's expected_sign='either'" - a
self-contradictory advisory the Build M launch checklist hit on the
farm probe after #437 moved it to "either".

A probe declaring "either" asserts no direction, so the
sign-contradiction check now skips it; the support/thin-selection and
magnitude teeth are unchanged. Regression test mirrors the
contradiction fixture with expected_sign="either" and asserts PASS
with verdict "supported".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 164f669 into main Jul 16, 2026
4 checks passed
@MaxGhenis
MaxGhenis deleted the preflight-either-sign branch July 16, 2026 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant