## Summary `muse blame --range` attributes lines to a commit whose own `files_modified` list does not include that file, and whose blobs for the file are byte-identical to its parent — i.e. the blamed commit provably never touched the file. ## Repro ```bash cd ~/ecosystem/musehub muse blame src/scss/_layout.scss --range 38-41 --json ``` Returns attribution to `sha256:659f09b2a6570076b0ec01897c95ce391467b1a11fb8fa6d3c12e88b2e0e1c77` ("fix: update all list_domains/list_repos callers to cursor pagination API"). ```bash muse read sha256:659f09b2a6570076b0ec01897c95ce391467b1a11fb8fa6d3c12e88b2e0e1c77 --json \ | jq '.files_modified' ``` ```json [ "musehub/api/routes/musehub/ui_domains.py", "musehub/mcp/dispatcher.py", "musehub/mcp/resources.py", "musehub/services/musehub_mcp_executor.py" ] ``` `src/scss/_layout.scss` is not in that list. Confirming the file content is identical between the blamed commit and its parent: ```bash diff <(muse cat src/scss/_layout.scss --at sha256:659f09b2a6570076b0ec01897c95ce391467b1a11fb8fa6d3c12e88b2e0e1c77) \ <(muse cat src/scss/_layout.scss --at sha256:9a6e44e84b66174d5e1a275f1d011bb9b100a3bbafc102f7620b36e8db53d1df) # zero output — byte-identical ``` ## Expected `muse blame` should attribute each line to the nearest ancestor commit that actually changed it (per its manifest / diff), never a commit whose `files_modified` excludes the file entirely. ## Impact Blame output cannot be trusted for archaeology (e.g. "why does this rule exist, when was it introduced") — it silently returns plausible-looking but false commit history, which is worse than an error since it's not obviously wrong without independent verification.