gabriel / musehub public
feat BREAKING task/version-tags-phase3-server #1 / 1
AI Agent gabriel · 18 days ago · Jun 29, 2026 · Diff

feat: Phase 3 server side — MusehubVersionTag model, service, and API endpoints

- MusehubVersionTag ORM model: musehub_version_tags table with semver fields, unique (repo_id, tag) constraint, and cascade delete from repo - MusehubRepo.version_tags relationship added - musehub_version_tags.py service: store_version_tags (upsert with force flag, 409 conflict detection without force) and list_version_tags (semver-ordered) - POST /{owner}/{slug}/version-tags: upsert batch with force query param; returns {stored, skipped}; 409 on conflict without force - GET /{owner}/{slug}/version-tags: returns all tags sorted semver descending - Supports muse tag push, muse push --tags, and muse pull version-tag fetch

sha256:15700c90a0387ed334346df9e402ce01e01ac55348be88083e0312ca900c4998 sha
+14 ~1 symbols
sha256:1159b0a9ab3d1c1f0624fdef45424047f64ee285232754d7b53f6577ee1def04 snapshot
+14
symbols added
~1
symbol modified
0
dead code introduced
Semantic Changes 15 symbols
+ AsyncSession import import AsyncSession L19–19
+ MusehubVersionTag import import MusehubVersionTag L22–22
+ compute_tag_id import import compute_tag_id L21–21
+ datetime import import datetime L15–15
+ logging import import logging L14–14
+ pg_insert import import pg_insert L18–18
+ select import import select L17–17
+ timezone import import timezone L15–15
+ list_version_tags function async_function list_version_tags L130–169
+ logger variable variable logger L24–24
+ store_version_tags function async_function store_version_tags L27–127
~ musehub/api/routes/wire.py .py 2 symbols added
+ wire_get_version_tags function async_function wire_get_version_tags L1021–1038
+ wire_push_version_tags function async_function wire_push_version_tags L939–1012
~ musehub/db/musehub_repo_models.py .py 1 symbol added, 1 symbol modified
+ MusehubVersionTag class class MusehubVersionTag L505–537
← Older Oldest on task/version-tags-phase3-server
All commits
Newer → Latest on task/version-tags-phase3-server

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:15700c90a0387ed334346df9e402ce01e01ac55348be88083e0312ca900c4998 --body "your comment"