Fixes
- #513 Windows hook null byte warning — hook now skips
head -1for.exebinaries, goes straight to python3 fallback - #514
to_canvas()hardcodedgraphify/obsidian/path — file refs are now vault-root-relative ({fname}.md), canvas opens correctly regardless of where the vault lives
Tests
- Added
test_to_canvas_file_paths_relative_to_vault— would have caught the hardcoded path bug - Added
test_hook_skips_head_on_exe— verifies the Windows fix is present in the hook script