make_post_sell/docs
russell@unturf.com df65536c17
feat: MPS-24 Phase 2.2 — bigrams + title-required + supersession dedup
Phase 2.1's max_share=0.4 filter only caught Students (53%); the other
four printableprompts generics (Resource / Activities / Writing /
Practice, each 30-32%) slipped through. And single-word "First" was
collapsing the real phrase "First Grade" into noise. Three compounding
fixes plus a dedup pass:

- Bigram detection: adjacent non-stopword tokens cluster as phrases.
  "Write the Room" → bigram "write room"; "First Grade Math" →
  "first grade"; "Valentine's Day Color" → "valentine day"; "Novel
  Study" → "novel study". Bigrams get 2× unigram weight per product —
  phrases out-rank single words when both cluster equally well.
- Title-required filter (min_title_share, default 0.3): candidate must
  appear in title of at least 30% of carrier products. Kills
  description-only marketing noise like "versions", "engaged",
  "offered", "during", "these", "check", "right", "well", "help",
  "time" — words that live in body copy but never in product titles.
- Expanded English stopword list (~80 → ~200): adds generic verbs
  ("see", "ask", "give", "tell", "show"), marketing fluff ("perfect",
  "best", "lovely", "amazing", "favorite"), content-medium nouns
  ("version", "sheet", "page", "draw", "line", "color", "theme",
  "graphic", "answer", "picture"), and their inflections.
- Bigram supersession: when a bigram and one of its component
  unigrams overlap ≥ 80% of products, drop the unigram. Operator sees
  "Write Room" once, not "Write" + "Room" + "Write Room" three times.

URL knobs: ?max_share=0.3 / ?max_share=1 / ?min_title=0.5 /
?min_title=0 / ?bigrams=0 / ?top_n=200. CLI: --min-title-share,
--no-bigrams flags on scripts/backfill_tags.py.

On a printableprompts-shaped fixture the new defaults surface
Write Room, Novel Study, Valentine Day as bigram phrases plus Math,
Counting, Addition, Literacy, Fall — 13 clean candidates instead of
the original 50 noisy ones.

1078 total tests passing; 5 new pure-function tests cover bigrams,
title-required filter, and supersession dedup.
2026-05-15 10:49:54 -04:00
..
tickets feat: MPS-24 Phase 2.2 — bigrams + title-required + supersession dedup 2026-05-15 10:49:54 -04:00
ADYEN.md Add Adyen payment integration 2025-12-22 17:16:54 -05:00
architecture.md feat: MPS-24 Phase 2 — auto-suggest tags from title + description 2026-05-15 09:09:40 -04:00
auction-house.md feat: bounded SSE feeds for offer & auction state machines 2026-05-12 21:03:50 -04:00
crypto-payments-state-machine.md Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
CRYPTO.rst Update Dogecoin blockchain size to reflect 2025 reality 2025-09-30 22:34:33 -04:00
CRYPTO_PERFORMANCE.rst Update Dogecoin blockchain size to reflect 2025 reality 2025-09-30 22:34:33 -04:00
CRYPTO_PROBLEMS.rst Fix payment UI documentation - buttons are REMOVED not disabled 2025-09-30 22:54:22 -04:00
design-system.md feat: MPS-24 Phase 2 — auto-suggest tags from title + description 2026-05-15 09:09:40 -04:00
DOGECOIN.md Remove redundant Dogecoin configuration examples 2025-09-30 22:43:58 -04:00
DOGECOIN_DOOM.md Document DOGE DOOM vulnerability discovered by walkeruin 2025-10-03 20:04:22 +00:00
JAVASCRIPT.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
karaoke-ondemand.dot docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-ondemand.dot.svg docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.dot docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.dot.svg docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
karaoke-pipeline.md docs: karaoke pipeline architecture with dot diagrams 2026-03-11 17:49:57 -04:00
make-offer.md feat: bounded SSE feeds for offer & auction state machines 2026-05-12 21:03:50 -04:00
MONERO.rst Remove database implementation details from crypto docs 2025-09-30 22:40:10 -04:00
MONERO_DOOM.rst Add comprehensive crypto payment state transition validation 2025-09-30 11:26:44 -04:00
notifications.md docs: notification system + design-system surface for offers/auctions 2026-05-14 14:49:39 -04:00
PAYPAL.md Add privacy warnings to PayPal docs, create Adyen integration doc 2025-12-22 16:11:54 -05:00
poc-cwe407.py docs: CWE-407 security section — bleach O(2^N) exposure and PoC 2026-03-29 21:19:59 -04:00
sandbox-mode.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
state-machine.dot Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
state-machine.dot.svg Update state machine documentation to use dash-separated naming 2025-10-04 13:02:07 -04:00
state-machine.png Fix DOGE fee calculation bug and improve UI consistency 2025-10-06 09:36:02 -04:00
state-machine.svg modified: Makefile 2025-09-30 15:43:54 -04:00
testing-performance.md Add comprehensive documentation for parallel test execution system 2026-01-21 12:25:41 -05:00
wordpress-import-html.dot docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-html.dot.svg docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.dot docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.dot.svg docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00
wordpress-import-pipeline.md docs: wordpress import pipeline architecture with dot diagrams 2026-03-12 11:32:47 -04:00