Releases
v4.11.0
Compare
Sorry, something went wrong.
No results found
release: promote v1.8.0-fr-admin-split as v4.11.0 (c3d95a7 )
feat(neural): enforceWordConsistency decode-fix (#727 ) — DEFAULT-OFF prototype, gate shows not-yet-clean (199051d )
Format. (36127dc )
Fix contrast. (961aff5 )
Flesh out. (439fcd3 )
feat(corpus): #26 — exclusion-angle license filter + BAN Licence-Ouverte election + manifest license-set (b5b5831 )
docs: add glossary page with docusaurus-plugin-glossary (17e2b4e )
docs(postmortem): finalize night-2026-06-19 — morning wrap (pushed to main, v1.8.1 launched) (302150f )
feat(train): v1.8.1 launch infra — recipe + sync_v081 (the fr.country fix, one command from launch) (00ae8f5 )
feat(train): fr-admin-split shard — add country-bearing rows (v1.8.1 prep, fixes the fr.country -3.5 finding) (a3fa285 )
docs(postmortem): add the FR-golden guardrail — net FR-label gain except fr.country -3.5 (coordinate-invisible) (ccd0831 )
docs(postmortem): night 2026-06-19 — v1.8.0 admin-split is a clean coordinate net win (FR -40%, US flat) (21e10e4 )
feat(train): v1.8.0 FR admin-split shard + recipe + live gate (surpass-v1.5.0) (d451665 )
feat(eval): FR admin-split pre-GPU self-validation — the lever is real (−61% on collision communes) (06e2a77 )
docs(eval): bank the row-level read behind the v1.7.0 HOLD — the −4.0/−6.1 are softer than the macro (15ba056 )
chore(deps): upgrade dependencies (#726 ) (956483b )
fix(deps): resolve Dependabot security alerts (#725 ) (723727a )
Fix build. (6a4dcaf )
Format. (32af713 )
Format. (6174bb1 )
Fix links. (44e90be )
Fix license. (6f38b9f )
Fix contrast. (666b544 )
docs: add README.md for all published packages (4821cff )
Format. (ca4fa05 )
Fix formatting. (b3244c4 )
Update skills. (40ea2cf )
docs(postmortem): add the day-session record — the measurement-integrity campaign (247e396 )
fix(resolver): fold spelled-ordinal street names to digit form in the situs key (#723 ) (3e565a1 )
docs: refresh the US coordinate numbers post-fix — admin tail 12 → 6.8%, within-100m 85.9 → 90.0% (#723 ) (d71f803 )
fix(parse): US leading-house-number repair — relabel a 5-digit-postcode-as-house-number (#723 ) (5977ce4 )
fix(resolver): fold a directional quadrant mis-tagged unit into the situs street key (#723 ) (d1b8bcb )
docs(blog): "Three times this week, our metrics undersold us" — the read-the-rows methodology post (ed4cea4 )
feat(eval): oa-resolver-eval parses via createScorer — full SHIP-CONFIG parity (#722 ) (896c2cd )
docs(eval): correct the US coordinate story — shipped cascade is meter-grade, not the 3.3km admin centroid (#488 ) (b4cdf25 )
feat(eval): --cascade — oa-resolver-eval grades the SHIPPED coordinate (situs cascade), not the admin centroid (#488 ) (dd3628d )
docs(eval): country regression anatomy — the −2.4 is one homograph row (Lima/Peru), not systematic (e976efb )
test(weights): drift-guard — fr-fr model-card must mirror en-us's labels/requires (#721 ) (5017b3b )
fix(weights): reconcile fr-fr model-card to the en-us model it actually ships (#721 ) (af2f9f6 )
fix(publish): CI fetch places the #718 soft-feed artifacts (#720 ) (e486be3 )
feat(eval): wire the mask-regression gate into promotion-gate.sh (#718 ) (20f12ac )
feat(neural): loadFromWeights soft-feeds the anchor + gazetteer channels by default (#718 D1) (c1da273 )
eval(gates): re-derive per-locale floors from anchor-ON measurements (#718 , #564 ) (7c35987 )
feat(resolver): region→macroregion + county→macrocounty filter groups + fallback flag (#718 ) (8a0b13e )
feat(eval): per-release mask-regression gate (#718 ) — the finer second lock (b86ac69 )
feat(neural): capability-manifest delta-gate — destructive conventions masks fail at load (#718 ) (3ebd726 )
docs: HuggingFace-format model cards (en-us, fr-fr) + correct head-to-head US locality-match (759d150 )
fix(#719 ): FR conventions no longer forbids street_prefix (it destroyed FR street parsing in prod) (1caf2c3 )
fix(eval): route boundary-stress-gate through createScorer, grade at SHIP-CONFIG (#718 ) (c0f4b4d )
fix(eval): oa-resolver-eval locality-match credits the resolver's locality group (#375 ) (9f986ec )
eval: oracle-locality diagnostic — US rural locality-match is a localadmin scoring artifact (#375 ) (14fdba6 )
feat(neural): canonical ProductionScorer foundation (#718 ) (3cd3925 )
docs(eval): oracle substitution / ceiling analysis + SHIP-CONFIG parity (f749704 )
docs: correct v1.7.0 with production-faithful (anchor-on) numbers + FR-flat (76b5525 )
fix(eval): per-locale-f1 feeds anchor+gazetteer by default (was opt-in) (d7b5174 )
docs: correct the v1.7.0 promote claim across blog + postmortem (re-eval vs real default v1.5.0) (989be91 )
eval: v1.5.0 vs v1.7.0 promote head-to-head, HOLD v1.5.0 (04a3924 )
docs(pipeline): propagate coarse-placer + reconcile status to the sibling pipeline docs (e5a25b9 )
docs(pipeline): bring 'How it works now' up to date — coarse-placer, anchors, reconcile retirement (6012620 )
docs(blog): add the two-traps anatomy + the three-bucket stop rule (b43247a )
docs(blog): publish 'The macro-F1 went up. Did the model get better?' (838e7aa )
postmortem: WALK BACK the lint 'finding' — it was sampling bias, not real (fc034b9 )
postmortem: v2 country-scoped lint WORKS + found a real #511 issue (next-shard prune list) (e451f7d )
eval(#511 ): country-scoped full-count lint (v2) — and it found a real issue (6967d09 )
postmortem: the firm #511 -tooling lesson — full counts, not small scans (f1b65e8 )
postmortem: finalize numbers table (shift metrics) (8e9685a )
postmortem: the #511 -lint generalization lesson — sampling can't fix source-specificity (3b7f508 )
docs(blog): complete the diagnosis blog coda — the fix worked, and the ceiling lesson (a4fd1e5 )
postmortem: v1.5.1 baseline reframes v1.7.0 — net improvement, promotable (37fb5bf )
feat(#375 ): v1.7.1 country patch — country-bearing bare-locality variant (staged) (1113dce )
eval(#375 ): v1.7.0 gate — NO-PROMOTE, but the regression fix WORKED (c939983 )
eval(#511 ): generalize the base-consistency lint (shard-vs-base) — v1 coarse screen (9669470 )
docs(blog): 'The macro-F1 went up. Did the model get better?' (draft) (af3fd5f )
eval(#617 ): model-swap flags for the NPPES dedup benchmark (ed89dd4 )
feat(#375 ): sync_v061 — pull the v0.6.1 balanced overlay for the v1.7.0 retrain (7307eaf )
eval(#375 ): v1.7.0 gate spec + street-recall-full blind-spot probe (d3e580f )
feat(#375 ): v1.7.0-boundary-stress recipe (bf26474 )
feat(#375 ): v1.7.0 shard composition + #511 venue-vocab lint (a6da350 )
feat(#375 ): balanced boundary shard — bare-locality + hn-before shapes (4d0059e )
eval(#375 ): locality-regression + affix-B/I diagnostic probes (bcddcc2 )
eval(#375 ): boundary confidence probe — signal-vs-capacity diagnostic (0a6b03b )
eval(#375 ): v1.6.0 floors gate spec + post-training gate runbook (99c0758 )
eval(#375 ): boundary-stress promote/no-promote gate runner (dd21e10 )
fix(train): conventions table forbids FR street_suffix only, not street_prefix (5b9bcfe )
docs(modal): AGENTS.md — Modal retrain launch runbook (#375 launch) (743d104 )
fix(#375 ): disable conventions loss-mask — it conflicts with the boundary shard (5e9b706 )
feat(modal): sync_v060 — pull v0.6.0-boundary-stress overlay + latest configs (21bbb66 )
fix(#375 ): re-root overlay base shards to /data (Modal volume path) (47e4440 )
feat(#517 ): wire the US military po_box class into the shard builder (#717 ) (f9a4450 )
fix(#375 ): base-consistent locality vocab — resolve the #511 overlap (not defer it) (#716 ) (c9b6cf8 )
feat(#517 ): po_box synthesizer — NZ leaders + region-less format + US military class (#715 ) (40f5d20 )
feat(#694 ): flip the geocoder ingest to comma-join + normalizeCase (default) (#713 ) (a222842 )
feat(#375 ): stage the v1.6.0 retrain bundle — conventions loss-mask + expanded gate (#714 ) (d7a11f6 )
docs(#696 ): publish "How close is close enough?" — coordinate-sufficiency concept (e87f706 )
docs(blog): three gates made us earn it — the #1 -lever night told through the gates (69cae75 )
docs: post-merge verification in the night-16 postmortem — main is GREEN (#712 ) (e381f98 )
docs: night-16 shift postmortem — the clean artifact (19 PRs) (#711 ) (1896cf9 )
docs(#375 ): correct the #511 finding — locality/street overlap is REAL, not artifact (#710 ) (7c5ea53 )
fix(#375 ): boundary shard base-locales-only — the #511 lint caught an AU contradiction (#709 ) (6231551 )
feat(#375 ): expand boundary-stress diversity ~3× — and correct the inflated baseline (#708 ) (255edfd )
feat(#375 ): boundary-stress corpus-build glue (overlay-manifest assembler) — tested (#707 ) (38bd8f2 )
feat(#375 ): v1.6.0-boundary-stress retrain recipe (DRAFT, DeepSeek-signed) (#706 ) (45b6946 )
feat(#375 ): add the AU/UK slash unit-convention shape to the boundary shard (#705 ) (d089465 )
eval(#375 ): boundary-instability baseline — the current model's gap quantified (#704 ) (471c21b )
feat(#375 ): boundary-instability synthetic stress shard — the #1 -lever groundwork (#703 ) (03f37f4 )
eval(#375 ): within-token punctuation weakness decomposed — it's a misnomer (#702 ) (039f3bd )
eval(#474 ): Overture ES postcode centroids vs GeoNames — gap already closed (#701 ) (86c93d0 )
eval(#694 ): delimited address joins — the flip evidence (+15% rooftop, no crater) (#700 ) (d79a6f3 )
feat(#694 ): IngestOptions.addressSeparator — opt-in delimited address join (#699 ) (a11bcf0 )
chore(#694 ): geocode-case-diag — per-source + nocomma modes (root-caused #694 ) (#698 ) (0043d69 )
docs(#375 ): failure taxonomy v1 — where Mailwoman is wrong, by how much (#697 ) (8a33a57 )
chore(#694 ): #690 geocode-core diagnostics (case-check + geocode-case-diag) (#695 ) (4c464b0 )
feat(#690 ): thread normalizeCase through the runtime pipeline (#693 ) (38ec9e0 )
feat(#690 ): case-normalize all-caps input before the neural parser (#692 ) (f46a633 )
eval(#619 ): geocoder vs provided coords — TX HHSC facilities (+ #690 all-caps finding) (#691 ) (11818c9 )
eval: per-address-type head-to-head — neural vs v0 (rates, not anecdotes) (#689 ) (bf4c551 )
Format. (6e1da99 )
docs(blog): state-of-affairs post — neural vs the Pelias port (draft) (5f70cb1 )
feat(#478 ): fix-v1 containment-preserving arbitration — regression fixed, not promoted (#687 ) (3f17bb7 )
eval(#478 ): diagnose the precondition drop — loss of containment + fix plan (#686 ) (ec4ba52 )
eval(#478 ): coordinate gate (leg 2) FAILS — arbitration not promoted (#685 ) (a963516 )
feat(#478 ): wire arbitration into runPipeline + arena gate (increment 3) (#684 ) (c65b8af )
feat(#478 ): proposal coherence pass (increment 3 groundwork) (#683 ) (6b52a6c )
feat(#478 ): input-shape router — the arbitration prior (increment 2) (#682 ) (cbe0afd )
docs: drop duplicate record-matching tag key (fix broken docs build) (#681 ) (6213e0e )
docs: publish the matcher story (geocode-first matching + dedup yardstick) (#680 ) (6a46e6c )
Format. (7ae7902 )
Rename blog to research. (a8139d7 )
Fix styles. (672669e )
Clean up. (a88c462 )
Clean up blog config. (e524495 )
eval(#109 ): H3-cell robustness check — the org-name 68.1% holds (not a 50m artifact) (#678 ) (4f91a94 )
eval(#478 ): grade the assembled runPipeline in the arena harness (#679 ) (980bd07 )
Fix build. (827e0c8 )
test(#595 ): un-stale the --default-country none NY assertion (#675 ) (9ed6ea9 )
docs(agents): correct the stale TLA note — #481 removed it; the cycle is structural (#676 ) (dd3ea27 )
docs(postmortem): night-16 part 2 — viz + designations + cross-source feasibility (#674 ) (83b9652 )
eval(#655 ): option 2 is data-blocked — no non-circular cross-source weak-label anchor (#673 ) (cbb184a )
viz(record-matcher): cross-dataset linking map on the house stack (#618 ) (#672 ) (b7ae314 )
feat(record): context-aware legal designations — jurisdiction × domain (#668 ) (#671 ) (f95a893 )
blog: "Match where it is, not how it's spelled" — both figures, one post (#677 ) (68d3ea6 )
docs(eval): org-name as the honest dedup yardstick + the climb figure (#108 , #625 ) (#670 ) (4190eb6 )
docs(viz): geocode-first decision surface — the headline matcher figure (#106 ) (#669 ) (310af3d )
eval(#625 ): dedup measurement — dual-level benchmark + gold set → the over-merge is a yardstick artifact (#667 ) (bcbd12b )
eval(#625 ): dedup ceiling — derive "good enough" from data; 0.85 is mis-anchored (#665 ) (56c9950 )
eval(#655 ): cross-source threshold sweep — re-thresholded GBT can't beat FS (#664 ) (6da3089 )
feat(registry): coverage reconciliation as a library + registry --reconcile (Tier 2) (#666 ) (12773d5 )
feat(registry): map view — toMapHTML() + registry --map-out, on the house Protomaps stack (Tier 2) (#662 ) (2dd17e5 )
fix(spatial): add repository field — unblock provenance publish of 4.10.0 (#660 ) (aff4b1a )
You can’t perform that action at this time.