Skip to content

모델 JSON의 어긋난 닫는 괄호 한 번 바로잡기 (ADR-0068) - #120

Merged
SonAIengine merged 1 commit into
mainfrom
feat/json-closer-repair-v2
Oct 27, 2026
Merged

SonAIengine merged 1 commit into
mainfrom
feat/json-closer-repair-v2

Conversation

@SonAIengine

Copy link
Copy Markdown
Contributor

요약

  • provider가 응답 JSON 파싱에 실패하면 문자열 밖 닫는 괄호의 짝을 맞춰 빠진 닫는 괄호만 넣고, 같은 엄격한 parser·크기·깊이 제한으로 다시 파싱한다.
  • 잘린 출력, 짝 없는/남는 닫는 괄호는 고치지 않는다(기존 오류 그대로).
  • 변경 분류: 범용. protocol·journal 변경 없음.

근거

  • deepseek flash 응답 2,205개 중 파싱 실패 53개, 전부 중첩 arguments에서 } 누락. 기록 재현으로 48개 복구(T3 46/51, held-out T2 2/2).
  • 실행: T3 2회 응답 90개 중 어긋남 4개 모두 복구, planner_invalid_response 0회. T2 2회 hidden test 통과.

테스트

  • cargo test --workspace 743개 통과, clippy·fmt clean

🤖 Generated with Claude Code

deepseek flash 응답 2,205개 중 53개가 파싱 실패였고 모두 다섯 겹 중첩 arguments를 닫다 '}' 하나를
빠뜨린 모양이었다(T3 51/857, T2 2/34). 파싱이 실패하면 문자열 밖 닫는 괄호의 짝을 맞춰 빠진 닫는
괄호만 넣고, 같은 엄격한 parser·크기·깊이 제한을 다시 통과할 때만 받는다. 잘린 출력, 짝 없는
닫는 괄호는 고치지 않는다.

- 기록 재현: 53개 중 48개 복구(T3 46/51, held-out T2 2/2)
- 실행: T3 2회 응답 90개 중 어긋남 4개 모두 복구, planner_invalid_response 0회
- 테스트 743개 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SonAIengine
SonAIengine merged commit 33ee3bb into main Oct 27, 2026
3 checks passed
@SonAIengine
SonAIengine deleted the feat/json-closer-repair-v2 branch October 27, 2026 01:23
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