mailwoman 7.7.0 → 7.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,12 +61,24 @@ const EXPECTED_GB_PAIR_COUNT = 19_209
61
61
  */
62
62
  const RUNG3_PRE_FOLD_CENSUS_LINE_COUNT = 19_431
63
63
 
64
- /** Known (child, parent) pairs from the rung-3 GB census, probed after write as a self-check. */
65
- const GB_PROBE_PAIRS: ReadonlyArray<readonly [city: string, district: string]> = [
66
- ["Fishburn", "Stockton-on-Tees"],
67
- ["Shoreditch", "London"],
68
- ["Sedgefield", "Stockton-on-Tees"],
69
- ]
64
+ /**
65
+ * Known (child, parent) pairs probed after write as a self-check — PER COUNTRY, keyed by the `--country` code. Probing
66
+ * another country's names against a freshly built index prints reassuring-looking `PROBE MISS` lines that verify
67
+ * nothing (the en-nz first build ran the GB names — caught 2026-07-24). A country without an entry gets a loud skip,
68
+ * not a false verification.
69
+ */
70
+ const PROBE_PAIRS_BY_COUNTRY: Readonly<Record<string, ReadonlyArray<readonly [city: string, district: string]>>> = {
71
+ gb: [
72
+ ["Fishburn", "Stockton-on-Tees"],
73
+ ["Shoreditch", "London"],
74
+ ["Sedgefield", "Stockton-on-Tees"],
75
+ ],
76
+ nz: [
77
+ ["Plimmerton", "Porirua"],
78
+ // The repeated-name convention's identity pair — the (x,x) evidence the segment rule keys on.
79
+ ["Mangawhai", "Mangawhai"],
80
+ ],
81
+ }
70
82
 
