knowledge(M01): 본문 대조 오탐 둘 정리 — 1-2-4 미올림 뒷항 제외 · 칸 안 줄바뀜 수 이어 읽기

- CC000337 결손 18 = 1-2-4 5·6항 표 미올림 · CC000074 결손 51 = 원문 규격 5,150 줄바뀜 · 본문 대조 0건

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
2026-09-22 01:14:30 +09:00
co-authored by Claude Sonnet 5
parent db76fa1878
commit d3f48bce11
2 changed files with 14 additions and 0 deletions
@@ -29,3 +29,8 @@
| 로직 합 | 1,354 | 같음 |
| 조합 | 0 | — |
| 요율 · 환율 | 19 · 5 | — |
## 고친 뒤 (일감 26)
- 본문 대조 0건 — 도구가 잘못 읽은 것 둘: ① CC000337 은 1-2-4 의 5항(발생재 공제율)·6항(강관배관 부자재율) 표가 아직 마스터에 없어 뜬 것(3항 표 47줄은 원문과 같음) → 검사가 5항 앞까지만 대조 ② CC000074 는 원문 규격 칸 「5,1<br>50」(PDF 줄바뀜 · 5,150)을 51 로 읽은 것 → 칸 안에서 줄바뀐 천 단위 수는 이어 붙여 읽음.
- CC000337 은 2026-09-21 08:26(8f5566e7)에 새로 생김 — 그 절에 표가 처음 생겨 대조 대상이 된 것 · CC000074 표는 밤 사이 안 바뀜(마지막 수정 09-20).
@@ -484,6 +484,8 @@ def _canon(token: str) -> str:
def numbers_in(text: str) -> set[str]:
# 칸 안에서 줄바뀐 천 단위 수(「5,1<br>50」)는 이어 붙임
text = re.sub(r"(?<=\d,\d)<br>(?=\d{2})", "", text)
return {_canon(t) for _, line in md_lines(text) for t in _NUM.findall(line)}
@@ -499,6 +501,10 @@ def _flat(value) -> set[str]:
return set()
# 절 안에서 아직 표로 안 올린 뒷항의 머리 — 그 앞까지만 결손 대조(1-2-4 5항 발생재 공제율 · 6항 강관배관 부자재율)
UNBUILT = {"1-2-4": "5\\. 발생재의 처리"}
def check_body(files: dict[str, dict]) -> list[str]:
"""표마다 허구 · 절마다 결손."""
out, by_section = [], {}
@@ -530,6 +536,9 @@ def check_body(files: dict[str, dict]) -> list[str]:
if md2 == md and ident2.startswith(ident + "-"):
mine = mine | mine2
tables = tables + tables2
cut = UNBUILT.get(ident)
if cut and cut in text:
text = text[: text.index(cut)] # 표로 안 올린 뒷항은 결손 대조에서 뺌
table_text = "\n".join(line for line in text.split("\n") if line.lstrip().startswith("|"))
lack = numbers_in(table_text) - mine
if lack: