fix: preserve JSONL rows with unicode separators#62
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 18, 2026, 10:59 AM ET / 14:59 UTC. Summary Reproducibility: yes. at source level: current main uses node:readline for backup JSONL and a Node probe showed createInterface splitting one physical JSON row at U+2028. I did not run a full backup import because this review is read-only. Review metrics: none identified. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this narrow reader/writer fix after normal maintainer review and checks; keep the linked issue open until the PR merges. Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main uses node:readline for backup JSONL and a Node probe showed createInterface splitting one physical JSON row at U+2028. I did not run a full backup import because this review is read-only. Is this the best way to solve the issue? Yes, the PR targets the shared JSONL reader/writer, preserves parsed values, and adds focused round-trip coverage without adding config or a migration. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 7498414d9e17. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Landed in Tested:
Caveat: the legacy E2E intentionally used |
Summary
U+2028/U+2029when writing JSONL backup values\nrecords instead of Nodereadlinelogical linesFixes #61.
Checks
pnpm test src/lib/backup.test.tspnpm run format:checkpnpm run lintpnpm run typecheckpnpm testProof
I removed files[] and counts[] to make it a little bit shorter and more readable.