fix: purge g-prefix gitism and sha256: prefix stripping from bundle/blame/archive/describe
Pattern 1 — g-prefix gitism (describe long format): - muse/core/describe.py: fix docstring examples v1.0.0-0-gabc → v1.0.0-0-sha256:abc - docs/reference/porcelain.md: fix --long example output
Pattern 2 — sha256: prefix stripped outside filesystem write boundary: - bundle.py: branches_out (inspect JSON) and list-heads JSON now keep sha256: prefix; text display abbreviations use commit_id[:len('sha256:')+12] not removeprefix+slice; update TypedDict comment and docstring schema strings - archive.py: split short_filename (bare hex for filename) from short_display (sha256: prefixed for text output); Commit: line now shows sha256:abc... - core_blame.py: short_id field in JSON and text display use commit_id[:7+short] instead of removeprefix+slice; same fix for file-not-found error message
Test fixes (401/401 passing): - test_cmd_blame.py: short_id_is_prefix uses startswith; length == 7+12; docstring updated; test_json_indent2 → test_json_is_compact (compact policy) - test_cmd_bundle_hardening.py: list-heads schema test checks sha256: prefix; test_json_commit_id_is_64_hex → test_json_commit_id_has_sha256_prefix; test_text_cid_is_12_chars → test_text_cid_shows_sha256_prefix_plus_12 - test_cmd_archive.py: fix _make_commit to use write_object with sha256: prefix; fix test_zip_slip to use _build_entries+_build_tar two-step API - test_cmd_archive_hardening.py: fix _write_object to use write_object; fix 3 security tests to use _build_entries+_build_tar/zip two-step API; fix phantom_id to sha256: prefixed; fix display assertions
0 comments
muse hub commit comment sha256:3ed428f4b85bb927b0412f3b75f34e2d96838f6e135b4e72d145d1a8593f3786 --body "your comment"
No comments yet. Be the first to start the discussion.