feat: MPS-24 — manual tags are ghost metadata; hide behind a flag
Operator direction: stop hand-attaching tags ('ghost metadata'
invisible to the humans and agents reading the page). Derive tags
from title + description (auto-hydrate + suggest engine) instead.
- New MPS-22-style kill switch: app.features.manual_tags.enabled
(request.manual_tags_enabled, DEFAULT FALSE, env
MPS_FEATURES_MANUAL_TAGS_ENABLED, =True in test.ini so the existing
tag suite keeps passing).
- product_edit.j2: hides the chip editor + comma tags field +
product_tags.js; shows a 'tags are derived from your title &
description' note (lists current auto-derived tags read-only).
- shop_tags.j2: hides 'Create a tag' + the per-product apply (focus)
section; shows a 'How tags work' note. Suggest categories + the
category overview stay (the blessed linguistic path).
- Endpoints remain functional -> flipping the flag On is instant and
lossless ('until further notice').
- CLAUDE.md: 'Tag Philosophy' section + manual_tags row in the
kill-switch matrix. mps-24.md Phase 2.8o.
- Tests: TestManualTagsKillSwitch (fresh app, flag False; mirrors
TestKillSwitches). 1147 passed; existing tag suite green under
test.ini (flag True).
This commit is contained in:
parent
d6ae00073f
commit
3467909b80
7 changed files with 203 additions and 8 deletions
|
|
@ -363,6 +363,23 @@ Tests (`test_functional.py::TestProductTagsSpa`):
|
|||
Deferred (occasional click, not the hot path): AJAX-ifying the
|
||||
"Suggest categories" link — still a full navigation by design.
|
||||
|
||||
**Phase 2.8o — manual tags are ghost metadata: hide behind a flag**
|
||||
(shipped 2026-05-17): operator direction — stop hand-attaching tags
|
||||
("ghost metadata" invisible to humans/agents reading the page);
|
||||
derive them from title + description instead. New MPS-22-style kill
|
||||
switch `app.features.manual_tags.enabled` (`request.manual_tags_enabled`,
|
||||
**default False**, `MPS_FEATURES_MANUAL_TAGS_ENABLED` env, `True` in
|
||||
test.ini). When off: `product_edit.j2` hides the chip editor + comma
|
||||
field + `product_tags.js`, showing a "tags are derived from your
|
||||
title & description" note; `shop_tags.j2` hides the "Create a tag"
|
||||
form + the per-product apply (focus) section, showing a "How tags
|
||||
work" note — the **Suggest** panel + category overview stay (the
|
||||
derived path). Endpoints stay functional so the flip is instant +
|
||||
lossless ("until further notice"). Tests:
|
||||
`TestManualTagsKillSwitch` (fresh app, flag False — mirrors
|
||||
`TestKillSwitches`). Docs: CLAUDE.md "Tag Philosophy" + kill-switch
|
||||
matrix row.
|
||||
|
||||
**Phase 2.8n — auto-hydrate products into existing tags** (shipped
|
||||
2026-05-17): operator wants new/edited products auto-filed into
|
||||
existing categories without manual tagging.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue