PR 29579: fbbb567c52a1d25dec1f189532df97230d6551c9 Baseline github/main: 30084f0018c5751a07291222e8d04e16d513700a Linux VM; Google Chrome; Playwright from apps/web dependencies. Project and threads created in the app. Real Codex gpt-6.1-sol turns created and committed the baseline, enabled local diff.suppressBlankEmpty=true, and edited the files. $ git config --local --get diff.suppressBlankEmpty true $ nl -ba README.md 1 # blank context verification 2 3 after 4 5 tail Main, actual client turn diff and Uncommitted view: README.md lines: header=1, before=2, after=2, tail=3; blanks missing. Browser: processFile: invalid rawLine Browser: parsePatchContent: hunk line count mismatch; declared old/new 5/5, parsed old/new 3/3. PR, fresh real Codex edit turn, actual client turn diff and Uncommitted view: README.md lines: header=1, blank=2, before/after=3, blank=4, tail=5. No invalid-rawLine or hunk-count errors. plain.txt old/new=1; untracked.txt untracked=1. Split and stacked views preserve correct numbering. Click line 3 add-comment: editor label Comment on lines +3. Submitted comment appears as README.md L3 in composer and user message. Real Codex response: verified: README.md line 3 contains after. no files changed. Local diff.suppressBlankEmpty remains true; persistent config was not changed by patch reads. $ blacksmith-check run ... "cd apps/server && vp test run src/checkpointing/CheckpointStore.test.ts src/vcs/GitVcsDriverCore.test.ts src/vcs/GitVcsDriver.test.ts" 3 files passed, 300 tests passed. $ blacksmith-check run ... "... && vp run check:changed FETCH_HEAD" 4 changed files against PR parent cbd3e149a130. format PASS; lint PASS; knip 1/2 PASS; knip 2/2 PASS; graphql PASS; typecheck (3 packages) PASS; tests (4 files, 301 tests) PASS. Not exercised: native desktop shell, iOS/Android, other providers, remote/relay connections, live branch-range and commit review selection. Existing VCS tests cover commit/branch review patch generation. Incidental: a cold diff-worker load once logged unresolved pierre-dark theme; client rendering continued and line numbers were correct. No related parser errors on PR.