gabriel / musehub public
feat BREAKING issues dev
gabriel · 171 days ago · Apr 9, 2026 · Diff

feat(issues): fully implement issues-reimagined roadmap phases 1A-4C

- Phase 1A/2A: symbol_anchors + commit_anchors JSON columns on musehub_issues (migration 0033) - Phase 1B/4B: MusehubIssueEvent ORM model + musehub_issue_events table (migration 0034) - typed event_type: opened|closed|reopened|labeled|symbol_anchored|proposal_linked|proposal_merged - auto-emits 'opened' event on create_issue; 'closed'/'reopened' on state transitions - Phase 2B: intelligence panel on issue detail (per-symbol blast/churn from IntelSnapshot) - Phase 2C: agent provenance badge rendered for agent-filed issues - Phase 3A: ◈ N anchor badge on issue list rows (issue_rows.html) - Phase 3B: Hotspot Issues, Blast Risk, Agent Activity sidebar panels on issue list - Phase 4C: /issues/new page with CLI instructions, anatomy reference, MCP panel link - Unified timeline (get_timeline) unions events + comments sorted by created_at - issue_comments.html rewritten to render all event types with synthesised fallbacks - SCSS: .isl-anchor-badge, .isl-sb-intel-*, .isl-sb-agent-*, .isd-intel-*, .isn-* namespaces - Fixed test asserting on CSS class name (id-author-link) → semantic text assertion - Updated type-contracts.md: IssueResponse, MusehubIssue, MusehubIssueEvent

sha256:7fb93615949289d6aa25bda16e84c3cca6af7949e1552e9587651c28e22dab13 sha
+31 ~22 −1 symbols
sha256:1267b5a41f78332ad6f2be74b8999088eb390cfb36fdce6f8b5a60b3fd3f89e8 snapshot
+31
symbols added
~22
symbols modified
−1
symbol removed
0
dead code introduced
Semantic Changes 54 symbols
+ branch_labels variable variable branch_labels L17–17
+ depends_on variable variable depends_on L18–18
+ down_revision variable variable down_revision L16–16
+ downgrade function function downgrade L32–34
+ annotations import import annotations L10–10
+ op import import op L13–13
+ sa import import sa L12–12
+ revision variable variable revision L15–15
+ upgrade function function upgrade L21–29
+ branch_labels variable variable branch_labels L19–19
+ depends_on variable variable depends_on L20–20
+ down_revision variable variable down_revision L18–18
+ downgrade function function downgrade L66–68
+ annotations import import annotations L12–12
+ op import import op L15–15
+ sa import import sa L14–14
+ revision variable variable revision L17–17
+ upgrade function function upgrade L23–63
~ docs/reference/type-contracts.md .md 4 symbols added, 10 symbols modified
+ py`@L3747 section MyModel — `tests/test_api_contracts_section37.py` L3747–3755
+ py`@L3765 section MyModel — `tests/test_api_contracts_section37.py` L3765–3773
+ py`@L3774 section MyModel — `tests/test_api_contracts_section37.py` L3774–3782
+ py` section MusehubIssueEvent — `musehub/db/musehub_models.py` L4210–4237
~ py`
~ py`
~ musehub/api/routes/musehub/ui_issues.py .py 1 symbol added, 2 symbols modified
+ issue_new_page function async_function issue_new_page L232–259
~ musehub/db/musehub_models.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− JSONObject import import JSONObject L34–34 → moved to musehub/services/musehub_issues.py
+ MusehubIssueEvent class class MusehubIssueEvent L573–614
~ musehub/models/musehub.py .py 1 symbol modified
~ musehub/services/musehub_issues.py .py 7 symbols added, 7 symbols modified
+ get_timeline function async_function get_timeline L541–592
+ JSONObject import import JSONObject L25–25 ← moved from musehub/db/musehub_models.py
+ SAString import import SAString L20–20
+ cast import import cast L19–19
+ literal import import literal L19–19
+ timezone import import timezone L16–16
+ union_all import import union_all L18–18
~ func
~ select
← Older Oldest on dev
All commits
Newer → Latest on dev

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