Skip to content

chore: escape NUL key separators as \0 to restore text diffs#49

Open
rahlk wants to merge 1 commit into
fix/issue-43-neo4j-application-versionfrom
chore/issue-44-nul-escape-separators
Open

chore: escape NUL key separators as \0 to restore text diffs#49
rahlk wants to merge 1 commit into
fix/issue-43-neo4j-application-versionfrom
chore/issue-44-nul-escape-separators

Conversation

@rahlk

@rahlk rahlk commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Closes #44. Epic #26 follow-up.

Stacked on fix/issue-43-neo4j-application-version (on top of the compliance cluster). Review this PR's diff in isolation; merge the follow-up stack bottom-up after the cluster. (Note: renders as a binary diff on GitHub because the parent blob still had NUL — verified byte-for-byte via od -c as pure NUL→\0; future diffs are text.)

Verified: 104 tests / 0 fail, typecheck clean, schema.neo4j.json lockstep; task-scoped review + final whole-branch review (READY TO MERGE).

src/build/neo4j/rows.ts and src/schema/v2/dataflow.ts used raw 0x00
bytes as template-literal key separators (Map keys / sort-comparator
keys), which made git treat both files as binary and hid contract-
adjacent edits from review. Replace each raw NUL with the `\0` escape
sequence — at runtime "\0" is still U+0000, so every key built from it
is byte-identical; only the on-disk representation changes, from
binary to plain text.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant