@mailwoman/core 3.0.0 → 4.1.0

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.
Files changed (71) hide show
  1. package/out/decoder/build-tree.d.ts +21 -4
  2. package/out/decoder/build-tree.d.ts.map +1 -1
  3. package/out/decoder/build-tree.js +38 -9
  4. package/out/decoder/build-tree.js.map +1 -1
  5. package/out/decoder/calibration.d.ts +50 -0
  6. package/out/decoder/calibration.d.ts.map +1 -0
  7. package/out/decoder/calibration.js +74 -0
  8. package/out/decoder/calibration.js.map +1 -0
  9. package/out/decoder/containment.d.ts +31 -2
  10. package/out/decoder/containment.d.ts.map +1 -1
  11. package/out/decoder/containment.js +36 -3
  12. package/out/decoder/containment.js.map +1 -1
  13. package/out/decoder/index.d.ts +2 -0
  14. package/out/decoder/index.d.ts.map +1 -1
  15. package/out/decoder/index.js +2 -0
  16. package/out/decoder/index.js.map +1 -1
  17. package/out/decoder/serialize-json.d.ts +4 -0
  18. package/out/decoder/serialize-json.d.ts.map +1 -1
  19. package/out/decoder/serialize-json.js +10 -0
  20. package/out/decoder/serialize-json.js.map +1 -1
  21. package/out/decoder/serialize-xml.d.ts.map +1 -1
  22. package/out/decoder/serialize-xml.js +6 -0
  23. package/out/decoder/serialize-xml.js.map +1 -1
  24. package/out/decoder/types.d.ts +46 -0
  25. package/out/decoder/types.d.ts.map +1 -1
  26. package/out/decoder/validate-tree.d.ts +39 -0
  27. package/out/decoder/validate-tree.d.ts.map +1 -0
  28. package/out/decoder/validate-tree.js +79 -0
  29. package/out/decoder/validate-tree.js.map +1 -0
  30. package/out/pipeline/runtime-pipeline.d.ts +17 -1
  31. package/out/pipeline/runtime-pipeline.d.ts.map +1 -1
  32. package/out/pipeline/runtime-pipeline.js +76 -16
  33. package/out/pipeline/runtime-pipeline.js.map +1 -1
  34. package/out/pipeline/span-logit-aggregation.d.ts +4 -2
  35. package/out/pipeline/span-logit-aggregation.d.ts.map +1 -1
  36. package/out/pipeline/span-logit-aggregation.js +11 -2
  37. package/out/pipeline/span-logit-aggregation.js.map +1 -1
  38. package/out/pipeline/types.d.ts +12 -3
  39. package/out/pipeline/types.d.ts.map +1 -1
  40. package/out/resolver/index.d.ts +1 -1
  41. package/out/resolver/index.d.ts.map +1 -1
  42. package/out/resolver/resolve.d.ts.map +1 -1
  43. package/out/resolver/resolve.js +162 -10
  44. package/out/resolver/resolve.js.map +1 -1
  45. package/out/resolver/types.d.ts +125 -0
  46. package/out/resolver/types.d.ts.map +1 -1
  47. package/out/resolver/types.js.map +1 -1
  48. package/out/resources/whosonfirst/PlacetypeDataSource.d.ts.map +1 -1
  49. package/out/resources/whosonfirst/PlacetypeDataSource.js +3 -1
  50. package/out/resources/whosonfirst/PlacetypeDataSource.js.map +1 -1
  51. package/out/resources/whosonfirst/placetypes/graph.d.ts +47 -0
  52. package/out/resources/whosonfirst/placetypes/graph.d.ts.map +1 -0
  53. package/out/resources/whosonfirst/placetypes/graph.js +0 -0
  54. package/out/resources/whosonfirst/placetypes/graph.js.map +1 -0
  55. package/out/resources/whosonfirst/placetypes/index.d.ts +2 -0
  56. package/out/resources/whosonfirst/placetypes/index.d.ts.map +1 -1
  57. package/out/resources/whosonfirst/placetypes/index.js +2 -0
  58. package/out/resources/whosonfirst/placetypes/index.js.map +1 -1
  59. package/out/resources/whosonfirst/placetypes/mermaid.d.ts +35 -3
  60. package/out/resources/whosonfirst/placetypes/mermaid.d.ts.map +1 -1
  61. package/out/resources/whosonfirst/placetypes/mermaid.js +87 -15
  62. package/out/resources/whosonfirst/placetypes/mermaid.js.map +1 -1
  63. package/out/resources/whosonfirst/placetypes/tree.d.ts +30 -0
  64. package/out/resources/whosonfirst/placetypes/tree.d.ts.map +1 -0
  65. package/out/resources/whosonfirst/placetypes/tree.js +28 -0
  66. package/out/resources/whosonfirst/placetypes/tree.js.map +1 -0
  67. package/out/tokenization/Graph.d.ts +1 -1
  68. package/out/tokenization/Graph.d.ts.map +1 -1
  69. package/out/tokenization/Graph.js +5 -1
  70. package/out/tokenization/Graph.js.map +1 -1
  71. package/package.json +8 -2
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../decoder/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEnE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,2CAA2C;IAC3C,KAAK,EAAE,QAAQ,CAAA;IACf,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,YAAY,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iGAAiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kGAAkG;IAClG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CACrC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC3B,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,WAAW,EAAE,CAAA;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../decoder/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEnE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,2CAA2C;IAC3C,KAAK,EAAE,QAAQ,CAAA;IACf,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,YAAY,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iGAAiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kGAAkG;IAClG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAC/C;AAED,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,YAAY,CAAA;IACjB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC3B,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;CACtB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Structural-validity checker for the decoded `AddressTree` — v0.7 task #37.
7
+ *
8
+ * The postcode-only harness scores an address as "pass" on exact component match, but a parse can
9
+ * match a component and still be STRUCTURALLY incoherent — e.g. a `house_number` or
10
+ * `street_suffix` floating with no `street` anywhere, an `attention` with no `venue`. These
11
+ * orphan fragments are the signature of the overconfident hallucinations the v0.6.x cycle fought.
12
+ * This checker lifts the harness from "address-level pass" to "address-level pass AND
13
+ * structurally valid."
14
+ *
15
+ * Two checks:
16
+ *
17
+ * 1. **illegal-edge** — invariant: a non-root node's parent tag must appear in its `PARENT_OF` list.
18
+ * (The tree builder enforces this by construction; the check guards against regressions in
19
+ * build-tree.ts.)
20
+ * 2. **stranded-dependent** — a STRICT dependent tag (one that is meaningless without a structural
21
+ * anchor) whose anchor type is entirely ABSENT from the tree. Geographic containers
22
+ * (postcode / locality / region / street / venue / po_box) are deliberately NOT checked: a
23
+ * postcode-only or city-only input is a degenerate-but-valid parse, not a violation.
24
+ */
25
+ import type { ComponentTag } from "../types/component.js";
26
+ import type { AddressTree } from "./types.js";
27
+ export interface TreeViolation {
28
+ type: "illegal-edge" | "stranded-dependent";
29
+ tag: ComponentTag;
30
+ value: string;
31
+ detail: string;
32
+ }
33
+ export interface TreeValidity {
34
+ valid: boolean;
35
+ violations: TreeViolation[];
36
+ }
37
+ /** Validate an `AddressTree`'s structural coherence. See module docstring. */
38
+ export declare function validateTree(tree: AddressTree): TreeValidity;
39
+ //# sourceMappingURL=validate-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tree.d.ts","sourceRoot":"","sources":["../../decoder/validate-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,YAAY,CAAA;AAoB1D,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,cAAc,GAAG,oBAAoB,CAAA;IAC3C,GAAG,EAAE,YAAY,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAwC5D"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Structural-validity checker for the decoded `AddressTree` — v0.7 task #37.
7
+ *
8
+ * The postcode-only harness scores an address as "pass" on exact component match, but a parse can
9
+ * match a component and still be STRUCTURALLY incoherent — e.g. a `house_number` or
10
+ * `street_suffix` floating with no `street` anywhere, an `attention` with no `venue`. These
11
+ * orphan fragments are the signature of the overconfident hallucinations the v0.6.x cycle fought.
12
+ * This checker lifts the harness from "address-level pass" to "address-level pass AND
13
+ * structurally valid."
14
+ *
15
+ * Two checks:
16
+ *
17
+ * 1. **illegal-edge** — invariant: a non-root node's parent tag must appear in its `PARENT_OF` list.
18
+ * (The tree builder enforces this by construction; the check guards against regressions in
19
+ * build-tree.ts.)
20
+ * 2. **stranded-dependent** — a STRICT dependent tag (one that is meaningless without a structural
21
+ * anchor) whose anchor type is entirely ABSENT from the tree. Geographic containers
22
+ * (postcode / locality / region / street / venue / po_box) are deliberately NOT checked: a
23
+ * postcode-only or city-only input is a degenerate-but-valid parse, not a violation.
24
+ */
25
+ import { containmentFor } from "./containment.js";
26
+ /**
27
+ * Tags that cannot stand alone: each is a sub-component of a specific structural anchor (street /
28
+ * locality / venue / postcode). If none of a tag's allowed parents appear anywhere in the tree, the
29
+ * node is an orphan fragment.
30
+ */
31
+ const STRICT_DEPENDENTS = new Set([
32
+ "street_prefix",
33
+ "street_prefix_particle",
34
+ "street_suffix",
35
+ "house_number",
36
+ "unit",
37
+ "dependent_locality",
38
+ "attention",
39
+ "cedex",
40
+ "intersection_a",
41
+ "intersection_b",
42
+ ]);
43
+ /** Validate an `AddressTree`'s structural coherence. See module docstring. */
44
+ export function validateTree(tree) {
45
+ const violations = [];
46
+ // Validate against the tree's own addressing system's hierarchy (defaults to Western).
47
+ const parentOf = containmentFor(tree.system);
48
+ const present = new Set();
49
+ const collect = (n) => {
50
+ present.add(n.tag);
51
+ n.children.forEach(collect);
52
+ };
53
+ tree.roots.forEach(collect);
54
+ const walk = (node, parent) => {
55
+ const allowed = parentOf[node.tag];
56
+ // 1. Edge invariant.
57
+ if (parent && (!allowed || !allowed.includes(parent.tag))) {
58
+ violations.push({
59
+ type: "illegal-edge",
60
+ tag: node.tag,
61
+ value: node.value,
62
+ detail: `${node.tag} nested under ${parent.tag}; allowed parents: [${(allowed ?? []).join(", ")}]`,
63
+ });
64
+ }
65
+ // 2. Stranded strict-dependent.
66
+ if (STRICT_DEPENDENTS.has(node.tag) && allowed && !allowed.some((t) => present.has(t))) {
67
+ violations.push({
68
+ type: "stranded-dependent",
69
+ tag: node.tag,
70
+ value: node.value,
71
+ detail: `${node.tag} has no anchor (none of [${allowed.join(", ")}] present in the parse)`,
72
+ });
73
+ }
74
+ node.children.forEach((c) => walk(c, node));
75
+ };
76
+ tree.roots.forEach((r) => walk(r, null));
77
+ return { valid: violations.length === 0, violations };
78
+ }
79
+ //# sourceMappingURL=validate-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tree.js","sourceRoot":"","sources":["../../decoder/validate-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;GAIG;AACH,MAAM,iBAAiB,GAA8B,IAAI,GAAG,CAAe;IAC1E,eAAe;IACf,wBAAwB;IACxB,eAAe;IACf,cAAc;IACd,MAAM;IACN,oBAAoB;IACpB,WAAW;IACX,OAAO;IACP,gBAAgB;IAChB,gBAAgB;CAChB,CAAC,CAAA;AAcF,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC7C,MAAM,UAAU,GAAoB,EAAE,CAAA;IACtC,uFAAuF;IACvF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgB,CAAA;IACvC,MAAM,OAAO,GAAG,CAAC,CAAc,EAAQ,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE3B,MAAM,IAAI,GAAG,CAAC,IAAiB,EAAE,MAA0B,EAAQ,EAAE;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,qBAAqB;QACrB,IAAI,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3D,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,iBAAiB,MAAM,CAAC,GAAG,uBAAuB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAClG,CAAC,CAAA;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB;aAC1F,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAExC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;AACtD,CAAC"}
@@ -11,7 +11,9 @@
11
11
  *
