@mailwoman/phrase-grouper 8.6.0 → 9.0.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.
package/README.md CHANGED
@@ -70,7 +70,7 @@ kind-classifier → phrase-grouper → classifier (neural/rule-based) → ...
70
70
  - [`@mailwoman/core`](../core) — pipeline coordinator that consumes phrase groups
71
71
  - [`@mailwoman/kind-classifier`](../kind-classifier) — preceding stage
72
72
  - [The Knowledge Ladder](https://mailwoman.sister.software/articles/concepts/the-knowledge-ladder/) — design rationale
73
- - [Staged Pipeline Contract](https://mailwoman.sister.software/articles/plan/reference/STAGES/)
73
+ - [Staged Pipeline Contract](https://github.com/sister-software/mailwoman/blob/main/docs/engineering/reference/STAGES.mdx)
74
74
 
75
75
  ## License
76
76
 
package/out/rules.d.ts CHANGED
@@ -61,19 +61,6 @@ export declare function scoreHyphenatedCompound(tokens: ReadonlyArray<SegmentTok
61
61
  * or non-leading-numeric variants score lower but still emit.
62
62
  */
63
63
  export declare function scoreStreetPhrase(tokens: ReadonlyArray<SegmentToken>, text: string): PhraseProposal[];
64
- /**
65
- * `LOCALITY_PHRASE` rule: runs of contiguous place-name tokens (1-6 long). Emits multiple overlapping proposals so the
66
- * reconciler can choose between e.g. `Saint Petersburg` as one phrase vs `Saint` + `Petersburg` as two.
67
- *
68
- * The run bridges lowercase place-name PARTICLES (`de`, `in`, `aan den`, `am`, …) and apostrophe-fused names
69
- * (`nell'Emilia`) when they sit between capitalized content — without that, the walk used to stop dead at the first
70
- * lowercase token, so it never proposed "Reggio nell'Emilia", "Las Palmas de Gran Canaria", or "San Pietro in Casale"
71
- * as single spans. Those gaps are exactly the native-order multi-word localities the joint-decode A/B fragmented (Route
72
- * A Phase I, #425).
73
- *
74
- * Confidence scales with: run length (2-5 are good place-name lengths), tail-of-segment position, and whether the span
75
- * sits at a segment boundary.
76
- */
77
64
  export declare function scoreLocalityPhrase(tokens: ReadonlyArray<SegmentToken>, text: string, segmentIsLast: boolean): PhraseProposal[];
78
65
  /**
79
66
  * `VENUE_PHRASE` rule: capitalized run containing a venue-marker noun (Steakhouse, Hotel, etc.) OR containing a
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAoGD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAwBzF;AAqUD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAoBhG;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAiBnF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CAiClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAkB3G;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAsFrG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CAuGlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,GACtB,cAAc,EAAE,CAoDlB"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAoGD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAwBzF;AAqUD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAoBhG;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAiBnF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CAiClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAkB3G;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAsFrG;AAwBD,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CA2GlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,GACtB,cAAc,EAAE,CAoDlB"}
package/out/rules.js CHANGED
@@ -629,6 +629,14 @@ export function scoreStreetPhrase(tokens, text) {
629
629
  * Confidence scales with: run length (2-5 are good place-name lengths), tail-of-segment position, and whether the span
630
630
  * sits at a segment boundary.
631
631
  */
632
+ /**
633
+ * Longest locality phrase proposed, in tokens — "Las Palmas de Gran Canaria" is 5.
634
+ *
635
+ * Bounds BOTH the emitted proposals and the forward walk that finds them. Those must stay tied: the walk exists only to
636
+ * measure the run this cap will clamp anyway, so letting it range further is work whose result is discarded, and it is
637
+ * quadratic on a long capitalized run where every start index walks to the end.
638
+ */
639
+ const MAX_LOCALITY_PHRASE_TOKENS = 6;
632
640
  export function scoreLocalityPhrase(tokens, text, segmentIsLast) {
633
641
  const out = [];
634
642
  for (let i = 0; i < tokens.length; i++) {
@@ -655,6 +663,12 @@ export function scoreLocalityPhrase(tokens, text, segmentIsLast) {
655
663
  // must not absorb "IL").
656
664
  let j = i;
657
665
  for (;;) {
666
+ // Only `tokens[i .. i + MAX_LOCALITY_PHRASE_TOKENS - 1]` are ever read below, since `maxLen`
667
+ // clamps to that. Walking further discovers a longer run that is then discarded, and on a long
668
+ // capitalized run every start index walks to its end — quadratic in segment length for a result
669
+ // that cannot differ.
670
+ if (j - i + 1 >= MAX_LOCALITY_PHRASE_TOKENS)
671
+ break;
658
672
  const next = tokens[j + 1];
659
673
  if (!next)
660
674
  break;
@@ -681,9 +695,7 @@ export function scoreLocalityPhrase(tokens, text, segmentIsLast) {
681
695
  }
682
696
  break;
683
697
  }
684
- // Emit proposals for every prefix-length of the run starting at i, capped at 6 tokens (covers
685
- // "Las Palmas de Gran Canaria" = 5). Each starting i contributes ≤6 proposals → O(n) per segment.
686
- const maxLen = Math.min(j - i + 1, 6);
698
+ const maxLen = Math.min(j - i + 1, MAX_LOCALITY_PHRASE_TOKENS);
687
699
  for (let len = 1; len <= maxLen; len++) {
688
700
  const startTok = tokens[i];
689
701
  const endTok = tokens[i + len - 1];
package/out/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/phrase-grouper",
3
- "version": "8.6.0",
3
+ "version": "9.0.0",
4
4
  "description": "Stage 2.7 of the runtime pipeline — propose coherent input units (boundary discovery) with a structural kind hypothesis + confidence. Rule-based v1 (port of v1 section/sub-section logic); learned 1-2M-param span proposer reserved for v0.5.1.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "repository": {
@@ -41,6 +41,6 @@
41
41
  }
42
42
  },
43
43
  "dependencies": {
44
- "@mailwoman/core": "8.6.0"
44
+ "@mailwoman/core": "9.0.0"
45
45
  }
46
46
  }
package/rules.ts CHANGED
@@ -708,6 +708,15 @@ export function scoreStreetPhrase(tokens: ReadonlyArray<SegmentToken>, text: str
708
708
  * Confidence scales with: run length (2-5 are good place-name lengths), tail-of-segment position, and whether the span
709
709
  * sits at a segment boundary.
710
710
  */
711
+ /**
712
+ * Longest locality phrase proposed, in tokens — "Las Palmas de Gran Canaria" is 5.
713
+ *
714
+ * Bounds BOTH the emitted proposals and the forward walk that finds them. Those must stay tied: the walk exists only to
715
+ * measure the run this cap will clamp anyway, so letting it range further is work whose result is discarded, and it is
716
+ * quadratic on a long capitalized run where every start index walks to the end.
717
+ */
718
+ const MAX_LOCALITY_PHRASE_TOKENS = 6
719
+
711
720
  export function scoreLocalityPhrase(
712
721
  tokens: ReadonlyArray<SegmentToken>,
713
722
  text: string,
@@ -741,6 +750,12 @@ export function scoreLocalityPhrase(
741
750
  let j = i
742
751
 
743
752
  for (;;) {
753
+ // Only `tokens[i .. i + MAX_LOCALITY_PHRASE_TOKENS - 1]` are ever read below, since `maxLen`
754
+ // clamps to that. Walking further discovers a longer run that is then discarded, and on a long
755
+ // capitalized run every start index walks to its end — quadratic in segment length for a result
756
+ // that cannot differ.
757
+ if (j - i + 1 >= MAX_LOCALITY_PHRASE_TOKENS) break
758
+
744
759
  const next = tokens[j + 1]
745
760
 
746
761
  if (!next) break
@@ -775,9 +790,7 @@ export function scoreLocalityPhrase(
775
790
  break
776
791
  }
777
792
 
778
- // Emit proposals for every prefix-length of the run starting at i, capped at 6 tokens (covers
779
- // "Las Palmas de Gran Canaria" = 5). Each starting i contributes ≤6 proposals → O(n) per segment.
780
- const maxLen = Math.min(j - i + 1, 6)
793
+ const maxLen = Math.min(j - i + 1, MAX_LOCALITY_PHRASE_TOKENS)
781
794
 
782
795
  for (let len = 1; len <= maxLen; len++) {
783
796
  const startTok = tokens[i]!