71
83
  const OptionsSchema = zod.object({
72
84
  out: zod.string().default("docs/static/mailwoman").describe("Output dir for pair-index-<country>.bin"),
@@ -78,6 +90,15 @@ const OptionsSchema = zod.object({
78
90
  "REQUIRED, no default — the soft-prior bias magnitude a probe hit contributes at decode time. " +
79
91
  "The calibration task supplies the real value; this command refuses to default it silently."
80
92
  ),
93
+ transitionBeta: zod
94
+ .number()
95
+ .optional()
96
+ .describe(
97
+ "OPTIONAL — the decoder transition-entry bonus a probe hit contributes (+β into B-<tag> at the child's " +
98
+ "first piece; TRANSITION-BETA build, task-8 probe). Written into the PIX1 header ONLY when passed — " +
99
+ "omitting it builds a beta-less artifact (no transition term at decode, the pre-beta behavior). " +
100
+ "Per-country calibration like --delta: GB ships 5; NZ ships without it."
101
+ ),
81
102
  holdoutFraction: zod
82
103
  .number()
83
104
  .min(0)
@@ -147,6 +168,8 @@ const GazetteerPairIndex: CommandComponent<typeof OptionsSchema> = ({ options })
147
168
  )
148
169
  const sourceMD5 = await md5File(sourcePath)
149
170
 
171
+ // `transitionBeta` is spread conditionally so an omitted flag writes NO header key at all (a
172
+ // beta-less binary, byte-shape-identical to every pre-TRANSITION-BETA artifact) — not a null/0.
150
173
  const pairIndexHeader: PairIndexHeader = {
151
174
  country,
152
175
  delta: options.delta,
@@ -154,6 +177,7 @@ const GazetteerPairIndex: CommandComponent<typeof OptionsSchema> = ({ options })
154
177
  foldVersion: 1,
155
178
  sourceMD5s: [sourceMD5],
156
179
  buildDate: new Date().toISOString(),
180
+ ...(options.transitionBeta !== undefined ? { transitionBeta: options.transitionBeta } : {}),
157
181
  }
158
182
 
159
183
  const bytes = serializePairIndex(pairIndexHeader, entries)
@@ -164,7 +188,15 @@ const GazetteerPairIndex: CommandComponent<typeof OptionsSchema> = ({ options })
164
188
  // Self-verifying readback: construct a fresh resolver over the bytes we just wrote (not the in-memory
165
189
  // `entries`) and probe known pairs, rather than trusting the write silently succeeded.
166
190
  const resolver = new PairIndexResolver(bytes)
167
- const probeLines = GB_PROBE_PAIRS.map(([city, district]) => {
191
+ const countryProbePairs = PROBE_PAIRS_BY_COUNTRY[country]
192
+
193
+ if (!countryProbePairs) {
194
+ throw new Error(
195
+ `pair-index: no self-check probe pairs registered for country "${country}" — add an entry to ` +
196
+ `PROBE_PAIRS_BY_COUNTRY (probing another country's names verifies nothing).`
197
+ )
198
+ }
199
+ const probeLines = countryProbePairs.map(([city, district]) => {
168
200
  const child = normalizeFSTToken(city)
169
201
  const parent = normalizeFSTToken(district)
170
202
  const tag = resolver.probe(child, parent)
@@ -207,6 +239,8 @@ const GazetteerPairIndex: CommandComponent<typeof OptionsSchema> = ({ options })
207
239
 
208
240
  return [
209
241
  `pair-index-${country}.bin → ${outPath} (${bytes.length.toLocaleString()} bytes)`,
242
+ `header: delta=${options.delta}` +
243
+ (options.transitionBeta !== undefined ? ` transitionBeta=${options.transitionBeta}` : " (no transitionBeta)"),
210
244
  `rows kept ${rowsKept.toLocaleString()} / skipped ${rowsSkipped.toLocaleString()} (empty CITY)`,
211
245
  `distinct pairs: ${entries.length.toLocaleString()}`,
212
246
  ...(holdoutLine ? [holdoutLine] : []),
@@ -30,6 +30,7 @@ declare const OptionsSchema: zod.ZodObject<{
30
30
  country: zod.ZodDefault<zod.ZodString>;
31
31
  source: zod.ZodOptional<zod.ZodString>;
32
32
  delta: zod.ZodNumber;
33
+ transitionBeta: zod.ZodOptional<zod.ZodNumber>;
33
34
  holdoutFraction: zod.ZodDefault<zod.ZodNumber>;
34
35
  holdoutSeed: zod.ZodDefault<zod.ZodNumber>;
35
36
  }, zod.z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"pair-index.d.ts","sourceRoot":"","sources":["../../../commands/gazetteer/pair-index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,wBAAwB,CAAA;AA+B9E,QAAA,MAAM,aAAa;;;;;;;qBAyBjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAA;AAEnC,QAAA,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,aAAa,CAuI9D,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"pair-index.d.ts","sourceRoot":"","sources":["../../../commands/gazetteer/pair-index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,wBAAwB,CAAA;AA2C9E,QAAA,MAAM,aAAa;;;;;;;;qBAkCjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAA;AAEnC,QAAA,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,aAAa,CAoJ9D,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -56,12 +56,24 @@ const EXPECTED_GB_PAIR_COUNT = 19_209;
56
56
  * cross-check target. See {@link EXPECTED_GB_PAIR_COUNT}'s doc comment for why the production target is lower.
57
57
  */
58
58
  const RUNG3_PRE_FOLD_CENSUS_LINE_COUNT = 19_431;
59
- /** Known (child, parent) pairs from the rung-3 GB census, probed after write as a self-check. */
60
- const GB_PROBE_PAIRS = [
61
- ["Fishburn", "Stockton-on-Tees"],
62
- ["Shoreditch", "London"],
63
- ["Sedgefield", "Stockton-on-Tees"],
64
- ];
59
+ /**
60
+ * Known (child, parent) pairs probed after write as a self-check — PER COUNTRY, keyed by the `--country` code. Probing
61
+ * another country's names against a freshly built index prints reassuring-looking `PROBE MISS` lines that verify
62
+ * nothing (the en-nz first build ran the GB names — caught 2026-07-24). A country without an entry gets a loud skip,
63
+ * not a false verification.
64
+ */
65
+ const PROBE_PAIRS_BY_COUNTRY = {
66
+ gb: [
67
+ ["Fishburn", "Stockton-on-Tees"],
68
+ ["Shoreditch", "London"],
69
+ ["Sedgefield", "Stockton-on-Tees"],
70
+ ],
71
+ nz: [
72
+ ["Plimmerton", "Porirua"],
73
+ // The repeated-name convention's identity pair — the (x,x) evidence the segment rule keys on.
74
+ ["Mangawhai", "Mangawhai"],
75
+ ],
76
+ };
65
77
  const OptionsSchema = zod.object({
66
78
  out: zod.string().default("docs/static/mailwoman").describe("Output dir for pair-index-<country>.bin"),
67
79
  country: zod.string().default("gb").describe("ISO country code this shard is built for"),
@@ -70,6 +82,13 @@ const OptionsSchema = zod.object({
70
82
  .number()
71
83
  .describe("REQUIRED, no default — the soft-prior bias magnitude a probe hit contributes at decode time. " +
72
84
  "The calibration task supplies the real value; this command refuses to default it silently."),
85
+ transitionBeta: zod
86
+ .number()
87
+ .optional()
88
+ .describe("OPTIONAL — the decoder transition-entry bonus a probe hit contributes (+β into B-<tag> at the child's " +
89
+ "first piece; TRANSITION-BETA build, task-8 probe). Written into the PIX1 header ONLY when passed — " +
90
+ "omitting it builds a beta-less artifact (no transition term at decode, the pre-beta behavior). " +
91
+ "Per-country calibration like --delta: GB ships 5; NZ ships without it."),
73
92
  holdoutFraction: zod
74
93
  .number()
75
94
  .min(0)
@@ -122,6 +141,8 @@ const GazetteerPairIndex = ({ options }) => {
122
141
  // (`entries === built.entries` by value) when --holdout-fraction is the 0 default.
123
142
  const { kept: entries, heldOut } = applyPairIndexHoldout(built.entries, options.holdoutFraction, options.holdoutSeed);
124
143
  const sourceMD5 = await md5File(sourcePath);
144
+ // `transitionBeta` is spread conditionally so an omitted flag writes NO header key at all (a
145
+ // beta-less binary, byte-shape-identical to every pre-TRANSITION-BETA artifact) — not a null/0.
125
146
  const pairIndexHeader = {
126
147
  country,
127
148
  delta: options.delta,
@@ -129,6 +150,7 @@ const GazetteerPairIndex = ({ options }) => {
129
150
  foldVersion: 1,
130
151
  sourceMD5s: [sourceMD5],
131
152
  buildDate: new Date().toISOString(),
153
+ ...(options.transitionBeta !== undefined ? { transitionBeta: options.transitionBeta } : {}),
132
154
  };
133
155
  const bytes = serializePairIndex(pairIndexHeader, entries);
134
156
  const outPath = join(options.out, `pair-index-${country}.bin`);
@@ -136,7 +158,12 @@ const GazetteerPairIndex = ({ options }) => {
136
158
  // Self-verifying readback: construct a fresh resolver over the bytes we just wrote (not the in-memory
137
159
  // `entries`) and probe known pairs, rather than trusting the write silently succeeded.
138
160
  const resolver = new PairIndexResolver(bytes);
139
- const probeLines = GB_PROBE_PAIRS.map(([city, district]) => {
161
+ const countryProbePairs = PROBE_PAIRS_BY_COUNTRY[country];
162
+ if (!countryProbePairs) {
163
+ throw new Error(`pair-index: no self-check probe pairs registered for country "${country}" — add an entry to ` +
164
+ `PROBE_PAIRS_BY_COUNTRY (probing another country's names verifies nothing).`);
165
+ }
166
+ const probeLines = countryProbePairs.map(([city, district]) => {
140
167
  const child = normalizeFSTToken(city);
141
168
  const parent = normalizeFSTToken(district);
142
169
  const tag = resolver.probe(child, parent);
@@ -170,6 +197,8 @@ const GazetteerPairIndex = ({ options }) => {
170
197
  : undefined;
171
198
  return [
172
199
  `pair-index-${country}.bin → ${outPath} (${bytes.length.toLocaleString()} bytes)`,
200
+ `header: delta=${options.delta}` +
201
+ (options.transitionBeta !== undefined ? ` transitionBeta=${options.transitionBeta}` : " (no transitionBeta)"),
173
202
  `rows kept ${rowsKept.toLocaleString()} / skipped ${rowsSkipped.toLocaleString()} (empty CITY)`,
174
203
  `distinct pairs: ${entries.length.toLocaleString()}`,
175
204
  ...(holdoutLine ? [holdoutLine] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"pair-index.js","sourceRoot":"","sources":["../../../commands/gazetteer/pair-index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pair-index.js","sourceRoot":"","sources":["../../../commands/gazetteer/pair-index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mailwoman",
3
- "version": "7.7.0",
3
+ "version": "7.8.1",
4
4
  "description": "A calibrated, retrieval-augmented postal-address parser — CLI + library.",
5
5
  "keywords": [
6
6
  "address",
@@ -131,26 +131,26 @@
131
131
  },
132
132
  "dependencies": {
133
133
  "@inkjs/ui": "^2.0.0",
134
- "@mailwoman/annotations": "7.7.0",
135
- "@mailwoman/api": "7.7.0",
136
- "@mailwoman/api-kit": "7.7.0",
137
- "@mailwoman/ban": "7.7.0",
138
- "@mailwoman/codex": "7.7.0",
139
- "@mailwoman/core": "7.7.0",
140
- "@mailwoman/corpus": "7.7.0",
141
- "@mailwoman/formatter": "7.7.0",
142
- "@mailwoman/kind-classifier": "7.7.0",
143
- "@mailwoman/locale-gate": "7.7.0",
144
- "@mailwoman/neural": "7.7.0",
145
- "@mailwoman/normalize": "7.7.0",
146
- "@mailwoman/phrase-grouper": "7.7.0",
147
- "@mailwoman/poi-taxonomy": "7.7.0",
148
- "@mailwoman/query-shape": "7.7.0",
149
- "@mailwoman/registry": "7.7.0",
150
- "@mailwoman/resolver": "7.7.0",
151
- "@mailwoman/resolver-wof-sqlite": "7.7.0",
152
- "@mailwoman/spatial": "7.7.0",
153
- "@mailwoman/variant-aliases": "7.7.0",
134
+ "@mailwoman/annotations": "7.8.1",
135
+ "@mailwoman/api": "7.8.1",
136
+ "@mailwoman/api-kit": "7.8.1",
137
+ "@mailwoman/ban": "7.8.1",
138
+ "@mailwoman/codex": "7.8.1",
139
+ "@mailwoman/core": "7.8.1",
140
+ "@mailwoman/corpus": "7.8.1",
141
+ "@mailwoman/formatter": "7.8.1",
142
+ "@mailwoman/kind-classifier": "7.8.1",
143
+ "@mailwoman/locale-gate": "7.8.1",
144
+ "@mailwoman/neural": "7.8.1",
145
+ "@mailwoman/normalize": "7.8.1",
146
+ "@mailwoman/phrase-grouper": "7.8.1",
147
+ "@mailwoman/poi-taxonomy": "7.8.1",
148
+ "@mailwoman/query-shape": "7.8.1",
149
+ "@mailwoman/registry": "7.8.1",
150
+ "@mailwoman/resolver": "7.8.1",
151
+ "@mailwoman/resolver-wof-sqlite": "7.8.1",
152
+ "@mailwoman/spatial": "7.8.1",
153
+ "@mailwoman/variant-aliases": "7.8.1",
154
154
  "chalk": "^5.6.2",
155
155
  "change-case": "^5.4.4",
156
156
  "d3-scale-chromatic": "^3.1.0",
@@ -174,7 +174,7 @@
174
174
  },
175
175
  "peerDependencies": {
176
176
  "@duckdb/node-api": "1.5.3-r.3",
177
- "@mailwoman/resolver-wof-sqlite": "7.7.0"
177
+ "@mailwoman/resolver-wof-sqlite": "7.8.1"
178
178
  },
179
179
  "peerDependenciesMeta": {
180
180
  "@duckdb/node-api": {
@@ -194,7 +194,7 @@
194
194
  }
195
195
  },
196
196
  "optionalDependencies": {
197
- "@mailwoman/tiger": "7.7.0"
197
+ "@mailwoman/tiger": "7.8.1"
198
198
  },
199
199
  "engines": {
200
200
  "node": ">=24.18.0"