gabriel / musehub public
fix BREAKING task/canonical-hash-idioms #8 / 8
AI Agent gabriel · 153 days ago · Apr 25, 2026 · Diff

fix: replace all inline bare-hash constructions with canonical codec functions

- hash_utils.py: compute_contract_hash, hash_list_canonical, compute_execution_hash now return full sha256:-prefixed IDs via blob_id() — removes 16-char 64-bit collision surface - protocol/responses.py: compute_protocol_hash uses blob_id(), drops bare hexdigest - services/musehub_domains.py: compute_manifest_hash uses blob_id() - api/_templates.py: static asset cache buster uses blob_id()+split_id() — import hashlib removed - All callers get full 256-bit collision resistance; no more truncated fingerprints

sha256:6446ba8458fa34b51f554362dbfe68004b9dfef00a29378b22ac15d638fd368b sha
+5 ~6 −3 symbols
sha256:e975d1eac853ac6811befbee1b6d2e12115fbf8679c216c11e0fbd2a0472803d snapshot
+5
symbols added
~6
symbols modified
−3
symbols removed
0
dead code introduced
Semantic Changes 14 symbols
~ .museignore .museignore
~ musehub/api/routes/musehub/_templates.py .py 2 symbols added, 1 symbol modified
+ blob_id import import blob_id L25–25
+ split_id import import split_id L25–25
~ musehub/protocol/responses.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− hashlib import import hashlib L4–4
+ blob_id import import blob_id L8–8
~ musehub/services/musehub_domains.py .py 1 symbol added, 1 symbol removed, 1 symbol modified
− hashlib import import hashlib L8–8
+ blob_id import import blob_id L16–16
~ musehub/types/hash_utils.py .py 1 symbol added, 1 symbol removed, 3 symbols modified
− hashlib import import hashlib L18–18
+ blob_id import import blob_id L21–21

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