12
12
  * Implementation contract per `docs/articles/plan/reference/STAGES.md`.
13
13
  */
14
- import type { PipelineOpts, PipelineResult, RuntimePipelineStages } from "./types.js";
14
+ import type { AddressTree } from "../decoder/types.js";
15
+ import type { ClassifierCandidate } from "./reconcile.js";
16
+ import type { PhraseProposal, PipelineOpts, PipelineResult, RuntimePipelineStages } from "./types.js";
15
17
  /**
16
18
  * Run the runtime pipeline.
17
19
  *
@@ -26,4 +28,18 @@ import type { PipelineOpts, PipelineResult, RuntimePipelineStages } from "./type
26
28
  * Per-stage timing recorded on `result.timing`. Fast-path stages are absent from the timing map.
27
29
  */
28
30
  export declare function runPipeline(raw: string, stages: RuntimePipelineStages, opts?: PipelineOpts): Promise<PipelineResult>;
31
+ /**
32
+ * Post-classification audit: for each phrase-grouper proposal whose span is entirely unlabeled
33
+ * (all-O) in the classifier output, inject a provisional node using the grouper's structural
34
+ * hypothesis. This rescues spans the neural model couldn't type — primarily venue text.
35
+ *
36
+ * When `classifierTopK` is supplied (the joint-reconcile path), the audit defers to the
37
+ * classifier's own verdict for the orphaned span: if the classifier confidently typed it as a
38
+ * DIFFERENT component than the phrase kind, we inject the classifier's tag rather than the
39
+ * structural guess. Without this, a reconciler that leaves a street-prefix word like `Via` orphaned
40
+ * (because it picked the single `Trento` street span) would see the audit promote `Via`'s
41
+ * LOCALITY_PHRASE to a spurious `locality` node — burying the real trailing city. The classifier
42
+ * said `street:0.73` for `Via`; trust it (#425).
43
+ */
44
+ export declare function grouperAudit(tree: AddressTree, proposals: PhraseProposal[], text: string, classifierTopK?: ClassifierCandidate[]): AddressTree;
29
45
  //# sourceMappingURL=runtime-pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pipeline.d.ts","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAQX,YAAY,EACZ,cAAc,EAGd,qBAAqB,EACrB,MAAM,YAAY,CAAA;AA6HnB;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CAqJzB"}
