Skip to content

feat(gsdc2023): add TripWhitelistDDGate (default-deny DD-carrier gate)#103

Open
rsasaki0109 wants to merge 1 commit into
mainfrom
feat/gsdc2023-dd-trip-whitelist-gate
Open

feat(gsdc2023): add TripWhitelistDDGate (default-deny DD-carrier gate)#103
rsasaki0109 wants to merge 1 commit into
mainfrom
feat/gsdc2023-dd-trip-whitelist-gate

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Phase 80 showed the broad DDAnchorGate (anchor coverage ≥ 0.6) is net-negative on Kaggle: ~84% of DD rows fell in p95_delta≥3m trips, with a 105.72 m spike on ebf-y/pixel5. Broad DD gating cannot be rescued by a single floor.

Changes

  • TripWhitelistDDGate in experiments/gsdc2023_ab_gates.py — keeps fgo_dd_carrier only for trips that are explicitly whitelisted, or that clear conservative internal-consistency thresholds (anchor≥0.8, dd_epochs≥1, dd_pairs_mean≥4.0, no_tdcp absent) — stricter than 0.6. A deny-list always wins. Reads only internal signals (never truth), so an offline A/B audit can emit the whitelist and production replays it deterministically. Duck-typed drop-in for CombinedGate(dd=...).
  • tests/test_gsdc2023_ab_gates.py — 8 new tests (the marginal trip the broad gate kept but this denies, allow/deny precedence, DD-density floor, CombinedGate substitution). 24/24 pass.

Scope: this lands the gate logic at the A/B-audit seam (where the whitelist is produced). Production wiring into build_gsdc2023_bridge_submission.py + whitelist-YAML generation is a follow-up (needs config plumbing + the full candidate data, not present locally).

🤖 Generated with Claude Code

Phase 80 showed the broad DDAnchorGate (anchor coverage >= 0.6) is net-negative
on Kaggle: ~84% of DD rows fell in p95_delta>=3m trips, with a 105.72m spike on
ebf-y/pixel5. Broad DD gating cannot be rescued by a single floor.

TripWhitelistDDGate keeps fgo_dd_carrier only for trips that are explicitly
whitelisted, or that clear conservative internal-consistency thresholds
(anchor>=0.8, dd_epochs>=1, dd_pairs_mean>=4.0, no_tdcp absent) -- stricter than
the 0.6 floor. A deny-list always wins. It reads only internal signals (never
truth), so an offline A/B audit can emit the whitelist and production replays it
deterministically. It is a duck-typed drop-in for CombinedGate(dd=...).

Adds 8 unit tests (incl. the marginal trip the broad gate kept but this denies,
allow/deny precedence, DD-density floor, and CombinedGate substitution).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rsasaki0109 rsasaki0109 force-pushed the feat/gsdc2023-dd-trip-whitelist-gate branch 2 times, most recently from 6679b69 to 5250a11 Compare June 17, 2026 15:16
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