Skip to content

Key the SSI swap cap on the selection arm, not the export-mode flag#455

Merged
MaxGhenis merged 1 commit into
mainfrom
fix-ssi-cap-arm-discriminator
Jul 18, 2026
Merged

Key the SSI swap cap on the selection arm, not the export-mode flag#455
MaxGhenis merged 1 commit into
mainfrom
fix-ssi-cap-arm-discriminator

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Follow-up defect in #452, caught by the same-commit sparse rerun's own manifest (national_swap_sanity_cap_ratio: 0.12 on a sparse run) before anything shipped.

The bug: #452 keyed the cap ratio on dense_default_dataset — an export-mode flag the sparse rmloss100 script also passes. Every sparse run at #452+ inherited the dense 0.12 bar, and it changed behavior, not just labels: the 32605c9 sparse rerun's delta (710,076 = 10.9%) passed at 0.12 and exited reconciliation at pass 1, where the 0.10 sparse bar forces further convergence (certified attempt 16 reached 7.1% by pass 2).

Blast radius: zero shipped impact — the certified default (98bf731) predates #452; the dense arm behaves identically under either discriminator; the only affected artifact is the local rerun, which gets relaunched on this fix.

The fix: the arm identity is the frozen-selection identity. _reconcile_ssi_take_up_and_refit takes sparse_selection_arm; main() passes selection_source_manifest is not None; the constants block documents the export-mode-flag hazard.

Tests: fresh-pair reconcile test parametrized over both arms — the sparse-arm-dense-export-mode leg is the exact leak and fails without the fix (verified); dense-arm leg pins 0.12. Full suite green.

🤖 Generated with Claude Code

The #452 dense cap keyed on dense_default_dataset - but that is an
EXPORT-MODE flag the sparse rmloss100 script also passes, so sparse
runs inherited the dense 0.12 bar: the 32605c9 sparse rerun gated its
swap delta (710,076 = 10.9%) at 0.12 and exited reconciliation at
pass 1, where the sparse 0.10 bar would have forced further passes
(the certified attempt-16 run converged to 7.1% by pass 2). Caught by
the recorded national_swap_sanity_cap_ratio in the rerun's manifest
before anything shipped; the certified default (98bf731) predates
#452 entirely and the dense arm's behavior is unchanged under either
discriminator.

The arm identity is the frozen-selection identity: reconcile now takes
sparse_selection_arm (main passes selection_source_manifest presence)
and keys the ratio on that. Constants document the hazard so the
export-mode flag is never reused as an arm discriminator.

Tests: the fresh-pair reconcile test is parametrized over both arms -
the sparse-arm-in-dense-export-mode leg is the leak regression and
fails without this fix; the dense-arm leg pins 0.12.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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