Bug Fixes
- #811 Unicode identifiers (CJK, Cyrillic, Arabic, accented Latin) no longer collapse to a bare file stem —
_make_idnow uses[^\w]+withre.UNICODEto preserve non-ASCII word chars. Added NFKC normalization so composed/decomposed forms of the same character produce the same ID. Switched tocasefold()for correct locale-sensitive lowercasing._normalize_idinbuild.pykept in sync. - #803 Dedup edge remap uses explicit key-presence check instead of
orso empty-stringsourceisn't silently swapped for thefromfallback. Stalefrom/tokeys are now popped after remapping so they can't leak into edge attributes ingraph.json. - #801
--updatemerge block inskill.mdnow callsbuild_merge()directly instead of an inline NetworkX round-trip that re-introduced the direction-flip bug from #760. Dict merge ordering fixed so explicitsource/targetalways win over stale attrs. Hyperedges pulled fromG.graph(full merged set) rather than just the new extraction. - #808 Subagent prompts now receive an absolute
CHUNK_PATHderived fromgraphify-out/.graphify_rootat dispatch time — chunk files no longer silently land in the wrong directory due to undefined subagent cwd. - Skill version mismatch warning suppressed during
hook-check(runs on every editor tool use, must be silent) and routed to stderr for all other commands.
Upgrade
pip install -U graphifyy