make_post_sell/docs/tickets
russell@unturf.com 81c051e3fc
feat: MPS-24 Phase 2.3 — multi-bigram supersession, apostrophe labels, top_n 100
Phase 2.2 surfaced real categories but left noise:
- Color (119), Number (100), Day (63), Room (36) — unigrams fully covered
  by multiple bigrams, but the prior supersession only considered one
  bigram at a time so "Day" stayed even though "Valentine's Day" +
  "Patrick's Day" + … collectively cover all its products.
- "Valentine Day" / "Patrick Day" labels read as typo-broken because
  apostrophes were stripped during cleaning.
- 50 candidates wasn't long-tail enough on a 481-product catalog.

Three fixes:

- Multi-bigram supersession: a unigram drops when the UNION of bigrams
  containing it covers ≥ 80% of its product set. Iterates all bigrams
  for the unigram's stem, unions their product sets, computes coverage
  once.
- Apostrophe-preserving tokeniser + stemmer: `_MD_PUNCT` no longer
  strips `'`; `_WORD` regex accepts a trailing `(?:'[a-z]+)?` so
  "valentine's" and "patrick's" survive as surface forms.
  `simple_stem` drops the apostrophe tail before suffix-stripping so
  "valentine's" stems to "valentine" — the cluster groups correctly
  while the label vote wins with the readable surface form. Stopword
  check uses the apostrophe-less base so possessives can't slip past
  the list.
- top_n default 50 → 100. CLI default also bumped.

Tested with a Valentine's/Patrick's-heavy sample: bigrams render as
"Valentine's Day", "Patrick's Day" with proper apostrophes; the bare
"Day" unigram drops because the bigrams together cover all its
products. 1080 tests passing.
2026-05-15 11:41:46 -04:00
..
an-algo Price history on product pages, Fresh toggle, media type filters for ring 2026-02-11 19:22:44 -05:00
mps-0.md Add AJAX comment submission to preserve media playback 2026-02-07 11:19:58 -05:00
mps-1.md Add YouTube-style watch mode with sticky video, autoplay, and related content 2026-02-07 14:57:37 -05:00
mps-2.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-3.md Isolate parallel test runs with PID-based database filenames 2026-02-09 16:24:25 -05:00
mps-4.md Add tickets MPS-4 and MPS-5 for 502 worker recycling fix 2026-02-11 10:13:52 -05:00
mps-5.md Add tickets MPS-4 and MPS-5 for 502 worker recycling fix 2026-02-11 10:13:52 -05:00
mps-6.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-7.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-8.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-9.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-10.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-11.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-12.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-13.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-14.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-15.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-16.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-17.md feat: REST API v1 — HMAC-signed product/content creation and file upload 2026-04-06 15:23:30 -04:00
mps-18.md docs: tickets MPS-18..21 — karaoke/torrent fixes + auction/offer proposals 2026-05-09 16:13:57 -04:00
mps-19.md docs: tickets MPS-18..21 — karaoke/torrent fixes + auction/offer proposals 2026-05-09 16:13:57 -04:00
mps-20.md docs: tickets MPS-18..21 — karaoke/torrent fixes + auction/offer proposals 2026-05-09 16:13:57 -04:00
mps-21.md docs: tickets MPS-18..21 — karaoke/torrent fixes + auction/offer proposals 2026-05-09 16:13:57 -04:00
mps-22.md MPS-22: kill-switch feature flags for karaoke + torrent 2026-05-09 16:51:24 -04:00
mps-23.md MPS-23: single warm sending identity for transactional mail 2026-05-12 11:13:11 -04:00
mps-24.md feat: MPS-24 Phase 2.3 — multi-bigram supersession, apostrophe labels, top_n 100 2026-05-15 11:41:46 -04:00