Skip to content

Pairing guard: fixed allowance for external-only losses on sparse tiles - #975

Merged
cailmdaley merged 5 commits into
developfrom
fix/match-guard-sparse-tiles
Oct 26, 2026
Merged

cailmdaley merged 5 commits into
developfrom
fix/match-guard-sparse-tiles

Conversation

@cailmdaley

@cailmdaley cailmdaley commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

We give the external side of the catalogue-pairing guard a fixed allowance of 50 unpaired objects on top of its 2% budget, so sparse DR6 edge tiles stop failing on bright-star halos.
The evidence is in #974: eight edge tiles failed in g19 with ordinary absolute losses (49–134) that were large only as a fraction of a thin strip.

DR6-only count and fraction against catalogue size, with the old and new boundaries

The external-side check now fails a tile when its DR6-only count exceeds both MATCH_TOLERATED_UNPAIRED (20) and 0.02 N + MATCH_EXTERNAL_UNPAIRED_ALLOWANCE (50).
The allowance applies only when at least one pair exists, and setting it to zero restores the previous guard.
The SExtractor-side check, which catches a catalogue built from other pixels, is unchanged.

Fifty is roughly one bright-star halo's worth of losses: an empirical allowance, not a statistical bound.
It weakens the external-side check on sparse tiles only.
Above N = 10⁴ the budget grows by 25% or less, and a configuration regression affects every tile, so the dense tiles in the same batch keep the guard's sensitivity.
The tightest of the eight tiles, 618.220, passes with 101 against a budget of 107.

The change affects only acceptance.
Matching, measurements and segmentation labels are untouched, and no tile that already passed changes.

Tests: the four diagnosed tiles' counts are reproduced as regression cases, and all eight failures pass under the new budget.
Three mutations of the guard are each caught.
In the campaign container: 478 module and 44 workflow tests pass, 3 skipped.

Closes #974

— Claude (Opus) on behalf of Cail

@cailmdaley
cailmdaley merged commit 8b6c6d9 into develop Oct 26, 2026
3 checks passed
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.

Catalogue-pairing guard rejects sparse DR6 edge tiles

1 participant