gabriel / musehub public
fix BREAKING task/test-suite-fixes #1 / 12
AI Agent gabriel · 147 days ago · Apr 28, 2026 · Diff

fix: canonical sha256 IDs, MWP v2 wire protocol, and test suite sweep

- Replace all bare/UUID IDs with sha256-prefixed genesis IDs across tests and services - Rewrite object integrity and object store canonical tests to use MWP v2 routes (/push/stream, /push/object-pack) — legacy /push and /push/objects routes are gone - _verify_object_hash now rejects non-sha256-prefixed IDs at the prefix level - Add require_signed_commits else-branch with debug log for unsigned commits in soft mode - Fix _build_index test helper to call persist_intel_results so DB-backed intel tests pass - Add genesis IDs (issue_id, proposal_id, branch_id) to all direct ORM inserts in tests - Delete stale TestOpenRedirect tests referencing ui_mcp_elicitation.py (file gone) - Remove /push/object-pack from deleted-endpoints list (it is the live MWP v2 route) - Fix _end_frame() to include n_commits/n_objects so E-frame count check passes - Add nginx gzip directives (gzip on, gzip_comp_level 5, gzip_vary, gzip_types) - Replace deprecated HTTP_422_UNPROCESSABLE_ENTITY with HTTP_422_UNPROCESSABLE_CONTENT - Fix snapshot entries tests: branch_id genesis, short_id for commit refs, owner normalization

sha256:802e3232903834591c7ad3294967cf621bf6c013c3980ad3872fd5ec2900ab88 sha
+47 ~139 −7 symbols
sha256:b2b94d70335f4d10868487bcf5672d498981b5c66abd66aded48cd2d15e32a57 snapshot
+47
symbols added
~139
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes 193 symbols
~ musehub/models/musehub.py .py 1 symbol added, 1 symbol modified
+ EmotionDiff class class EmotionDiff L2415–2429
~ musehub/services/musehub_repository.py .py 1 symbol added, 5 symbols modified
+ compute_identity_id import import compute_identity_id L23–23
~ tests/test_musehub_collaborators.py .py 5 symbols added
+ collab_user function async_function collab_user L32–44
+ AsyncSession import import AsyncSession L18–18
+ MusehubIdentity import import MusehubIdentity L20–20
+ compute_identity_id import import compute_identity_id L19–19
+ pytest_asyncio import import pytest_asyncio L16–16
~ tests/test_musehub_context.py .py 5 symbols added, 4 symbols modified
+ compute_branch_id import import compute_branch_id L29–29
+ compute_identity_id import import compute_identity_id L29–29
+ compute_issue_id import import compute_issue_id L29–29
+ compute_proposal_id import import compute_proposal_id L29–29
+ fake_id import import fake_id L28–28
~ tests/test_musehub_issues_branch_reachability.py .py 3 symbols added, 5 symbols modified
+ compute_branch_id import import compute_branch_id L26–26
+ compute_proposal_id import import compute_proposal_id L26–26
+ fake_id import import fake_id L25–25
~ tests/test_musehub_labels.py .py 2 symbols added, 1 symbol modified
+ compute_branch_id import import compute_branch_id L26–26
+ fake_id import import fake_id L25–25
~ tests/test_musehub_proposals_touched_symbols.py .py 3 symbols added, 8 symbols modified
~ tests/test_musehub_ui_blob_deep_links.py .py 1 symbol added, 3 symbols modified
+ compute_issue_id import import compute_issue_id L34–34
~ tests/test_musehub_ui_branches_tags_ssr.py .py 2 symbols added, 4 symbols modified
+ compute_branch_id import import compute_branch_id L35–35
+ compute_release_id import import compute_release_id L35–35
~ tests/test_musehub_ui_collaborators_ssr.py .py 1 symbol added, 3 symbols modified
+ compute_collaborator_id import import compute_collaborator_id L28–28
~ tests/test_musehub_ui_commits_enhanced.py .py 1 symbol added, 1 symbol removed, 3 symbols modified
test_commits_enhanced_chip_css_classes_present class async_function test_commits_enhanced_chip_css_classes_present L332–343
+ compute_branch_id import import compute_branch_id L47–47
~ tests/test_musehub_ui_issue_detail_ssr.py .py 3 symbols added, 5 symbols modified
+ compute_comment_id import import compute_comment_id L35–35
+ compute_issue_id import import compute_issue_id L35–35
+ compute_release_id import import compute_release_id L35–35
~ tests/test_musehub_ui_issue_list_enhanced.py .py 1 symbol added, 3 symbols modified
+ compute_issue_id import import compute_issue_id L81–81
~ tests/test_musehub_ui_jsonld.py .py 1 symbol added, 3 symbols modified
+ compute_release_id import import compute_release_id L37–37
~ tests/test_musehub_ui_proposal_ssr.py .py 1 symbol added, 3 symbols modified
+ compute_proposal_id import import compute_proposal_id L24–24
~ tests/test_musehub_ui_releases_ssr.py .py 1 symbol added, 3 symbols modified
+ compute_release_id import import compute_release_id L25–25
~ tests/test_musehub_ui_sessions_ssr.py .py 1 symbol added, 3 symbols modified
+ compute_session_id import import compute_session_id L34–34
~ tests/test_musehub_ui_team.py .py 1 symbol added, 3 symbols modified
+ compute_collaborator_id import import compute_collaborator_id L40–40
~ tests/test_musehub_ui_user_profile.py .py 1 symbol removed
test_profile_header_chip_icons_present function async_function test_profile_header_chip_icons_present L647–665
~ tests/test_object_store_canonical.py .py 3 symbols added, 7 symbols modified
~ tests/test_security_hardening.py .py 5 symbols removed
TestOpenRedirect class class TestOpenRedirect L661–690
test_elicitation_does_not_store_full_absolute_url method method test_elicitation_does_not_store_full_absolute_url L674–681
test_elicitation_path_only_for_both_routes method method test_elicitation_path_only_for_both_routes L683–690
test_elicitation_stores_path_only_in_next_param method method test_elicitation_stores_path_only_in_next_param L662–672
_ELICITATION variable variable _ELICITATION L510–510
~ tests/test_ui_ssr.py .py 2 symbols added, 4 symbols modified
+ compute_issue_id import import compute_issue_id L29–29
+ compute_proposal_id import import compute_proposal_id L29–29
~ tests/test_wire_streaming_push.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:802e3232903834591c7ad3294967cf621bf6c013c3980ad3872fd5ec2900ab88 --body "your comment"