make_post_sell/docs/tickets
russell@unturf.com 2bc1e20958
feat: MPS-24 — auto-hydrate products into existing tags on create/edit
Operator: new products / edited descriptions should auto-file into the
shop's existing categories without manual tagging.

- lib/tag_suggest.py:auto_hydrate_tags(dbsession, product) — stem-match
  title+description against the shop's EXISTING tag names (reuses
  tokenize/simple_stem; every stem of the tag name must be in the
  product stem set, so unigram 'Holiday' and phrase 'First Grade' both
  work). ADDITIVE (never removes), IDEMPOTENT, never CREATES tags
  (inventing categories stays suggest-then-approve).
- views/product.py:_auto_hydrate_and_flash wired into product_new
  (create), product_edit_description (markup desc editor), and
  product_edit (when title/desc changed, AFTER the explicit comma-tag
  sync so it's purely additive).
- Tests: TestAutoHydrateTags (3, integration) +
  test_new_product_auto_hydrates_existing_tag /
  test_edit_description_auto_hydrates_existing_tag (functional).
  1145 passed.
- Docs: CLAUDE.md (auto-apply-existing vs never-auto-CREATE
  distinction), mps-24.md Phase 2.8n.
2026-05-17 11:13:36 -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 — auto-hydrate products into existing tags on create/edit 2026-05-17 11:13:36 -04:00