1
+ {"version":3,"file":"runtime-pipeline.d.ts","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGzD,OAAO,KAAK,EAOX,cAAc,EACd,YAAY,EACZ,cAAc,EAGd,qBAAqB,EACrB,MAAM,YAAY,CAAA;AA4HnB;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CA8JzB;AA2DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,cAAc,EAAE,EAC3B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,mBAAmB,EAAE,GACpC,WAAW,CA2Eb"}
@@ -15,8 +15,7 @@ import { reconcileSpans } from "./reconcile.js";
15
15
  import { aggregateSpanLogits } from "./span-logit-aggregation.js";
16
16
  /**
17
17
  * Known QueryShape format strings that indicate "this token is a postcode". Mirrors the set in
18
- *
19
- * @mailwoman/kind-classifier — kept duplicated so core/pipeline has no dep on kind-classifier.
18
+ * `@mailwoman/kind-classifier` — kept duplicated so core/pipeline has no dep on kind-classifier.
20
19
  */
21
20
  const POSTCODE_FORMATS = new Set([
22
21
  "us_zip",
@@ -191,13 +190,16 @@ export async function runPipeline(raw, stages, opts) {
191
190
  timing["phrase-grouper"] = performance.now() - tGroup;
192
191
  }
193
192
  let tree = { raw: normalized.normalized, roots: [] };
194
- // Joint-reconcile path: opt-in until phrase-grouper proposal quality supports it as default.
195
- // The reconciler produces single-token spans when phrase proposals don't cover multi-word
196
- // streets/localities — needs grouper improvements before becoming the default path.
197
- const useJointReconcile = opts?.forceJointReconcile &&
198
- phraseProposals.length > 0 &&
199
- stages.classifier &&
200
- "parseWithLogits" in stages.classifier;
193
+ // Captured from the joint-reconcile path so the grouper-audit can defer to the classifier's
194
+ // per-span verdict on orphaned spans (see the assignment + grouperAudit below).
195
+ let auditClassifierTopK;
196
+ // Joint-reconcile path: DEFAULT as of Route A Phase II (#427). It beats argmax on every measured
197
+ // locale with per-field regression under 0.5% (report: docs/articles/evals/2026-06-07-route-a-
198
+ // phase-ii-regate.md). Set `jointReconcile: false` (or the deprecated `forceJointReconcile: false`)
199
+ // to force the legacy argmax sort. Still requires a phrase grouper + a `parseWithLogits` classifier;
200
+ // without either, the pipeline falls back to argmax regardless of the flag.
201
+ const jointEnabled = opts?.jointReconcile ?? opts?.forceJointReconcile ?? true;
202
+ const useJointReconcile = jointEnabled && phraseProposals.length > 0 && stages.classifier && "parseWithLogits" in stages.classifier;
201
203
  if (useJointReconcile) {
202
204
  const classifierWithLogits = stages.classifier;
203
205
  throwIfAborted(opts);
@@ -209,7 +211,7 @@ export async function runPipeline(raw, stages, opts) {
209
211
  // The classifier must expose its label vocabulary so the aggregation can strip BIO prefixes.
210
212
  // NeuralAddressClassifier surfaces this as `cfg.labels` — extracted via structural typing here.
211
213
  const labels = "labels" in classifierWithLogits ? classifierWithLogits.labels : [];
212
- const classifierTopK = aggregateSpanLogits(logits, pieces, phraseProposals.map((p) => ({ start: p.span.start, end: p.span.end })), { labels });
214
+ const classifierTopK = aggregateSpanLogits(logits, pieces, phraseProposals.map((p) => ({ start: p.span.start, end: p.span.end })), { labels, text: normalized.normalized });
213
215
  if (classifierTopK.length > 0) {
214
216
  const result = reconcileSpans({
215
217
  raw: normalized.normalized,
@@ -217,6 +219,12 @@ export async function runPipeline(raw, stages, opts) {
217
219
  classifierTopK,
218
220
  });
219
221
  tree = result.tree;
222
+ // The reconciler can leave a span uncovered (e.g. it picked the single-token street
223
+ // `Trento` over `Via Trento`, orphaning `Via`). The grouper-audit below would then promote
224
+ // that orphan's LOCALITY_PHRASE proposal to a `locality` node — even though the classifier
225
+ // confidently typed it `street`. Hand the audit the classifier's per-span verdict so it
226
+ // respects that opinion instead of trusting the structural phrase kind (#425 re-gate).
227
+ auditClassifierTopK = classifierTopK;
220
228
  }
221
229
  else {
222
230
  tree = argmaxTree;
@@ -231,7 +239,7 @@ export async function runPipeline(raw, stages, opts) {
231
239
  }
232
240
  if (phraseProposals.length > 0 && tree.roots.length >= 0) {
233
241
  const tAudit = performance.now();
234
- tree = grouperAudit(tree, phraseProposals, normalized.normalized);
242
+ tree = grouperAudit(tree, phraseProposals, normalized.normalized, auditClassifierTopK);
235
243
  timing["grouper-audit"] = performance.now() - tAudit;
236
244
  }
237
245
  if (stages.resolver) {
@@ -267,7 +275,8 @@ function throwIfAborted(opts) {
267
275
  /** Defensive wrapper: if the classifier throws, return an empty tree rather than abort the pipeline. */
268
276
  async function safeClassify(classifier, text, queryShape, fst) {
269
277
  try {
270
- return await classifier.parse(text, { queryShape, fst });
278
+ // Postcode regex repair on by default (v0.7 #35, operator-signed).
279
+ return await classifier.parse(text, { queryShape, fst, postcodeRepair: true });
271
280
  }
272
281
  catch {
273
282
  return { raw: text, roots: [] };
@@ -298,20 +307,69 @@ const PHRASE_KIND_TO_TAG = new Map([
298
307
  * Post-classification audit: for each phrase-grouper proposal whose span is entirely unlabeled
299
308
  * (all-O) in the classifier output, inject a provisional node using the grouper's structural
300
309
  * hypothesis. This rescues spans the neural model couldn't type — primarily venue text.
310
+ *
311
+ * When `classifierTopK` is supplied (the joint-reconcile path), the audit defers to the
312
+ * classifier's own verdict for the orphaned span: if the classifier confidently typed it as a
313
+ * DIFFERENT component than the phrase kind, we inject the classifier's tag rather than the
314
+ * structural guess. Without this, a reconciler that leaves a street-prefix word like `Via` orphaned
315
+ * (because it picked the single `Trento` street span) would see the audit promote `Via`'s
316
+ * LOCALITY_PHRASE to a spurious `locality` node — burying the real trailing city. The classifier
317
+ * said `street:0.73` for `Via`; trust it (#425).
301
318
  */
302
- function grouperAudit(tree, proposals, text) {
319
+ export function grouperAudit(tree, proposals, text, classifierTopK) {
303
320
  if (proposals.length === 0)
304
321
  return tree;
305
322
  const roots = [...tree.roots];
323
+ const allNodes = [];
324
+ const collectNodes = (nodes) => {
325
+ for (const n of nodes) {
326
+ allNodes.push({ start: n.start, end: n.end });
327
+ if (n.children)
328
+ collectNodes(n.children);
329
+ }
330
+ };
331
+ collectNodes(roots);
332
+ // Index the classifier's single best tag per exact span (start:end) so the audit can defer to it.
333
+ const CLASSIFIER_OVERRIDE_MIN = 0.4;
334
+ const bestTagBySpan = new Map();
335
+ for (const c of classifierTopK ?? []) {
336
+ const k = `${c.span.start}:${c.span.end}`;
337
+ const cur = bestTagBySpan.get(k);
338
+ if (!cur || c.score > cur.score)
339
+ bestTagBySpan.set(k, { tag: c.tag, score: c.score });
340
+ }
341
+ // Tags that may appear AT MOST ONCE per address. On the joint path, the reconciler has already
342
+ // placed the confident locality/region/postcode; a SECOND one injected here is almost always a
343
+ // street-name word the OOD model mistyped ("Via Francesca Nord" → `Francesca`) or an area-line
344
+ // prefix ("LUGAR …" / "URBANIZACION …"). Suppressing the duplicate keeps the real trailing city
345
+ // from being shadowed by an earlier-positioned spurious node in `decodeAsJson` (#425 residual tail).
346
+ const SINGLETON_TAGS = new Set(["locality", "region", "postcode", "country"]);
347
+ const presentSingletons = new Set();
348
+ const collectSingletons = (nodes) => {
349
+ for (const n of nodes) {
350
+ if (SINGLETON_TAGS.has(n.tag))
351
+ presentSingletons.add(n.tag);
352
+ if (n.children)
353
+ collectSingletons(n.children);
354
+ }
355
+ };
356
+ collectSingletons(roots);
357
+ const dedupeSingletons = classifierTopK !== undefined; // joint path only — argmax stays byte-stable
306
358
  for (const proposal of proposals) {
307
- const tag = PHRASE_KIND_TO_TAG.get(proposal.kindHypothesis);
308
- if (!tag)
359
+ const phraseTag = PHRASE_KIND_TO_TAG.get(proposal.kindHypothesis);
360
+ if (!phraseTag)
309
361
  continue;
310
362
  const pStart = proposal.span.start;
311
363
  const pEnd = pStart + proposal.span.body.length;
312
- const covered = roots.some((node) => node.start < pEnd && pStart < node.end);
364
+ const covered = allNodes.some((node) => node.start < pEnd && pStart < node.end);
313
365
  if (covered)
314
366
  continue;
367
+ // Defer to the classifier when it confidently typed this exact span as something else.
368
+ const classifierVerdict = bestTagBySpan.get(`${proposal.span.start}:${proposal.span.end}`);
369
+ const tag = classifierVerdict && classifierVerdict.score >= CLASSIFIER_OVERRIDE_MIN ? classifierVerdict.tag : phraseTag;
370
+ // Don't inject a second singleton-tag node when the reconciler already produced one.
371
+ if (dedupeSingletons && SINGLETON_TAGS.has(tag) && presentSingletons.has(tag))
372
+ continue;
315
373
  const provisionalNode = {
316
374
  tag,
317
375
  value: text.slice(pStart, pEnd),
@@ -323,6 +381,8 @@ function grouperAudit(tree, proposals, text) {
323
381
  sourceId: `grouper:${proposal.kindHypothesis}`,
324
382
  };
325
383
  roots.push(provisionalNode);
384
+ if (SINGLETON_TAGS.has(tag))
385
+ presentSingletons.add(tag);
326
386
  }
327
387
  roots.sort((a, b) => a.start - b.start);
328
388
  return { raw: tree.raw, roots };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pipeline.js","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-pipeline.js","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"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"}
@@ -47,11 +47,13 @@ export interface SpanBounds {
47
47
  * @param logits Per-token logits from ONNX inference, shape `[seqLen][numLabels]`.
48
48
  * @param pieces Token pieces with character-level offsets (from the tokenizer's `encode`).
49
49
  * @param spans Phrase-grouper span proposals in character offsets.
50
- * @param opts Options — `topK` (default 3), `labels` (required — the BIO label vocabulary the model
51
- * emits, e.g. `["O", "B-locality", "I-locality", ...]`).
50
+ * @param opts Options bag.
51
+ * @param opts.topK Number of top-scoring tags to return per span (default 3).
52
+ * @param opts.labels The BIO label vocabulary the model emits, e.g. `["O", "B-locality", ...]`.
52
53
  */
53
54
  export declare function aggregateSpanLogits(logits: number[][], pieces: readonly TokenPiece[], spans: readonly SpanBounds[], opts: {
54
55
  topK?: number;
55
56
  labels: readonly string[];
57
+ text?: string;
56
58
  }): ClassifierCandidate[];
57
59
  //# sourceMappingURL=span-logit-aggregation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-logit-aggregation.d.ts","sourceRoot":"","sources":["../../pipeline/span-logit-aggregation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAChD,mBAAmB,EAAE,CAiDvB"}
1
+ {"version":3,"file":"span-logit-aggregation.d.ts","sourceRoot":"","sources":["../../pipeline/span-logit-aggregation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,mBAAmB,EAAE,CAwDvB"}
@@ -32,14 +32,21 @@
32
32
  * @param logits Per-token logits from ONNX inference, shape `[seqLen][numLabels]`.
33
33
  * @param pieces Token pieces with character-level offsets (from the tokenizer's `encode`).
34
34
  * @param spans Phrase-grouper span proposals in character offsets.
35
- * @param opts Options — `topK` (default 3), `labels` (required — the BIO label vocabulary the model
36
- * emits, e.g. `["O", "B-locality", "I-locality", ...]`).
35
+ * @param opts Options bag.
36
+ * @param opts.topK Number of top-scoring tags to return per span (default 3).
37
+ * @param opts.labels The BIO label vocabulary the model emits, e.g. `["O", "B-locality", ...]`.
37
38
  */
38
39
  export function aggregateSpanLogits(logits, pieces, spans, opts) {
39
40
  const topK = opts.topK ?? 3;
40
41
  const labels = opts.labels;
42
+ const text = opts.text;
41
43
  const candidates = [];
42
44
  for (const span of spans) {
45
+ // Inherently-numeric components can't live on a span with no digit. An OOD model facing the
46
+ // "<postcode> <City>" order routinely mistags the trailing city as a postcode (Toulouse →
47
+ // postcode:0.77); since postcodes and house numbers contain a digit in every locale we handle,
48
+ // drop those candidates for a digit-less span so the reconciler picks the real component (#425).
49
+ const spanHasNoDigit = text !== undefined && !/\d/.test(text.slice(span.start, span.end));
43
50
  // Find tokens overlapping this span (character-level).
44
51
  const overlapping = [];
45
52
  for (let t = 0; t < pieces.length; t++) {
@@ -61,6 +68,8 @@ export function aggregateSpanLogits(logits, pieces, spans, opts) {
61
68
  const tag = stripBioPrefix(bioLabel);
62
69
  if (tag === "O")
63
70
  continue;
71
+ if (spanHasNoDigit && (tag === "postcode" || tag === "house_number"))
72
+ continue;
64
73
  const prev = tagScores.get(tag) ?? 0;
65
74
  tagScores.set(tag, prev + probs[l]);
66
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-logit-aggregation.js","sourceRoot":"","sources":["../../pipeline/span-logit-aggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"span-logit-aggregation.js","sourceRoot":"","sources":["../../pipeline/span-logit-aggregation.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,17 @@ export interface PipelineOpts {
33
33
  /** Disable fast-path shortcuts; always run the full pipeline. */
34
34
  forceFullPipeline?: boolean;
35
35
  /**
36
- * Enable the joint-reconcile path (Stage 5 beam search). Opt-in until phrase-grouper proposal
37
- * quality supports multi-word streets/localities currently produces single-token spans.
38
- * Requires phrase grouper + classifier with `parseWithLogits`.
36
+ * The joint-reconcile path (Stage 5 beam search) is the DEFAULT decode path as of Route A Phase
37
+ * II (#427) it beats argmax on every measured locale (DE +25pp, IT/ES +15pp) with per-field
38
+ * regression under 0.5%. It still requires a phrase grouper + a classifier exposing
39
+ * `parseWithLogits`; when either is absent the pipeline falls back to the argmax sort
40
+ * automatically.
41
+ *
42
+ * Set `jointReconcile: false` to force the legacy argmax path (the A/B harnesses use this to
43
+ * compare). Default (unset) is `true`.
39
44
  */
45
+ jointReconcile?: boolean;
46
+ /** @deprecated Use {@link jointReconcile}. Retained as an explicit override for the A/B harnesses. */
40
47
  forceJointReconcile?: boolean;
41
48
  /** Hard cap on lookups the resolver may issue; passed through. */
42
49
  resolveOpts?: ResolveOpts;
@@ -156,6 +163,8 @@ export interface ClassifierOpts {
156
163
  queryShape?: QueryShapeLite;
157
164
  fst?: FstMatcherLike;
158
165
  fstBiasScale?: number;
166
+ /** Run the deterministic postcode regex repair pass (v0.7 #35) on the decoded labels. */
167
+ postcodeRepair?: boolean;
159
168
  }
160
169
  export interface AddressClassifier {
161
170
  parse(text: string, opts?: ClassifierOpts): Promise<AddressTree>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../pipeline/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../pipeline/types.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export { createWofResolver } from "./resolve.js";
7
7
  export { DEFAULT_PLACETYPE_MAP } from "./types.js";
8
- export type { PlacetypeMap, ResolveOpts, ResolvedPlace, Resolver, ResolverBackend } from "./types.js";
8
+ export type { Ancestor, CoincidentLocality, PlacetypeMap, ResolveOpts, ResolvedPlace, Resolver, ResolverBackend, } from "./types.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EACX,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GACf,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../resolver/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAKN,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAEpE"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../resolver/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAMN,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAEpE"}