Skip to content

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 25 May 16:46
· 734 commits to main since this release
  • fix(ci): skip copy-weights entirely on CI — R2 pull already placed files (ee44c5a)
  • fix(ci): set MAILWOMAN_PUBLISH_MODEL env so copy-weights finds R2-placed files (1220877)
  • fix(ci): skip tests in release flow + gitignore output/ + prettier (f3a57fa)
  • fix(ci): publish workflow pulls weights from R2 (#162) (a76c5a3)
  • feat: v0.5.1 unchained — h384 + phrase priors + class weights (val_macro_f1=0.638) (#161) (ac724ce)
  • docs + blog: v0.5.0 eval insights + night shift 2 recap (#160) (3d6ad70)
  • feat: eval matrix with custom weights + v0.5.0 CE-only eval report (#159) (e91f096)
  • feat(#154): v0.5.0 CE-only training — model.py gate, MANIFEST patch, configs, Modal wrapper (#158) (0c26ffc)
  • fix: default bucket mailwoman-corpus → mailwoman-assets (#157) (0fc8a2f)
  • feat(#155): product-level eval matrix — comparison script as release gate (#156) (c2835f7)
  • Format. (11db7ac)
  • docs: fix sidebar_position conflicts, reformat tables (30cc07b)
  • docs: E2/E3/F — beginner companion, eval discipline, operator sidebar (e4eb3f7)
  • docs: extract WOF gotchas into stable concept article (fbd651e)
  • docs: curatorial cleanup — status page, getting started, API reference, terminology reconciliation (f31f42c)
  • feat: wire @mailwoman/locale-gate as default detectLocale in factory (#152) (133de5b)
  • Update links. (e94cebb)
  • Update docs review. (09e7934)
  • feat: migrate WOF prepare worker from Redis to SQLite (#151) (5d5c29f)
  • chore: restructure understanding/ + fix all broken links + docs build CI (#150) (19f11ad)
  • Fix paths. (07b7c5f)
  • Fix link path. (b8ced66)
  • Format. (3cb019c)
  • Fix up links. (ca716af)
  • chore: status doc freeze + VERDICT_SMOKES lessons from v0.5.0 (#149) (34ae71b)
  • chore: status doc freeze + VERDICT_SMOKES lessons from v0.5.0 (12e9700)
  • docs: add Tier 0 domain articles, reorganize understanding track (#146) (8f6a506)
  • Update gitignore. (6fe6b55)
  • blog: taming Who's On First — open place data for geocoders (#148) (3270169)
  • blog: taming Who's On First — open place data for geocoders (b25316f)
  • feat: eval script for joint-reconcile vs argmax (decision matrix) (#147) (67c9785)
  • feat: reconciler integration — per-span logit aggregation + forceJointReconcile wire-up (#145) (6c5c449)
  • blog: two voices arguing in a model — beginner-friendly ML debugging story (#144) (85eb4bf)
  • docs: dual-loss curvature conflict — KB doc + synthesis postscript (#143) (b763c8e)
  • Flesh out review docs (d5595bc)
  • Flesh out reviews. (5dd6828)
  • Add review. (1015c1e)
  • Clean up truncations. (c4eca06)
  • blog: bisect-by-elimination — narrowing v0.5.0's training problem (#142) (267684b)
  • Fix alias. (2010bad)
  • Flesh out docs skill. (44ea3e9)
  • Fix ignore. (42ff187)
  • Add docs location. (ce59036)
  • Run formatter. (a7bc9fa)
  • Update visibility. (84c8092)
  • Fix docs path. (f5a6a3e)
  • fix(docs): escape <5%, <1%, <5K in CORPUS_V0_4_0_GENERATION.md (#141) (5ef84c9)
  • blog: v0.5.0 C-train bisect retrospective — four diverged attempts (#140) (d93d742)
  • docs: TRAINING_ENV.md — playpen container setup for classifier training (#139) (a781065)
  • v0.5.0 thread A1: tokenizer retrain on corpus-v0.4.0 (byte-fallback 36.7% → 18.2%) + harness MANIFEST support (#138) (efdec97)
  • docs: tokenizer A0 baseline + WOF leakage explanation (Doc C) (#134) (614265e)
  • docs: joint-decoding walkthrough on NY-NY Steakhouse, Houston, TX (Doc B) (#133) (b8d3c30)
  • docs: reconcile empty-parse-bonus gotcha — concept article (Doc D) (#135) (a138345)
  • docs: v0.5.0 — as shipped (Doc A) (#132) (0f0ac97)
  • v0.5.0 thread B2: corpus-v0.4.0 transliteration slice (73,316 rows, 5 scripts) (#136) (104b44a)
  • docs: synthetic-corpus validation + DeepSeek reasoning-budget gotchas (#137) (b90349f)
  • v0.5.0 thread B: corpus-v0.4.0 kryptonite slice (4,771 adversarial rows) (#130) (cd7f532)
  • v0.5.0 thread C-s: top-k inference + phrase-prior input layer (scaffold) (#128) (15f1961)
  • reconcile: Stage 5 joint-decoding via beam search + concordance (v0.5.0 thread D) (#131) (d4ce39e)
  • feat(v0.5.0-a): sentencepiece tokenizer training harness + multi-script eval fixture (#129) (d9cd02f)
  • v0.5.0 thread E: @mailwoman/phrase-grouper workspace (Stage 2.7) (#126) (38783f8)
  • v0.5.0 thread F: harden verdict-smoke framework + sidecar audit (#125) (582f879)
  • docs: knowledge-ladder concept article + PHASE_8 v0.5.0 fresh-slate plan (cc2f1e1)
  • docs: add Demo + Log to navbar; restructure footer with Try-it column (4483aa2)
  • v0.4.0: coarse-F1 recovery + dual-loss stability investigation (issue #116) (#117) (c7e5ae7)
  • docs/contributions: harvest i116 drafts + postmortem (drain w/o destroy) (50df720)
  • docs/retrospectives: new section + v0.4.0 ablation-campaign article (0e777da)
  • docs: enable Docusaurus blog + first post — v0.4.0 ablation campaign retrospective (2a0a930)
  • docs/PHASE_2: v0.4.0 entry — categorized regression diagnostic (404cceb)
  • decoder: trim BIO span boundary past non-word chars (v0.4.0 sidecar) (c72ab4c)
  • docs/PHASE_2: v0.4.0 entry — shipped outcome (mixed result) (09d0d9f)
  • docs/PHASE_2: v0.4.0 entry — cw-only PASS update (d499288)
  • docs/PHASE_2: v0.4.0 entry — campaign findings (mid-flight) (6ddc170)
  • docs: staged-pipeline-contract article — practical "how do I plug in" guide (TODO #6) (c1f82ac)
  • parse: --benchmark flag with p50/p95/p99/max per stage (TODO #5) (d94261b)
  • runtime-pipeline: AbortSignal + timing-budget + non-graceful failure tests (TODO #4) (150c7db)
  • corpus-audit: shard-distribution vs source_weights diagnostic (TODO #3) (5566cd2)
  • prettier: sweep normalize + query-shape (drive-by) (a14a7e1)
  • docs/STAGES: mark Stage 2 (locale gate) as shipped (4893e55)
  • locale-gate: @mailwoman/locale-gate workspace — Stage 2 (TODO item #1) (ceb2c1f)
  • parse: --candidates flag surfaces resolver alternatives (TODO item #2) (58eee3b)
  • todo: 6 CPU-bound parallel-work items surfaced during v0.4.0 training prep (9c9ef69)
  • v0.4.0 prep: smoke config + ship script (36e64ca)
  • v0.4.0 prep: per-token CRF norm + class-weighted CE + source rebalance (017ca33)
  • docs/demo: surface Stage 2.5 kind classifier in the parsed-components panel (2b7e66a)
  • docs + cli: LOG entries, staged-pipeline narrative refresh, pipeline-debug smoke test (cdaf9aa)
  • cli: flip parse default to runtime pipeline (--isolated for legacy) (21db4dc)
  • kind-classifier: new workspace — Stage 2.5 rule-based query categorizer (d74b146)
  • pipeline: runPipeline coordinator + createRuntimePipeline factory (Item 3) (7a6b372)
  • neural: QueryShape soft-prior bias in encoder decode (Item 2) (f99d825)
  • core/resolver: candidate-list API — surface alternatives on resolved nodes (6d27e3d)
  • neural: JS Viterbi decoder with BIO structural mask (default) (375d15d)
  • normalize: new workspace — Stage 1 input preprocessing (ce3ebea)
  • query-shape: new workspace — pure-function structural priors (8e472fb)
  • plan/reference: STAGES.md — runtime pipeline interface contracts (470679c)
  • docs: rename PHASE_2's 'Stage N' → 'Tier N' (vocabulary tier) (09c9489)
  • plan/reference: QUERY_SHAPE.md design intent (a8e7429)
  • docs/concepts: the-staged-pipeline synthesis article (0482179)
  • docs/concepts: addresses-that-break-geocoders failure-mode catalogue (22301be)
  • docs: ESL-friendly understanding/ + concepts/ tracks (585e726)
  • docs: link v0.4.0 plan to issue #116 (1643186)
  • LOG: backfill v0.2.0 + v0.3.0/v3.0.0 + post-ship retro entries (12289df)
  • docs: restore root README + align plan docs with v3.0.0 ship (a0c53bc)
  • demo: MapLibre layer-toggle control for cartography debugging (94c9ddc)
  • Update asset paths. (93c581e)
  • neural-weights: .npmignore so files whitelist beats .gitignore at publish time (a3c23fa)
  • neural-weights: realign v0.3.0 → v3.0.0 to match npm @2.0.6 → @3.0.0 ship (bf451da)
  • neural-weights-en-us: bump dev-link to v0.3.0 + prettier-clean PR #115 (2a6bd73)
  • feat(#57): Phase 2.x — v0.3.0: Stage 2 labels + CRF + corpus rebuild (#115) (2c13742)
  • state-hi-schools: add adapter + XLSX→CSV fetcher (issue #55) (#114) (506e823)
  • corpus(samhsa): defer adapter — bulk export source no longer public (#113) (a928c11)
  • demo: multi-candidate picker for the WOF cascade output (0de5e3b)
  • v0.3.0 slice 4 (config+ship): stage2.yaml + ship_v0_3_0.sh (2519820)
  • demo QoL: confidence bars + permalink copy + failure diagnostic (82f5e02)
  • v0.3.0 slice 4 (code): linear-chain CRF decoder + label smoothing (07fca08)
  • v0.3.0 slice 3: bump corpus build to v0.3.0 + add NAD source (29d61b2)
  • v0.3.0 slice 1a: expand label set to STAGE2 (15 → 21 BIO labels) (fe180cf)
  • Point cartographer + demo at basemap-v4 / sprites/v4 (0ba266b)
  • Ignore secrets. (2a652e3)
  • Ignore secrets. (675817c)
  • Restore demo geocoder atop unified cartographer; gate .env (4cee3bb)
  • Flesh out unification. (937ee59)
  • Clean up attribution. (228a891)
  • fix(docs): pin protomaps-themes-base@^3 + alias workspace deps to source TS (#112) (34c9790)
  • demo(e2e): playwright harness (#111) (aa64ee7)
  • demo: gate setTerrain on isStyleLoaded; re-wire on style swap (#109) (ac901d6)
  • demo: protomaps theme + marker CSS + bbox boundary + lookup cascade (#108) (a175dc0)
  • demo: ?q= URL parameter for shareable lookups (#107) (08833d9)
  • demo: scope primary-button styling to the form (#106) (d7d4854)
  • demo: debug XML toggle on the result panel (#105) (5cfff3d)
  • demo: dark-mode parity for the map (#104) (974f827)
  • demo: add example-address quick buttons (#103) (1277b96)
  • Phase B.4: Docusaurus /demo page (browser-side mailwoman geocoder) (#102) (e75cbf0)
  • Phase B.3: scaffold @mailwoman/neural-web (onnxruntime-web, WebGPU+WASM) (#101) (6541015)
  • phase-b.2: scaffold @mailwoman/resolver-wof-wasm (#100) (16c43f3)
  • Phase B.1: slim WOF builder (35 MB output, browser-shippable) (#99) (315426f)
  • Docusaurus scrub + sqlite-wasm browser-feasibility spike (#97) (c2e1488)
  • demo: server-side resolve endpoint + static UI (#96) (bce7430)
  • phase-4.3.x: FTS5 prefix query support via trailing-* sanitization (#95) (a09c6eb)
  • phase-4.3.x: population-weighted ranking via wof:population (#94) (dbad73f)
  • phase-4.3.x: multi-shard ATTACH + postcode resolver routing (#93) (d490ec7)
  • fix(#91): accept WOF is_current = 1 (legacy) as well as -1 (modern) (#92) (c68c3c7)
  • phase-4.3.x: proximity + bbox queries via R*Tree (#90) (89681c4)
  • phase-4.3: wire the WOF resolver into the parser pipeline + --resolve CLI flag (#89) (2ca0de3)
  • phase-4.2: fix schema mismatch + add real-WOF integration tests (#88) (58d9050)
  • resolver-wof-sqlite: ship mailwoman-wof-build-fts CLI (#87) (beb2227)
  • docs: draft Phase 4.3 resolver-integration plan (#86) (f2638c0)
  • openaddresses: document share-alike filter in adapter README (#85) (d14378a)
  • phase-4.2: @mailwoman/resolver-wof-sqlite package + detailed plan (#84) (2391dbc)
  • core+corpus+scripts: replace better-sqlite3 with node:sqlite (#83) (68e39fd)
  • core: restore green compile on the ported Kysely boilerplate (#82) (b8ff634)
  • phase-4.1: source provenance via XML src attr (#81) (b3d899e)
  • Format. (1f05aea)
  • docs: migrate the neural implementation plan into docs/plan/ (aa906fe)