diff --git a/backend/app/services/ml/heads.py b/backend/app/services/ml/heads.py index 7143663..1f4d01a 100644 --- a/backend/app/services/ml/heads.py +++ b/backend/app/services/ml/heads.py @@ -326,7 +326,10 @@ async def _current_heads(session: AsyncSession, embedding_version: str): { "tag_id": r.tag_id, "name": r.name, - "category": _CATEGORY.get(r.kind, "general"), + # System tags (wip/banner/editor) are kind=general but group under + # their OWN "system" suggestion category so the operator reviews + # them apart from content tags (they still train as general heads). + "category": "system" if r.is_system else _CATEGORY.get(r.kind, "general"), "auto_apply_threshold": r.auto_apply_threshold, "is_system": bool(r.is_system), } diff --git a/frontend/src/components/modal/SuggestionsPanel.vue b/frontend/src/components/modal/SuggestionsPanel.vue index 50779d5..79f7ba6 100644 --- a/frontend/src/components/modal/SuggestionsPanel.vue +++ b/frontend/src/components/modal/SuggestionsPanel.vue @@ -16,6 +16,16 @@ of the rail (ImageViewer side layout), so a long suggestion set no longer needs an internal scroll cap to keep Related reachable. -->