gabriel / musehub public
feat BREAKING labels feat/label-crud-coverage #2 / 2
gabriel · 73 days ago · Apr 10, 2026 · Diff

feat(labels): complete label CRUD coverage across CLI, MCP, and REST

REST: - Seed default labels (bug, enhancement, question, docs, etc.) on repo creation - Remove music-domain labels (needs-arrangement, musical-theory) from defaults - Fix dead seed_default_labels — now wired into create_repo route

MCP: - Add musehub_list_labels (read tool, no auth), musehub_update_label, musehub_delete_label - Move execute_create_label to mcp/write_tools/labels.py (own module) - Fix color validation: require #xxxxxx format (was incorrectly documented as 6-char) - Move musehub_list_labels to MUSEHUB_READ_TOOLS (no auth required)

UI: - Delete /labels web page, templates, and tests (CRUD requires MSign; no GUI needed) - Strip empty filter params before HTMX fires (htmx:configRequest) to fix URL pollution

Tests: - 120 passing: REST labels, MCP write tools, MCP dispatcher - Fix test_tool_catalogue count 65→68, fix proposal key 'proposals'→'pulls' - Fix prompts.py NameError ({hostname} in f-string)

sha256:9496a4368ef28185ddf11503bfd4d3811bc360097ae8837980c637ec3de670f7 sha
sha256:99654d87fb3428edab9fa102398cb76a5cddaeb9602ea381ab04aee59445c91b snapshot

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:9496a4368ef28185ddf11503bfd4d3811bc360097ae8837980c637ec3de670f7 --body "your comment"