gabriel / musehub public
BREAKING main #2 / 70

add agent rules: Muse-only VCS, no Git/GitHub

G gabriel · 8h ago Mar 24, 2026 · 0bfb4569 · parent 275da662
+287
symbols added
~100
symbols modified
−52
symbols removed
445
files changed
445
files in snapshot
0
dead code introduced
Semantic Changes code 439 symbols
~ AGENTS.md .md 34 symbols added
+ MuseHub — Agent Contract section MuseHub — Agent Contract L1–258
+ Agent Role section Agent Role L7–24
+ Anti-Patterns (never do these) section Anti-Patterns (never do these) L247–258
+ Architecture section Architecture L35–76
+ Layer rules (hard constraints) section Layer rules (hard constraints) L66–76
+ code@L37 var variable code@L37 L37–65
+ Code Standards section Code Standards L172–182
+ MuseHub Server section MuseHub Server L150–172
+ code[toml]@L164 var variable code[toml]@L164 L164–169
+ table@L154 section table@L154 L154–162
+ section No legacy. No deprecated. No exceptions. L24–35
+ Scope of Authority section Scope of Authority L230–247
+ Ask the user first section Ask the user first L239–247
+ Decide yourself section Decide yourself L232–239
+ Testing Standards section Testing Standards L197–214
+ table@L199 section table@L199 L199–205
+ Typing — Zero-Tolerance Rules section Typing — Zero-Tolerance Rules L182–197
+ table@L184 section table@L184 L184–194
+ Verification Checklist section Verification Checklist L214–230
+ Version Control — Muse Only section Version Control — Muse Only L76–150
+ Before merging section Before merging L101–109
+ code@L103 var variable code@L103 L103–108
+ Branch discipline — absolute rule section Branch discipline — absolute rule L123–140
+ Enforcement protocol section Enforcement protocol L140–150
+ table@L142 section table@L142 L142–147
+ Merging section Merging L109–116
+ code@L111 var variable code@L111 L111–115
+ Releasing section Releasing L116–123
+ code@L118 var variable code@L118 L118–122
+ Starting work section Starting work L84–92
+ code@L86 var variable code@L86 L86–91
+ The mental model section The mental model L80–84
+ While working section While working L92–101
+ code@L94 var variable code@L94 L94–100
+ branch_labels var variable branch_labels L19–19
+ depends_on var variable depends_on L20–20
+ down_revision var variable down_revision L18–18
+ downgrade func function downgrade L35–36
+ annotations import import annotations L12–12
+ op import import op L15–15
+ sa import import sa L14–14
+ revision var variable revision L17–17
+ upgrade func function upgrade L23–32
~ musehub/api/routes/wire.py .py 1 symbol added
+ wire_delete_release func async_function wire_delete_release L443–479
~ musehub/db/musehub_models.py .py 1 symbol modified
~ MusehubRelease
~ musehub/models/musehub.py .py 6 symbols added, 3 symbols modified
+ ApiChangeSummaryResponse class class ApiChangeSummaryResponse L996–1002
+ FileHotspotResponse class class FileHotspotResponse L1005–1010
+ LanguageStatResponse class class LanguageStatResponse L981–986
+ RefactorEventResponse class class RefactorEventResponse L1013–1019
+ SemanticReleaseReportResponse class class SemanticReleaseReportResponse L1022–1051
+ SymbolKindCountResponse class class SymbolKindCountResponse L989–993
~ ReleaseCreate
~ ReleaseDownloadUrls
~ ReleaseResponse
~ musehub/services/musehub_releases.py .py 3 symbols added, 11 symbols modified
+ _parse_semantic_report func function _parse_semantic_report L98–112
+ delete_release_by_tag func async_function delete_release_by_tag L495–524
+ SemanticReleaseReportResponse import import SemanticReleaseReportResponse L27–27
~ _to_release_response
~ create_release
~ create_release_from_dict
~ ChangelogEntryResponse
~ ReleaseAssetDownloadCount
~ ReleaseAssetListResponse
~ ReleaseAssetResponse
~ ReleaseDownloadStatsResponse
~ ReleaseDownloadUrls
~ ReleaseListResponse
~ ReleaseResponse
~ musehub/templates/musehub/pages/release_detail.html .html 1 symbol added, 9 symbols removed
aside@254 section aside@254 L254–344
audio#rd-audio section audio#rd-audio L139–141
button#rd-play-btn section button#rd-play-btn L155–155
div#rd-audio-error section div#rd-audio-error L144–150
div#rd-audio-section section div#rd-audio-section L131–169
div#rd-player section div#rd-player L153–161
div#rd-progress-fill section div#rd-progress-fill L157–157
div#rd-progress-wrap section div#rd-progress-wrap L156–158
span#rd-time section span#rd-time L159–159
+ aside@425 section aside@425 L425–637
+ div#release-rows section div#release-rows L140–142
+ h1: h1 section h1: h1 L40–44
+ input#rel-search section input#rel-search L134–135
~ musehub/templates/musehub/static/app.css .css 69 symbols added, 21 symbols removed, 61 symbols modified
~ rl-stat-num--stable
rl-dl-chip rule .rl-dl-chip L1–1
rl-dl-chip:hover rule .rl-dl-chip:hover L1–1
rl-dl-label rule .rl-dl-label L1–1
rl-dl-row rule .rl-dl-row L1–1
rl-hero rule .rl-hero L1–1
rl-hero-author rule .rl-hero-author L1–1
rl-hero-info rule .rl-hero-info L1–1
rl-hero-meta rule .rl-hero-meta L1–1
rl-hero-preview rule .rl-hero-preview L1–1
rl-hero-tag rule .rl-hero-tag L1–1
rl-hero-title:hover rule .rl-hero-title:hover L1–1
rl-hero-top rule .rl-hero-top L1–1
rl-row-dl-chip rule .rl-row-dl-chip L1–1
rl-row-dl-chip:hover rule .rl-row-dl-chip:hover L1–1
rl-row-dl-row rule .rl-row-dl-row L1–1
rl-stat rule .rl-stat L1–1
rl-stat-divider rule .rl-stat-divider L1–1
rl-stat-lbl rule .rl-stat-lbl L1–1
rl-stat-num rule .rl-stat-num L1–1
rl-stat-num--pre rule .rl-stat-num--pre L1–1
rl-stat-strip rule .rl-stat-strip L1–1
+ rd-asset-row:hover rule .rd-asset-row:hover L1–1
+ rd-breaking-chip rule .rd-breaking-chip L1–1
+ rd-changelog-body rule .rd-changelog-body L1–1
+ rd-changelog-breaking rule .rd-changelog-breaking L1–1
+ rd-changelog-bump rule .rd-changelog-bump L1–1
+ rd-changelog-bump--major rule .rd-changelog-bump--major L1–1
+ rd-changelog-bump--minor rule .rd-changelog-bump--minor L1–1
+ rd-changelog-bump--other rule .rd-changelog-bump--other L1–1
+ rd-changelog-bump--patch rule .rd-changelog-bump--patch L1–1
+ rd-changelog-entry rule .rd-changelog-entry L1–1
+ rd-changelog-entry:hover rule .rd-changelog-entry:hover L1–1
+ rd-changelog-entry:last-child rule .rd-changelog-entry:last-child L1–1
+ rd-changelog-list rule .rd-changelog-list L1–1
+ rd-changelog-meta rule .rd-changelog-meta L1–1
+ rd-changelog-msg rule .rd-changelog-msg L1–1
+ rd-changelog-sha rule .rd-changelog-sha L1–1
+ rd-changelog-sha:hover rule .rd-changelog-sha:hover L1–1
+ rd-channel-badge rule .rd-channel-badge L1–1
+ rd-channel-badge--alpha rule .rd-channel-badge--alpha L1–1
+ rd-channel-badge--beta rule .rd-channel-badge--beta L1–1
+ rd-channel-badge--draft rule .rd-channel-badge--draft L1–1
+ rd-channel-badge--nightly rule .rd-channel-badge--nightly L1–1
+ rd-channel-badge--stable rule .rd-channel-badge--stable L1–1
+ rd-gpg-badge rule .rd-gpg-badge L1–1
+ unverified rule .rd-gpg-badge.unverified L1–1
+ verified rule .rd-gpg-badge.verified L1–1
+ is-alpha rule .rd-header.is-alpha L1–1
+ before rule .rd-header.is-alpha::before L1–1
+ is-nightly rule .rd-header.is-nightly L1–1
+ before rule .rd-header.is-nightly::before L1–1
+ before rule .rd-header.is-prerelease::before L1–1
+ before rule .rd-header::before L1–1
+ rd-notes-body a rule .rd-notes-body a L1–1
+ rd-notes-body code rule .rd-notes-body code L1–1
+ rd-notes-body h4 rule .rd-notes-body h1,.rd-notes-body h2,.rd-notes-body h3,.rd-notes-body h4 L1–1
+ rd-notes-body p rule .rd-notes-body p L1–1
+ rd-notes-body pre rule .rd-notes-body pre L1–1
+ rd-notes-body ol rule .rd-notes-body ul,.rd-notes-body ol L1–1
+ rd-rss-btn:hover rule .rd-rss-btn:hover L1–1
+ rd-section:hover rule .rd-section:hover L1–1
+ rd-semver-cell rule .rd-semver-cell L1–1
+ rd-semver-grid rule .rd-semver-grid L1–1
+ rd-semver-label rule .rd-semver-label L1–1
+ rd-semver-value rule .rd-semver-value L1–1
+ rd-sidebar-card:hover rule .rd-sidebar-card:hover L1–1
+ rd-sidebar-mono rule .rd-sidebar-mono L1–1
+ rd-snapshot-hash rule .rd-snapshot-hash L1–1
+ rd-stat:last-child rule .rd-stat:last-child L1–1
+ rl-changelog-chip rule .rl-changelog-chip L1–1
+ rl-hero-body-preview rule .rl-hero-body-preview L1–1
+ rl-hero-eyebrow svg rule .rl-hero-eyebrow svg L1–1
+ rl-hero-glow rule .rl-hero-glow L1–1
+ rl-hero-inner rule .rl-hero-inner L1–1
+ rl-hero-left rule .rl-hero-left L1–1
+ rl-hero-meta-row rule .rl-hero-meta-row L1–1
+ rl-hero-right rule .rl-hero-right L1–1
+ rl-hero-shell rule .rl-hero-shell L1–1
+ rl-pill--alpha rule .rl-pill--alpha L1–1
+ rl-pill--nightly rule .rl-pill--nightly L1–1
+ rl-stat-label rule .rl-stat-label L1–1
+ rl-stat-pill rule .rl-stat-pill L1–1
+ rl-stat-pill--pre:hover rule .rl-stat-pill--pre:hover L1–1
+ rl-stat-pill--stable:hover rule .rl-stat-pill--stable:hover L1–1
+ rl-stat-pill:hover rule .rl-stat-pill:hover L1–1
+ rl-stat-value rule .rl-stat-value L1–1
+ rl-stat-value--pre rule .rl-stat-value--pre L1–1
+ rl-tag--alpha rule .rl-tag--alpha L1–1
+ rl-tag--beta rule .rl-tag--beta L1–1
+ rl-tag--nightly rule .rl-tag--nightly L1–1
~ rd-actions
~ rd-asset-icon
~ rd-asset-info
~ rd-asset-meta
~ rd-asset-name
~ rd-asset-row
~ rd-avatar
~ rd-commit-sha
~ rd-header
~ rd-header-body
~ is-draft
~ is-prerelease
~ rd-main
~ rd-meta
~ rd-meta-item
~ rd-meta-label
~ rd-meta-value
~ rd-no-assets
~ rd-notes-body
~ rd-rss-btn
~ rd-section
~ rd-section-count
~ rd-section-header
~ rd-sidebar
~ rd-sidebar-body
~ rd-sidebar-card
~ rd-sidebar-header
~ rd-sidebar-key
~ rd-sidebar-row
~ rd-sidebar-val
~ rd-stat
~ rd-stat-label
~ rd-stat-value
~ rd-stats
~ rd-tag-badge
~ rd-title
~ rd-title-row
~ rl-avatar
~ rl-card
~ rl-empty-desc
~ rl-empty-icon
~ rl-empty-title
~ rl-hero-actions
~ rl-hero-eyebrow
~ rl-hero-title
~ rl-pill
~ rl-pill--draft
~ rl-pill--prerelease
~ rl-pill--stable
~ rl-row
~ rl-row-meta
~ rl-row-tag
~ rl-row-title
~ rl-row:hover
~ rl-search
~ rl-search:focus-within
~ rl-tab
~ rl-tag--draft
~ rl-tag--prerelease
~ rl-tag--stable
~ musehub/templates/musehub/static/scss/_releases.scss .scss 158 symbols added, 19 symbols removed, 24 symbols modified
rl-dl-chip rule .rl-dl-chip L184–205
rl-dl-label rule .rl-dl-label L175–182
rl-dl-row rule .rl-dl-row L168–173
rl-hero rule .rl-hero L56–65
rl-hero-author rule .rl-hero-author L120–125
rl-hero-info rule .rl-hero-info L86–86
rl-hero-meta rule .rl-hero-meta L111–118
rl-hero-preview rule .rl-hero-preview L157–165
rl-hero-tag rule .rl-hero-tag L88–100
rl-hero-top rule .rl-hero-top L78–84
rl-row-dl-chip rule .rl-row-dl-chip L420–436
rl-row-dl-row rule .rl-row-dl-row L413–418
rl-stat rule .rl-stat L21–29
rl-stat-divider rule .rl-stat-divider L31–35
rl-stat-lbl rule .rl-stat-lbl L47–53
rl-stat-num rule .rl-stat-num L37–43
rl-stat-num--pre rule .rl-stat-num--pre L45–45
rl-stat-num--stable rule .rl-stat-num--stable L44–44
rl-stat-strip rule .rl-stat-strip L12–19
+ is-alpha rule &.is-alpha L422–424
+ is-draft rule &.is-draft L421–421
+ is-nightly rule &.is-nightly L425–427
+ is-prerelease rule &.is-prerelease L418–420
+ unverified rule &.unverified L549–549
+ verified rule &.verified L548–548
+ before rule &::before L426–426
+ --add rule --add L1197–1197
+ --added rule -- L1012–1012
+ --agent rule --agent L1317–1317
+ --alpha rule --alpha L479–479
+ --beta rule --beta L478–478
+ --class class rule --class L1062–1062
+ --delete rule --delete L1198–1198
+ --draft rule --draft L481–481
+ --function, &--async_function func rule --function, &--async_function L1061–1061
+ --human rule --human L1316–1316
+ --major rule --major L707–707
+ --method, &--async_method method rule --method, &--async_method L1063–1063
+ --minor rule --minor L708–708
+ --modified rule -- L1014–1014
+ --move rule --move L1196–1196
+ --nightly rule --nightly L480–480
+ --other rule --other L710–710
+ --patch rule --patch L1199–1199
+ --pre rule --pre L133–133
+ --pre:hover rule --pre:hover L123–123
+ --removed rule -- L1013–1013
+ --stable rule --stable L477–477
+ --stable:hover rule --stable:hover L122–122
+ --variable var rule --variable L1064–1064
+ rd-actions rule .rd-actions L588–595
+ rd-asset-icon rule .rd-asset-icon L811–811
+ rd-asset-info rule .rd-asset-info L803–809
+ rd-asset-meta rule .rd-asset-meta L821–829
+ rd-asset-name rule .rd-asset-name L813–819
+ rd-asset-row rule .rd-asset-row L792–801
+ rd-avatar rule .rd-avatar L527–538
+ rd-breaking-banner rule .rd-breaking-banner L984–995
+ rd-breaking-chip rule .rd-breaking-chip L746–754
+ rd-changelog-body rule .rd-changelog-body L713–713
+ rd-changelog-breaking rule .rd-changelog-breaking L739–744
+ rd-changelog-bump rule .rd-changelog-bump L694–711
+ rd-changelog-entry rule .rd-changelog-entry L682–692
+ rd-changelog-list rule .rd-changelog-list L677–680
+ rd-changelog-meta rule .rd-changelog-meta L723–729
+ rd-changelog-msg rule .rd-changelog-msg L715–721
+ rd-changelog-sha rule .rd-changelog-sha L731–737
+ rd-channel-badge rule .rd-channel-badge L466–482
+ rd-commit-sha rule .rd-commit-sha L512–518
+ rd-gpg-badge rule .rd-gpg-badge L540–550
+ rd-header rule .rd-header L401–428
+ rd-header-body rule .rd-header-body L430–433
+ rd-layout rule .rd-layout L604–611
+ rd-main rule .rd-main L613–618
+ rd-meta rule .rd-meta L484–488
+ rd-meta-item rule .rd-meta-item L490–494
+ rd-meta-label rule .rd-meta-label L496–502
+ rd-meta-value rule .rd-meta-value L504–510
+ rd-no-assets rule .rd-no-assets L831–836
+ rd-notes-body rule .rd-notes-body L662–674
+ rd-rss-btn rule .rd-rss-btn L597–601
+ rd-section rule .rd-section L621–629
+ rd-section-body rule .rd-section-body L659–659
+ rd-section-count rule .rd-section-count L645–657
+ rd-section-count--danger rule .rd-section-count--danger L978–982
+ rd-section-header rule .rd-section-header L631–643
+ rd-section-header--danger rule .rd-section-header--danger L973–976
+ rd-semver-cell rule .rd-semver-cell L764–773
+ rd-semver-grid rule .rd-semver-grid L757–762
+ rd-semver-label rule .rd-semver-label L783–789
+ rd-semver-value rule .rd-semver-value L775–781
+ rd-sidebar rule .rd-sidebar L839–844
+ rd-sidebar-body rule .rd-sidebar-body L867–872
+ rd-sidebar-card rule .rd-sidebar-card L846–854
+ rd-sidebar-header rule .rd-sidebar-header L856–865
+ rd-sidebar-key rule .rd-sidebar-key L882–886
+ rd-sidebar-mono rule .rd-sidebar-mono L895–901
+ rd-sidebar-row rule .rd-sidebar-row L874–880
+ rd-sidebar-val rule .rd-sidebar-val L888–893
+ rd-snapshot-hash rule .rd-snapshot-hash L520–525
+ rd-stat rule .rd-stat L559–569
+ rd-stat-label rule .rd-stat-label L579–585
+ rd-stat-value rule .rd-stat-value L571–577
+ rd-stats rule .rd-stats L553–557
+ rd-tag-badge rule .rd-tag-badge L452–464
+ rd-title rule .rd-title L443–450
+ rd-title-row rule .rd-title-row L435–441
+ rl-changelog-chip rule .rl-changelog-chip L355–366
+ rl-hero-body-preview rule .rl-hero-body-preview L84–93
+ rl-hero-glow rule .rl-hero-glow L25–30
+ rl-hero-inner rule .rl-hero-inner L393–393
+ rl-hero-left rule .rl-hero-left L42–42
+ rl-hero-meta-row rule .rl-hero-meta-row L66–74
+ rl-hero-right rule .rl-hero-right L392–392
+ rl-hero-shell rule .rl-hero-shell L16–23
+ rl-pill--alpha rule .rl-pill--alpha L296–296
+ rl-pill--nightly rule .rl-pill--nightly L297–297
+ rl-stat-label rule .rl-stat-label L136–142
+ rl-stat-pill rule .rl-stat-pill L110–124
+ rl-stat-value rule .rl-stat-value L126–134
+ rl-tag--alpha rule .rl-tag--alpha L254–254
+ rl-tag--beta rule .rl-tag--beta L253–253
+ rl-tag--nightly rule .rl-tag--nightly L255–255
+ sr-api-addr rule .sr-api-addr L1067–1075
+ sr-api-col rule .sr-api-col L1006–1015
+ sr-api-col--added rule .sr-api-col-- L1028–1028
+ sr-api-col--modified rule .sr-api-col-- L1030–1030
+ sr-api-col--removed rule .sr-api-col-- L1029–1029
+ sr-api-col-head rule .sr-api-col-head L1017–1031
+ sr-api-count rule .sr-api-count L1033–1039
+ sr-api-entry rule .sr-api-entry L1041–1050
+ sr-api-grid rule .sr-api-grid L999–1004
+ sr-api-kind rule .sr-api-kind L1052–1065
+ sr-api-lang rule .sr-api-lang L1077–1082
+ sr-api-more rule .sr-api-more L1084–1090
+ sr-auth-dot rule .sr-auth-dot L1309–1318
+ sr-authorship-agent rule .sr-authorship-agent L1297–1300
+ sr-authorship-bar rule .sr-authorship-bar L1283–1290
+ sr-authorship-human rule .sr-authorship-human L1292–1295
+ sr-authorship-legend rule .sr-authorship-legend L1302–1307
+ sr-breaking-addr rule .sr-breaking-addr L1116–1123
+ sr-breaking-entry rule .sr-breaking-entry L1101–1109
+ sr-breaking-icon rule .sr-breaking-icon L1111–1114
+ sr-breaking-list rule .sr-breaking-list L1094–1099
+ sr-hotspot-bar rule .sr-hotspot-bar L1165–1169
+ sr-hotspot-bar-wrap rule .sr-hotspot-bar-wrap L1158–1163
+ sr-hotspot-count rule .sr-hotspot-count L1171–1176
+ sr-hotspot-file rule .sr-hotspot-file L1149–1156
+ sr-hotspot-lang rule .sr-hotspot-lang L1142–1147
+ sr-hotspot-list rule .sr-hotspot-list L1127–1132
+ sr-hotspot-row rule .sr-hotspot-row L1134–1140
+ sr-lang-bar rule .sr-lang-bar L914–921
+ sr-lang-dot rule .sr-lang-dot L946–952
+ sr-lang-item rule .sr-lang-item L938–944
+ sr-lang-legend rule .sr-lang-legend L931–936
+ sr-lang-more rule .sr-lang-more L959–962
+ sr-lang-seg rule .sr-lang-seg L923–929
+ sr-lang-stat rule .sr-lang-stat L954–957
+ sr-lang-strip rule .sr-lang-strip L909–912
+ sr-refactor-addr rule .sr-refactor-addr L1211–1223
+ sr-refactor-commit rule .sr-refactor-commit L1234–1239
+ sr-refactor-detail rule .sr-refactor-detail L1225–1232
+ sr-refactor-kind rule .sr-refactor-kind L1202–1209
+ sr-refactor-list rule .sr-refactor-list L1180–1185
+ sr-refactor-row rule .sr-refactor-row L1187–1200
+ sr-section rule .sr-section L966–971
+ sr-sym-bar rule .sr-sym-bar L1267–1272
+ sr-sym-bar-wrap rule .sr-sym-bar-wrap L1260–1265
+ sr-sym-count rule .sr-sym-count L1274–1279
+ sr-sym-kind rule .sr-sym-kind L1252–1258
+ sr-sym-row rule .sr-sym-row L1243–1250
+ a rule a L672–672
+ code rule code L670–670
+ h1,h2,h3,h4 rule h1,h2,h3,h4 L668–668
+ p rule p L669–669
+ pre rule pre L671–671
+ ul,ol rule ul,ol L673–673
~ &:focus-within
~ &:hover
~ rl-avatar
~ rl-card
~ rl-empty-desc
~ rl-empty-icon
~ rl-empty-title
~ rl-hero-actions
~ rl-hero-eyebrow
~ rl-hero-title
~ rl-pill
~ rl-pill--draft
~ rl-pill--prerelease
~ rl-pill--stable
~ rl-row
~ rl-row-meta
~ rl-row-tag
~ rl-row-title
~ rl-search
~ rl-tab
~ rl-tag--draft
~ rl-tag--prerelease
~ rl-tag--stable
~ svg
~ tests/test_musehub_ui.py .py 2 symbols added, 2 symbols removed
test_ui_release_list_page_has_download_buttons func async_function test_ui_release_list_page_has_download_buttons L1312–1336
test_ui_release_list_page_has_download_count_badge func async_function test_ui_release_list_page_has_download_count_badge L1359–1375
+ test_ui_release_list_page_has_tag_badge func async_function test_ui_release_list_page_has_tag_badge L1353–1369
+ test_ui_release_list_page_shows_release_row func async_function test_ui_release_list_page_shows_release_row L1312–1330
~ tests/test_musehub_ui_releases_ssr.py .py 1 symbol added, 1 symbol removed
test_release_detail_shows_audio_player_container func async_function test_release_detail_shows_audio_player_container L168–184
+ test_release_detail_shows_header_card func async_function test_release_detail_shows_header_card L168–182
Files Changed 445 in snapshot
+445
+ AGENTS.md .md
+ README.md .md
+ alembic.ini .ini
+ musehub/py.typed .typed
+ package.json .json
+ pyproject.toml .toml
+ tsconfig.json .json

0 comments

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