diff --git a/docs/plan.mx-exclusion-gaps.md b/docs/plan.mx-exclusion-gaps.md index 703774c..cdf9bf6 100644 --- a/docs/plan.mx-exclusion-gaps.md +++ b/docs/plan.mx-exclusion-gaps.md @@ -1,6 +1,6 @@ # Plan: close the MX-exclusion gaps in the trucking warmup -**Status:** Fix 1 + Fix 3 SHIPPED 2026-06-20 (commit `9eeed47`); Fix 2 deferred. +**Status:** ALL THREE FIXES SHIPPED 2026-06-20 (Fix 1+3 `9eeed47`, Fix 2 `bc93d93`). **Owner context:** warmup day 17; big operators (Google/Microsoft/Proofpoint/ Mimecast/Barracuda/Cisco/Broadcom) are EXCLUDED until day 30, then re-introduced via `mx_daily_caps()`. This plan fixes three holes that let throttling/consumer @@ -16,8 +16,12 @@ MX operators through during that window. - **Fix 3 (DONE):** `infra/cron/pw-mx-tag` installed to `/etc/cron.d/` (05:45 UTC daily, `--only-unsent --limit-domains 20000`). Verified: a 200-domain test run tagged 216 domains; idempotent/bounded. -- **Fix 2 (DEFERRED):** bounding the NULL bucket cap — the cron will drain the - backlog, revisit if NULL stays large. +- **Fix 2 (DONE):** `select_sendable_carriers()` now bounds the untagged (NULL + mx_provider) bucket with a single shared `untagged_cap` (env + `MAIN_UNTAGGED_MX_CAP`, default `max(quota, 200)` = no-starve / no behavior + change today). Only ~3,035 distinct verified-sendable untagged domains remain, + so pw-mx-tag drains them in its first run; tighten the cap to a fraction of + quota afterward to prefer the tagged long tail. Commit `bc93d93`. ---