Skip to content

fix: [#1439] 근호 안 분수가 묶음 괄호 없이 나가 분모 근호와 같은 점형이 되던 문제 수정 - #1441

Merged
Arminus42 merged 1 commit into
developfrom
fix/1439-sqrt-fraction-wrap
Oct 16, 2026
Merged

Arminus42 merged 1 commit into
developfrom
fix/1439-sqrt-fraction-wrap

Conversation

@Arminus42

Copy link
Copy Markdown
Contributor

자의 성질: 수식 축 요소 이진 86.3 → 86.4(요소 1개 통과) = 셀로는 주지표 −4 · dev CER +0.000%p. 요소 이진은 1셀만 틀려도 요소 전체(평균 34셀)를 잃는 자라 두 수를 나란히 적는다. 이 PR 은 크기가 아니라 뜻이 바뀌는 결함이라 먼저 했다.

무엇이 틀렸나

근호 안이 분수일 때 묶음 괄호 ⠷⠾ 를 안 넣었다. 점자 분수는 분모를 먼저 적으므로, 묶지 않으면 근호가 분모에만 걸려 다른 수식으로 읽힌다.

묵자 종전 읽히는 뜻 고친 뒤 · 2027 gold
−√(5/4) 9>#d/#e −5/√4 9>(#d/#e) (수학Ⅰ 해설 19쪽)
√((25/9)t²) >#i/#bet^#b 25t²/√9 >(#i/#bet^#b) (수학Ⅰ 본문 39쪽)
√(1/2) >#b/#a 1/√2(\frac{1}{\sqrt{2}} 와 같은 점형) >(#b/#a)

규정

「한국 점자 규정」 수학 점자 제22항 [붙임 2](재추출 3615행): "근호 안이 분수, 곱, 다항식 등일 때에는 묶음 괄호로 묶어 나타낸다."

원인과 고침

app/ai/braille/kor_math_rules.py 의 근호 단계(2c, _stage2c_sqrt)는 분수 단계(2) 뒤에 돈다. 근호 안 원문의 분수는 이미 점형(⠼⠃⠌⠼⠁)이라, 공용 판정 _needs_wrap 의 분수 검사(\frac · /)가 못 봤다. n제곱근(0b, 원문 LaTeX)과 지수 · 아래첨자(_needs_wrap_out, 점형 분수표도 봄)는 이미 묶고 있었다.

_needs_wrap 의 분수 검사에 최상위 점형 분수표 ⠌ 를 더했다(한 줄). 괄호 · 묶음 · 첨자 속 분수(√(x^(1/2)) · √((1/2)²))는 최상위가 아니라서 안 묶는다.

엔진 변경 네 항목

  1. 틀린 것: 위 '무엇이 틀렸나'.
  2. 규정 조항과 행: 제22항 [붙임 2] 재추출 3615행.
  3. 엔진 밖으로 풀 길: 없다. 점형을 정하는 곳이 묶음 판정 하나뿐이고, 추출 LaTeX(\sqrt{\frac{5}{4}})는 맞게 들어온다.
  4. 가이드 · 태깅 목록표 · proto 변화: 없다.

확인

A/B: 바탕 J(40977f2, develop ba94d97 와 dev · val 요소 바이트 같음) · 고침 K(8d3c405) · 자 91c70dc4 · 캡션 ro · LLM 끔 · 경계 재파생.

Δ셀 바뀐 쪽
dev 900쪽 −4 2(해설 19 · 본문 39, 예측과 같음)
val 846쪽 0(결과 바이트 같음) 0
val005 624쪽 0(결과 바이트 같음) 0
  • 수식 축(요소 이진) 86.3% → 86.4%(새로 통과 1 · 새로 탈락 0). 셀로는 주지표 −4 다.

  • 게이트 텍스트 축(단일정답) 94.20% 그대로(편집 −4). 특수기호 · 레이아웃 · 표 축은 같다.

  • 바뀐 줄은 두 쪽의 묶음 괄호뿐이고 줄 수도 같다. 해설 19쪽은 gold 와 셀까지 같아졌다.

  • 수학 II 묵자 162쪽 발화: 4요소(본문 51쪽 −√(a/6) 네 자리)가 >#f/a 에서 >(#f/a) 로 바뀐다. 묵자를 렌더해 근호가 a/6 전체에 걸린 것을 확인했다. 종전 점형은 a/√6 으로 읽힌다.

  • 시험: test/unit_test/formula/test_sqrt_product_wrap.py 에 10건(근호 안 분수 묶음 · 지수 속 분수와 괄호 거듭제곱은 안 묶음 · gold 2쪽 셀 대조 · √(1/2) 와 1/√2 점형이 다름). 머리말의 조항 번호(제14항 → 제22항)도 바로잡았다.

  • 게이트: quick-test 대상 5,252 통과 · xfailed 6, C5 83 · test_step3_e2e.py 47 통과. 망가뜨리기 둘(분수표 검사 뺌 · 최상위 대신 전체에서 찾기)을 시험이 모두 잡았다.

Closes #1439

🤖 Generated with Claude Code

근호 단계(2c)는 분수(2단계) 뒤에 돌아 근호 안 분수가 이미 점형
(⠼⠃⠌⠼⠁)이다. 공용 판정 _needs_wrap 의 분수 검사는 \frac · / 만 봐서
근호 안 분수를 못 묶었다. 점자 분수는 분모를 먼저 적으므로 √(1/2) 가
>#b/#a 로 나가 1/√2 와 같은 점형이 됐다(다른 수식으로 읽힌다).

제22항 [붙임 2](재추출 3615행) "근호 안이 분수, 곱, 다항식 등일
때에는 묶음 괄호로 묶어 나타낸다"대로 최상위 분수표 ⠌ 도 분수로 본다.
2027 수학Ⅰ gold 해설 19쪽 >(#d/#e) · 본문 39쪽 >(#i/#bet^#b) 와 같아진다.

시험 머리말의 조항 번호(제14항 → 제22항)도 바로잡았다.

Refs #1439

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Arminus42 Arminus42 added the type: fix 버그 수정 label Oct 16, 2026
@Arminus42
Arminus42 merged commit 5582def into develop Oct 16, 2026
4 of 8 checks passed
@Arminus42
Arminus42 deleted the fix/1439-sqrt-fraction-wrap branch October 16, 2026 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix 버그 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant