Skip to content

fix: recognize CRLF fenced dispute examples - #168

Merged
zzxwill merged 2 commits into
masterfrom
fix/crlf-dispute-fences
Oct 22, 2026
Merged

zzxwill merged 2 commits into
masterfrom
fix/crlf-dispute-fences

Conversation

@zzxwill

@zzxwill zzxwill commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

What changes

Codex/result JSON replies can contain CRLF inside their decoded text. The reply parser failed to recognize Markdown fences ending in CRLF, so a quoted DISPUTE: example could reopen a settled finding despite approval and assign quoted text to the wrong rebuttal.

Strip the trailing carriage return only while recognizing reply syntax, preserving original evidence text. Add eight regressions covering both JSON formats, LF/CRLF, backtick/tilde fences, withdrawn examples and subsequent live disputes. Integrates merged #166 while retaining its mixed-reply and restatement behavior.

Validation

Final head: 19460adf5a1ed3250dee5726e61f4cceb96e140e, based on merged master 9f587399f86b119e5fcee36580de0732f4fc3d31.

  • Against an untouched snapshot of that master, four CRLF regressions fail and four LF controls pass. All eight pass with this fix.
  • node --test test/language-replies.test.js test/contested-resume.test.js: 62 passed.
  • node scripts/ci-check.mjs test: 545 passed, exit 0.
  • node scripts/ci-check.mjs test:package: fresh pack/install and installed CLI regressions passed, exit 0.
  • git diff --check: passed.
  • Actual Jury on the unchanged final head: exit 0, converged, one round, zero findings, NO NEW FINDINGS in 55.8 seconds. Codex was selected as reviewer and judge; no judge triage was needed. Checkout remained clean.

Exact actual review command:

GIT_AUTHOR_NAME=zzxwill GIT_COMMITTER_NAME=zzxwill node bin/jury.js review --dir /Users/bytedance/Documents/Codex/2026-10-20/task/codejury-crlf-disputes --trunk master --reviewer codex --judge codex --rounds 2 --summary 'Verify the focused CRLF fence fix after integrating merged PR166. JSON reply formats preserve CRLF inside decoded response strings; the old fence matcher treated quoted DISPUTE markers as live and could reopen settled findings or misassign evidence. Strip only the trailing CR for syntax matching while preserving original rebuttal text. Four CRLF regression cases fail on unpatched merged master while four LF controls pass; the fixed tests cover Codex JSON and result JSON with backtick and tilde fences. Preserve the merged mixed-reply and restatement behavior. Keep scope to this fix; no release, credential, security, or unrelated changes.' --web=false --push=false

Limitations

CRLF behavior was reproduced with deterministic local protocol fixtures; the live Jury run reviewed the change but did not itself produce a CRLF reply. Final-head GitHub CI remains required before merge. No publication or release settings changed. The concurrent cache-management PR #167 overlaps only in CHANGELOG.md; its implementation is untouched.

@zzxwill
zzxwill marked this pull request as ready for review October 22, 2026 08:30
@zzxwill
zzxwill merged commit a9651a9 into master Oct 22, 2026
8 checks passed
@zzxwill
zzxwill deleted the fix/crlf-dispute-fences branch October 22, 2026 08:31
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