gabriel / musehub public
fix BREAKING task/test-suite-fixes #6 / 12
AI Agent gabriel · 148 days ago · Apr 27, 2026 · Diff

fix: compute content-addressed IDs for all ORM inserts in tests and factories

- Replace bare UUIDs with genesis-computed sha256: IDs throughout test suite - Fix factories.py: compute_issue_id and compute_proposal_id in create_issue/create_proposal - Fix test_sessions.py: use compute_session_id in _db_session helper and unit tests - Fix test_wire_tags.py: use compute_tag_id and fake_id in helpers and inline inserts - Fix test_repository_service.py: compute_branch_id and compute_collaborator_id - Fix test_mcp_read_tools.py: compute_branch_id and compute_collaborator_id - Fix test_mcp_write_tools.py: compute_branch_id, compute_issue_id, fake_id for ghost repos - Fix test_releases.py: compute_release_id in unit tests - Fix test_webhooks.py: compute_webhook_id in unit tests - Fix test_api_snapshots.py: add missing fake_id import - Fix musehub/mcp/write_tools/collaborators.py: compute_collaborator_id in service - Fix musehub/mcp/smoke tests: factories now pass issue_id and proposal_id

sha256:73de8cc7d51b87bc0fa9ee5a10e2ca742e363db7aa070a77abed6fcbc487eab0 sha
+218 ~271 symbols
sha256:802fe9b953349adb00a10138b730771fdb15de4c088f17bb15ef5ddadb15e93d snapshot
+218
symbols added
~271
symbols modified
0
dead code introduced
Semantic Changes 489 symbols
+ .cursorrules .cursorrules
+ .windsurfrules .windsurfrules
~ AGENTS.md .md 19 symbols added
+ Workspace — Shared Agent Configuration section Workspace — Shared Agent Configuration L1–137
+ Branch Flow section Branch Flow L83–103
+ code[bash]@L87 variable variable code[bash]@L87 L87–100
+ Code Intelligence section Code Intelligence L103–116
+ table@L105 section table@L105 L105–113
+ Commit Convention — Agent-First section Commit Convention — Agent-First L37–83
+ Agent commit — always use this section Agent commit — always use this L43–58
+ code[bash]@L45 variable variable code[bash]@L45 L45–51
+ Human commit — manual actions only section Human commit — manual actions only L58–66
+ code[bash]@L60 variable variable code[bash]@L60 L60–63
+ Provenance chain section Provenance chain L66–83
+ code@L68 variable variable code@L68 L68–77
+ Testing Rules section Testing Rules L116–137
+ Forbidden section Forbidden L130–137
+ Version Control section Version Control L25–37
+ Workspace Members section Workspace Members L11–25
+ table@L13 section table@L13 L13–22
+ musehub — Agent Configuration section musehub — Agent Configuration L137–150
+ Repo-Specific Notes section Repo-Specific Notes L147–150
~ musehub/mcp/write_tools/collaborators.py .py 3 symbols added, 1 symbol modified
+ compute_collaborator_id import import compute_collaborator_id L10–10
+ datetime import import datetime L6–6
+ timezone import import timezone L6–6
~ tests/conftest.py .py 1 symbol added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L24–24
~ tests/factories.py .py 3 symbols added, 3 symbols modified
+ compute_identity_id import import compute_identity_id L32–32
+ compute_issue_id import import compute_issue_id L32–32
+ compute_proposal_id import import compute_proposal_id L32–32
~ tests/test_api_contracts.py .py 1 symbol added, 4 symbols modified
~ tests/test_api_snapshots.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L34–34
+ compute_repo_id import import compute_repo_id L34–34
~ tests/test_bridge_mirrors.py .py 1 symbol added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L32–32
~ tests/test_collaborators.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L35–35
+ compute_repo_id import import compute_repo_id L35–35
~ tests/test_context.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L27–27
+ compute_repo_id import import compute_repo_id L27–27
~ tests/test_coordination.py .py 1 symbol added, 4 symbols modified
~ tests/test_cross_repo.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L30–30
+ compute_repo_id import import compute_repo_id L30–30
+ datetime import import datetime L28–28
+ timezone import import timezone L28–28
~ tests/test_divergence.py .py 3 symbols added, 1 symbol modified
+ _TEST_OWNER_ID variable variable _TEST_OWNER_ID L68–68
+ compute_identity_id import import compute_identity_id L30–30
+ compute_repo_id import import compute_repo_id L30–30
~ tests/test_domains.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L31–31
+ compute_repo_id import import compute_repo_id L31–31
+ datetime import import datetime L29–29
+ timezone import import timezone L29–29
~ tests/test_gc.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L26–26
+ compute_repo_id import import compute_repo_id L26–26
~ tests/test_gc_background_tasks.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L23–23
+ compute_repo_id import import compute_repo_id L23–23
~ tests/test_identity_integration.py .py 1 symbol added, 1 symbol modified
+ encode_pubkey import import encode_pubkey L30–30
~ tests/test_mcp_mist_tools.py .py 2 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L85–85
+ compute_repo_id import import compute_repo_id L85–85
~ tests/test_mcp_read_tools.py .py 5 symbols added, 9 symbols modified
+ compute_branch_id import import compute_branch_id L84–84
+ compute_collaborator_id import import compute_collaborator_id L84–84
+ compute_identity_id import import compute_identity_id L84–84
+ compute_repo_id import import compute_repo_id L84–84
+ fake_id import import fake_id L83–83
~ _repo
~ tests/test_merge_proposals.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L48–48
+ compute_repo_id import import compute_repo_id L48–48
~ _repo
~ tests/test_mist_models_service.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L62–62
+ compute_repo_id import import compute_repo_id L62–62
+ datetime import import datetime L61–61
+ timezone import import timezone L61–61
~ _repo
~ tests/test_mist_routes.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L51–51
+ compute_repo_id import import compute_repo_id L51–51
+ datetime import import datetime L50–50
+ timezone import import timezone L50–50
~ tests/test_mist_security.py .py 5 symbols added, 7 symbols modified
+ _make_mist_repo function async_function _make_mist_repo L45–64
+ compute_identity_id import import compute_identity_id L38–38
+ compute_repo_id import import compute_repo_id L38–38
+ datetime import import datetime L32–32
+ timezone import import timezone L32–32
~ tests/test_mists.py .py 5 symbols added, 4 symbols modified
+ MusehubRepo import import MusehubRepo L34–34
+ compute_identity_id import import compute_identity_id L33–33
+ compute_repo_id import import compute_repo_id L33–33
+ datetime import import datetime L27–27
+ timezone import import timezone L27–27
~ tests/test_musehub_discover.py .py 4 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L20–20
+ compute_repo_id import import compute_repo_id L20–20
+ datetime import import datetime L14–14
+ timezone import import timezone L14–14
~ tests/test_musehub_issues.py .py 1 symbol added, 2 symbols modified
~ tests/test_musehub_issues_branch_reachability.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L25–25
+ compute_repo_id import import compute_repo_id L25–25
~ tests/test_musehub_issues_commit_graph.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L20–20
+ compute_repo_id import import compute_repo_id L20–20
~ tests/test_musehub_proposals_touched_symbols.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L21–21
+ compute_repo_id import import compute_repo_id L21–21
~ tests/test_musehub_repos.py .py 6 symbols added, 29 symbols modified
+ _make_repo function function _make_repo L31–51
+ compute_collaborator_id import import compute_collaborator_id L25–25
+ compute_identity_id import import compute_identity_id L25–25
+ compute_repo_id import import compute_repo_id L25–25
+ datetime import import datetime L19–19
+ timezone import import timezone L19–19
~ tests/test_musehub_search.py .py 2 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L41–41
+ compute_repo_id import import compute_repo_id L41–41
~ tests/test_musehub_sitemap.py .py 3 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L29–29
+ compute_release_id import import compute_release_id L29–29
+ compute_repo_id import import compute_repo_id L29–29
~ tests/test_musehub_topics.py .py 2 symbols added, 6 symbols modified
~ tests/test_musehub_ui_blob_deep_links.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L34–34
+ compute_repo_id import import compute_repo_id L34–34
+ datetime import import datetime L31–31
+ timezone import import timezone L31–31
~ tests/test_musehub_ui_branches_tags_ssr.py .py 4 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L35–35
+ compute_repo_id import import compute_repo_id L35–35
+ datetime import import datetime L27–27
+ timezone import import timezone L27–27
~ tests/test_musehub_ui_collaborators_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L28–28
+ compute_repo_id import import compute_repo_id L28–28
+ datetime import import datetime L26–26
+ timezone import import timezone L26–26
~ tests/test_musehub_ui_commits_enhanced.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L47–47
+ compute_repo_id import import compute_repo_id L47–47
~ tests/test_musehub_ui_commits_ssr.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L32–32
+ compute_repo_id import import compute_repo_id L32–32
~ tests/test_musehub_ui_explore_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L21–21
+ compute_repo_id import import compute_repo_id L21–21
+ datetime import import datetime L20–20
+ timezone import import timezone L20–20
~ tests/test_musehub_ui_issue_detail_ssr.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L35–35
+ compute_repo_id import import compute_repo_id L35–35
~ tests/test_musehub_ui_issue_list_enhanced.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L81–81
+ compute_repo_id import import compute_repo_id L81–81
+ datetime import import datetime L79–79
+ timezone import import timezone L79–79
~ tests/test_musehub_ui_jsonld.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L37–37
+ compute_repo_id import import compute_repo_id L37–37
~ tests/test_musehub_ui_new_repo.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L32–32
+ compute_repo_id import import compute_repo_id L32–32
+ datetime import import datetime L30–30
+ timezone import import timezone L30–30
~ tests/test_musehub_ui_new_repo_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L20–20
+ compute_repo_id import import compute_repo_id L20–20
+ datetime import import datetime L18–18
+ timezone import import timezone L18–18
~ tests/test_musehub_ui_proposal_ssr.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L24–24
+ compute_repo_id import import compute_repo_id L24–24
~ tests/test_musehub_ui_releases_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L25–25
+ compute_repo_id import import compute_repo_id L25–25
+ datetime import import datetime L21–21
+ timezone import import timezone L21–21
~ tests/test_musehub_ui_repo_home_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L23–23
+ compute_repo_id import import compute_repo_id L23–23
+ datetime import import datetime L22–22
+ timezone import import timezone L22–22
~ tests/test_musehub_ui_sessions_ssr.py .py 2 symbols added, 2 symbols modified
+ compute_identity_id import import compute_identity_id L34–34
+ compute_repo_id import import compute_repo_id L34–34
~ tests/test_musehub_ui_settings.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L32–32
+ compute_repo_id import import compute_repo_id L32–32
+ datetime import import datetime L31–31
+ timezone import import timezone L31–31
~ tests/test_musehub_ui_settings_ssr.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L23–23
+ compute_repo_id import import compute_repo_id L23–23
+ datetime import import datetime L21–21
+ timezone import import timezone L21–21
~ tests/test_musehub_ui_team.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L40–40
+ compute_repo_id import import compute_repo_id L40–40
+ datetime import import datetime L38–38
+ timezone import import timezone L38–38
~ tests/test_musehub_ui_topics.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L41–41
+ compute_repo_id import import compute_repo_id L41–41
+ datetime import import datetime L40–40
+ timezone import import timezone L40–40
~ tests/test_rate_limiting.py .py 4 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L32–32
+ compute_repo_id import import compute_repo_id L32–32
+ datetime import import datetime L31–31
+ timezone import import timezone L31–31
~ tests/test_releases.py .py 6 symbols added, 10 symbols modified
+ compute_identity_id import import compute_identity_id L49–49
+ compute_release_id import import compute_release_id L49–49
+ compute_repo_id import import compute_repo_id L49–49
+ datetime import import datetime L46–46
+ fake_id import import fake_id L48–48
+ timezone import import timezone L46–46
~ _repo
~ tests/test_search.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L67–67
+ compute_repo_id import import compute_repo_id L67–67
~ _repo
~ tests/test_ui_ssr.py .py 2 symbols added, 1 symbol modified
+ compute_identity_id import import compute_identity_id L29–29
+ compute_repo_id import import compute_repo_id L29–29
~ tests/test_webhooks.py .py 4 symbols added, 3 symbols modified
+ compute_identity_id import import compute_identity_id L68–68
+ compute_repo_id import import compute_repo_id L68–68
+ compute_webhook_id import import compute_webhook_id L68–68
+ fake_id import import fake_id L67–67
~ tests/test_wire_push_stream.py .py 1 symbol modified

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