diff --git a/resources/master_data/ref/_마감_수치.md b/resources/master_data/ref/_마감_수치.md
index 09531a42..97e6e6ae 100644
--- a/resources/master_data/ref/_마감_수치.md
+++ b/resources/master_data/ref/_마감_수치.md
@@ -29,3 +29,8 @@
| 로직 합 | 1,354 | 같음 |
| 조합 | 0 | — |
| 요율 · 환율 | 19 · 5 | — |
+
+## 고친 뒤 (일감 26)
+
+- 본문 대조 0건 — 도구가 잘못 읽은 것 둘: ① CC000337 은 1-2-4 의 5항(발생재 공제율)·6항(강관배관 부자재율) 표가 아직 마스터에 없어 뜬 것(3항 표 47줄은 원문과 같음) → 검사가 5항 앞까지만 대조 ② CC000074 는 원문 규격 칸 「5,1
50」(PDF 줄바뀜 · 5,150)을 51 로 읽은 것 → 칸 안에서 줄바뀐 천 단위 수는 이어 붙여 읽음.
+- CC000337 은 2026-09-21 08:26(8f5566e7)에 새로 생김 — 그 절에 표가 처음 생겨 대조 대상이 된 것 · CC000074 표는 밤 사이 안 바뀜(마지막 수정 09-20).
diff --git a/resources/master_data/scripts/check_master.py b/resources/master_data/scripts/check_master.py
index 8745073b..097e0b64 100644
--- a/resources/master_data/scripts/check_master.py
+++ b/resources/master_data/scripts/check_master.py
@@ -484,6 +484,8 @@ def _canon(token: str) -> str:
def numbers_in(text: str) -> set[str]:
+ # 칸 안에서 줄바뀐 천 단위 수(「5,1
50」)는 이어 붙임
+ text = re.sub(r"(?<=\d,\d)
(?=\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: