Skip to main content

v7.1.0 candidate — CA/MX Overture locale add (v385 latam 8k)

Date: 2026-07-18 (night). Modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.': output-v384-latam-probe-s42/step-008000 (int8 model-v385-latam8k-int8.onnx). Recipe: v3.8.5-latam-8k.yaml — init_from shipped v381, +CA/MX in country_weights, overture-latam:6.0 source (dedicated, doesn't dilute the trained EU overture rows), 8k (2k probe → 8k resume, constant LR). CorpuscorpusThe BIO-labeled training data used to train Mailwoman's neural classifier. Assembled from real sources (OpenAddresses, National Address Database) and synthetic shards (boundary stress, order variants, negative space). Managed by @mailwoman/corpus.: v0.13.0-latam overlay (base v0.11.0-no-fragment + a 456k-row overture-latam shardshardA partial output file of the corpus build, written in Parquet format. The training pipeline streams shards row by row., CA 299,809 + MX 156,421).

Status: PROMOTABLE — all guards pass. Promote is the operator's call (HF upload + npm release, staged not shipped).

The win

  • MX localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. +8.7 (74.0 → 82.7, native-order held-out board). The first genuinely-new localelocaleThe combination of language and country an address comes from. en-US and fr-FR are the locales Mailwoman ships weights for. coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present. — the modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' now parsesaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. Mexican addresses (Spanish citylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. surfaces, Privada/Calle streetsstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels.) meaningfully better than shipped.
  • CA neutral — v381 already parsesaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. Canadian (US-order) addresses; CA adds coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present.-provenance but no measurable gain. Ships free.

The guards (all PASS)

Golden 2pp gate (data/eval/golden/v0.1.2, channels-on, v385 vs shipped v381, same run):

tagv385shippedΔ
exact-match24.2% (1105)24.2% (1104)+1 row
localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy.46.846.8flat
regionregionThe first-level administrative subdivision of a country — a US state, a French region, a province. The component between country and locality.78.178.6−0.5
postcodepostcodeThe country-specific postal code (US ZIP, French code postal, etc.). Mailwoman handles postcode parsing entirely by rule classifier — a regex problem, not an ML one.97.397.3flat
streetstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels.15.315.3flat
house_number96.996.7+0.2
countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head.89.891.4−1.6

No tag > 2pp down → PASS. The one nick is country −1.6pp (220 vs 224 / 245 — small-N; recovered from the 2k probe's −2.0). The #1104 countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. channel reacts to the new CA/MX surfaces. Sub-threshold and stated; the 4-row miss characterization (CA/MX-adjacent vs US/FR) is a tracked follow-up.

Gauntlet (eval gauntlet --candidate): regression 33/33 PASS; metamorphic INV 62/63, DIR 3/3, BAND 16/21 — identical known-xfail profile to shipped v381 (the 1 INV[comma-drop] xfail is the pre-existing FR Rue du Chevaleret #1101 case; the US comma-drop held). No new regression.

Autonomous decisions

  • BR dropped (0% OA-lineage → license unclear; number field is SN (CASA N) garbage). Deferred, not blocked.
  • NZ excluded — separate dead-tag problem (dependent_locality unemittable in v381; see 2026-07-18-night-postmortem.md). NZ is not in this overlay.
  • 2k → 8k escalation was gated on a netneural networkA model made of layers of simple numeric units whose connection strengths (weights) are learned from data. The transformer encoder at Mailwoman's core is a neural network.-positive 2k probe + a passing golden 2pp; the 8k recovered the countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. nick from −2.0 to −1.6.

To promote (operator)

  1. Materialize v385 as the neural-weights-en-us modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' bundle (scripts/copy-weights.ts / the card's files_md5), bump the model cardmodel cardA JSON metadata file (model-card.json) shipped with each weights bundle. It declares the model version, lineage, label set, required inference channels (anchor, gazetteer), calibration data, and training provenance., append the evalevalRunning the model against a held-out golden dataset and computing per-component F1, exact-match, calibration, and resolved-coordinate error.-ledger row.
  2. npm release as v7.1.0 (package minor; first post-v7 modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.') via the publish workflow.
  3. Optional pre-promote: characterize the 4-row countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. miss; add a native-order render to the CA/MX golden board (the evalevalRunning the model against a held-out golden dataset and computing per-component F1, exact-match, calibration, and resolved-coordinate error.-direction closed-loop artifact caught this cycle).

Modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' + artifacts staged (uncommitted): int8 on the ModalModalA cloud GPU platform (modal.com) where Mailwoman trains its neural models on NVIDIA A100 GPUs. Training runs are launched via scripts/modal/train_remote.py and typically complete in ~1 hour. volume /models/quantized/model-v385-latam8k-int8.onnx; recipe/config on branch feat/locale-expansion-nz-camx.