feat(tester): 규격 맞대기를 559 줄로 넓혀 「다른 줄 0」 확인 · 공종 마스터 어긋남 23 도 세 갈래로 가름

**① 규격 맞대기 넓힘 — 437 → 559 줄** (손료 줄 608 중)
  · 한 코드 줄은 규격 안에 빈칸이 들어도 칸을 통째로 씀(`2,200×5,150 ×1,000` 따위)
  · **원문과 다른 줄 0** — 559 줄이 원문과 글자까지 같음
  ·  **남은 일곱은 자료가 원문 빈칸을 채운 자리** — 원문 손료표가 한 칸에 든 기종 이름을
    여러 줄로 쪼개 적어(「수동 싱글드럼」 → 수동·싱글·드럼) 뒷줄이 비었고, 자료는 앞 줄에서
    이어받아 「싱글」·「드럼」·「엔진」 **조각**을 규격에 담고 있음. 수·계수는 원문과 같음.
    ⇒ 랩탑 서브에 PDF 대조 남김(7430·7431 윈치 · 7811·7812 엔진 · 9030 예선)

**② 공종 마스터 어긋남 23 → 22 · 세 갈래로 가름**
  · **남의 몫 17** — [주] 이어짐 읽기 14 + md 밑수 읽기 2(랩탑 메인) + F0333 PDF 대조 1(랩탑 서브)
  · **잣대 5** — 부록 14-2 표 셋(부록을 공종에서 가르는 잣대 없음) · F0076(분모 둘) · F0405(할증률 갈래 없음) — 다 ㉰
  · **원문 부재 0** — ⚠ 이 장부는 어긋남만 담음. 「원문에 밑수가 없는 것」 71 건은 `basis_missing` 에 따로 있음
  · F0406〈돌쌓기의 개수 및 중량의 표준〉은 거절 자리로 닫아 할 일 아님 칸으로(32 → 33)
  · 기초데이터 한 줄(이형철근 6~7 범위)도 「잣대」로 가름

⚠ 갈래 낱말이 두 벌임 — **어긋남 칸**은 「무엇이 막고 있나」(원문 부재·잣대·남의 몫) ·
**할 일 아님 칸**은 「왜 할 일이 아닌가」(거절 자리·그 밖·부록 예시·원문 부재). 장부에 곁줄로 적어 둠.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
This commit is contained in:
2026-09-18 14:24:02 +09:00
co-authored by Claude Opus 5
parent 16883b1941
commit c0b22442b0
5 changed files with 178 additions and 81 deletions
@@ -19,7 +19,8 @@
], ],
"why": "원문 복잡 구조물 주철근 「6-7」 범위 중 위 끝 7 을 씀 — 범위를 살릴지 사람 확인", "why": "원문 복잡 구조물 주철근 「6-7」 범위 중 위 끝 7 을 씀 — 범위를 살릴지 사람 확인",
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "원문이 범위 「6~7」 — 위 끝 7 을 쓸지 사람 확인(범위는 자료에 실어 둠)" "class_why": "원문이 범위 「6~7」 로 적어 두었는데 자료는 위 끝 7 하나만 씀 — **범위를 담는 잣대가 없음**(범위 자체는 자료에 실어 둠). 위 끝을 쓸지 범위를 살릴지 정해야 닫힘.",
"갈래": "잣대"
} }
}, },
"formwork_reuse": {}, "formwork_reuse": {},
@@ -33,10 +34,9 @@
"_갈래": { "_갈래": {
"센 날": "2026-09-18", "센 날": "2026-09-18",
"셈": { "셈": {
"㉮ 영영 할 일 아님": 2, "잣대 / ㉰": 1
"㉯ 남이 고쳐야 풀림": 0, },
"㉰ 사용자 판단 필요": 4 "잣대": "세 갈래 — **원문 부재** 원문에 없음 · **잣대** 우리 잣대가 못 담음 · **남의 몫** 남이 원문·도구를 고쳐야 풀림. 누가 하나는 class(㉮·㉯·㉰)."
}
}, },
"_할일_아님": { "_할일_아님": {
"잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없음 · 거절 자리 · 판정으로 닫힘. 바퀴마다 다시 세어지지 않게 갈래에서 **아주 빼** 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.", "잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없음 · 거절 자리 · 판정으로 닫힘. 바퀴마다 다시 세어지지 않게 갈래에서 **아주 빼** 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.",
@@ -203,6 +203,69 @@
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄을 앞 표에 이어 붙일 것(`제8장_건설기계.md` 3617줄 자리).", "owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄을 앞 표에 이어 붙일 것(`제8장_건설기계.md` 3617줄 자리).",
"갈래": "잣대 못 알아봄", "갈래": "잣대 못 알아봄",
"class_why": "값은 md 에 있으나 `|---|` 머리가 없어 표로 잡히지 않음 — 앞 표에 이어 붙이면 추출기·시험이 저절로 읽음." "class_why": "값은 md 에 있으나 `|---|` 머리가 없어 표로 잡히지 않음 — 앞 표에 이어 붙이면 추출기·시험이 저절로 읽음."
},
"규격 빈칸 7430-1300": {
"what": "싱글",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 7430-1500": {
"what": "드럼",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 7430-2500": {
"what": "드럼",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 7431-1300": {
"what": "드럼",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 7811-0030": {
"what": "엔진",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 7812-0007": {
"what": "엔진",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
},
"규격 빈칸 9030-0240": {
"what": "150ton",
"why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"class": "㉯ 남이 고쳐야 풀림",
"class_why": "원문 손료표가 **한 칸에 든 기종 이름을 여러 줄로 쪼개 적은** 자리 — `(7430) 윈치` 는 「수동 싱글드럼」 이 수동·싱글·드럼 세 줄로 갈렸고 뒷줄은 칸이 비었음. 자료는 그 빈칸을 **앞 줄에서 이어받아** 채워 「싱글」·「드럼」·「엔진」 같은 **조각**이 규격으로 들어가 있음. 값(수·계수)은 원문과 같고 **이름 조각만** 어긋남.",
"갈래": "잣대 못 알아봄",
"owner": "랩탑 서브",
"owner_ask": "제8장 8-3 (7430)·(7431) 윈치 · (7811)·(7812) 엔진 · (9030) 예선 표 — PDF 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
} }
}, },
"material_blind": { "material_blind": {
@@ -27,21 +27,24 @@
"md": "부록 표", "md": "부록 표",
"master": "공종에 붙음", "master": "공종에 붙음",
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "부록 14-2 가 공종에 붙음 — 떼어 낼지 승인 대기(같은 식구 넷을 앞서 찾음)" "class_why": "원문 14-2 는 **부록 표**인데 마스터가 공종에 붙음 — 부록을 공종에서 가르는 잣대가 아직 없음. 떼어 낼지 승인 대기(같은 식구 넷).",
"갈래": "잣대"
}, },
"F0453": { "F0453": {
"section": "14-2", "section": "14-2",
"md": "부록 표", "md": "부록 표",
"master": "공종에 붙음", "master": "공종에 붙음",
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "위와 같음" "class_why": "위와 한 자리.",
"갈래": "잣대"
}, },
"F0454": { "F0454": {
"section": "14-2", "section": "14-2",
"md": "부록 표", "md": "부록 표",
"master": "공종에 붙음", "master": "공종에 붙음",
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "위와 같음" "class_why": "위와 한 자리.",
"갈래": "잣대"
} }
}, },
"basis": { "basis": {
@@ -54,7 +57,8 @@
"km" "km"
], ],
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "⚠ 마스터 「1km」는 반쪽 — 원문은 「인/1일 1km당」으로 분모가 둘(일·km)" "class_why": "원문은 「인/1일 1km당」으로 **분모가 둘**(일·km)인데 마스터는 「1km」만 담음 — 분모 둘을 담는 잣대가 없어 반쪽임. 어느 쪽으로 세울지 판정 대기.",
"갈래": "잣대"
}, },
"F0322": { "F0322": {
"section": "10-13-1", "section": "10-13-1",
@@ -67,7 +71,8 @@
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "위와 같음(원문 「묘목 1,000본당」)", "class_why": "위와 같음(원문 「묘목 1,000본당」)",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)",
"갈래": "남의 몫"
}, },
"F0323": { "F0323": {
"section": "10-13-2", "section": "10-13-2",
@@ -80,7 +85,8 @@
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "위와 같음", "class_why": "위와 같음",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)",
"갈래": "남의 몫"
} }
}, },
"notes": { "notes": {
@@ -91,10 +97,11 @@
"- 3. 박피품은 별도 적용하여야 한다. 다만 작업조건에 따라 1일 작업량은 변동 적용한다." "- 3. 박피품은 별도 적용하여야 한다. 다만 작업조건에 따라 1일 작업량은 변동 적용한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0104": { "F0104": {
"section": "5-3-4", "section": "5-3-4",
@@ -109,10 +116,11 @@
"- ⑦ 굴착기 규격은 0.4㎥를 기준으로 한다." "- ⑦ 굴착기 규격은 0.4㎥를 기준으로 한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0106": { "F0106": {
"section": "5-3-5", "section": "5-3-5",
@@ -128,10 +136,11 @@
"- ⑧ 장비 규격은 다음을 기준으로 한다." "- ⑧ 장비 규격은 다음을 기준으로 한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0189": { "F0189": {
"section": "7-11", "section": "7-11",
@@ -143,10 +152,11 @@
"- ④ 할인․할증은 경사도(1-4-5), 주행 장애물 상태(1-4-13)를 반영한다." "- ④ 할인․할증은 경사도(1-4-5), 주행 장애물 상태(1-4-13)를 반영한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0223": { "F0223": {
"section": "8-4", "section": "8-4",
@@ -156,10 +166,11 @@
"- ④ 할인․할증은 경사도(1-4-5), 방제 대상목 분포(1-4-17)를 반영한다." "- ④ 할인․할증은 경사도(1-4-5), 방제 대상목 분포(1-4-17)를 반영한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0251": { "F0251": {
"section": "9-8-1", "section": "9-8-1",
@@ -171,10 +182,11 @@
"[주] 「건설공사 표준품셈 공통부문, 8-2-13 대형브레이커(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-3 철골재 철거(인력)(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-4 철골재 철거(기계)(2025)」, 「건설공사 표준품셈 공통부문, 1-2-3 토질, 3. 체적환산계수적용(2025)」, 「국토건설 설계실무요령, 수량산출요령(2021)」 참조한다" "[주] 「건설공사 표준품셈 공통부문, 8-2-13 대형브레이커(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-3 철골재 철거(인력)(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-4 철골재 철거(기계)(2025)」, 「건설공사 표준품셈 공통부문, 1-2-3 토질, 3. 체적환산계수적용(2025)」, 「국토건설 설계실무요령, 수량산출요령(2021)」 참조한다"
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0281": { "F0281": {
"section": "9-15-1", "section": "9-15-1",
@@ -183,10 +195,11 @@
"- ③ 「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」 참조한다. (불도저작업이 어려운 경우)" "- ③ 「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」 참조한다. (불도저작업이 어려운 경우)"
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0282": { "F0282": {
"section": "9-15-2", "section": "9-15-2",
@@ -195,10 +208,11 @@
"- ③ 「건설공사 표준품셈 공통부문, 8-2-1 불도저(2025)」 참조(표토제거 두께 T=0.2m)" "- ③ 「건설공사 표준품셈 공통부문, 8-2-1 불도저(2025)」 참조(표토제거 두께 T=0.2m)"
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0285": { "F0285": {
"section": "9-16-3", "section": "9-16-3",
@@ -207,10 +221,11 @@
"- ④ 토목은 동상방지층, 보조기층, 기층 등 층별 조건이나 본선, 길어깨 등에 따라 임도에는 대형장비(5,500ℓ)를 사용한다." "- ④ 토목은 동상방지층, 보조기층, 기층 등 층별 조건이나 본선, 길어깨 등에 따라 임도에는 대형장비(5,500ℓ)를 사용한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0286": { "F0286": {
"section": "9-17-2", "section": "9-17-2",
@@ -220,10 +235,11 @@
"- ④ 「건설공사 표준품셈 공통부문 8-2-1 불도저(2025)」 참조한다." "- ④ 「건설공사 표준품셈 공통부문 8-2-1 불도저(2025)」 참조한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0295": { "F0295": {
"section": "9-22", "section": "9-22",
@@ -232,10 +248,11 @@
"- ④ 0.2㎥ 또는 0.4㎥ 용량의 굴착기를 사용하는 경우에는「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」를 참조하여 적용계수를 달리 적용하도록 한다." "- ④ 0.2㎥ 또는 0.4㎥ 용량의 굴착기를 사용하는 경우에는「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」를 참조하여 적용계수를 달리 적용하도록 한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0319": { "F0319": {
"section": "10-11", "section": "10-11",
@@ -244,10 +261,11 @@
"- ③ 「건설공사 표준품셈 공통부문. 8-2-1 불도저(2025)」 참조한다." "- ③ 「건설공사 표준품셈 공통부문. 8-2-1 불도저(2025)」 참조한다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0323": { "F0323": {
"section": "10-13-2", "section": "10-13-2",
@@ -256,10 +274,11 @@
"[주] 위 단가산출은 일본 임야청에서 묘목 5,000본의 운반을 가정하여 현장 검증을 통해 산출한 내용이므로, 묘목 이외의 다른 화물을 운반할 시에는 달라질 수 있다." "[주] 위 단가산출은 일본 임야청에서 묘목 5,000본의 운반을 가정하여 현장 검증을 통해 산출한 내용이므로, 묘목 이외의 다른 화물을 운반할 시에는 달라질 수 있다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
"갈래": "남의 몫"
}, },
"F0393": { "F0393": {
"section": "12-38-2", "section": "12-38-2",
@@ -269,67 +288,58 @@
"- ② 플랫 타이(Flat Tie) 대신 폼 타이(Form Tie) 사용 시 소요 수량은 12-4 합판 거푸집 자재수량을 따른다." "- ② 플랫 타이(Flat Tie) 대신 폼 타이(Form Tie) 사용 시 소요 수량은 12-4 합판 거푸집 자재수량을 따른다."
], ],
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", "class_why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸 — 읽기가 「- 숫자.」 줄에서 끊기는 탓. 잘라내면 진짜 계수가 나갈 수 있어 **붙여 둔 쪽**을 지킴(2026-09-18 브레인 「애매하면 안 깎는 쪽」).",
"owner": "랩탑 메인", "owner": "랩탑 메인",
"owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)", "owner_ask": "대조 시험의 **[주] 이어짐 읽기**(`_NOTE_CONT`)를 넓혀 줄 것 — 「- 숫자.」 로 시작하는 [주] 안쪽 줄을 이어짐으로 볼 것. 지금은 거기서 끊겨 마스터가 **뒤 표의 [주]**까지 끌어다 붙인 것으로 뜸. ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목.",
"why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)" "why": "마스터가 **뒤 표의 [주]**까지 끌어다 붙임 — 잘라내면 진짜 계수가 나갈 수 있어 붙여 둔 쪽(2026-09-18 브레인 「애매하면 안 깎는 쪽」)",
} "갈래": "남의 몫"
},
"form": {
"F0406": {
"section": "13-4-1",
"master": "reference",
"md_mark": "개",
"why": "〈돌쌓기의 개수 및 중량의 표준〉 — 개수·중량 기준표라 사람이 참고로 판정함([주] 인력 돌쌓기·돌붙임 기준). md 쪽은 단위 칸 「개」만 보고 품 표로 읽음",
"class": "㉮ 영영 할 일 아님",
"class_why": "기준표 — 품이 아님",
"갈래": "거절 자리"
} }
}, },
"form": {},
"form_blind": { "form_blind": {
"F0333": { "F0333": {
"section": "12-1-3", "section": "12-1-3",
"master": "requirement", "master": "requirement",
"why": "⚠ 원문 md 의심 — 머리는 한중콘크리트 「온도 품종 | 0℃때 …」인데 몸 줄이 앞 표 F0332(시멘트·모래·자갈 kg)와 똑같음 · PDF 대조 필요", "why": "⚠ 원문 md 의심 — 머리는 한중콘크리트 「온도 품종 | 0℃때 …」인데 몸 줄이 앞 표 F0332(시멘트·모래·자갈 kg)와 똑같음 · PDF 대조 필요",
"class": "㉯ 남이 고쳐야 풀림", "class": "㉯ 남이 고쳐야 풀림",
"class_why": "⚠ 원문 md 의심 — 몸 줄이 앞 표와 똑같음 · 코덱스 PDF 대조", "class_why": "⚠ **원문 md 자체가 의심**머리는 한중콘크리트 「온도 품종 | 0℃때 …」인데 몸 줄이 앞 표 F0332(시멘트·모래·자갈 kg)와 똑같음. PDF 대조로 어느 쪽이 맞는지 짚어야 풀림.",
"owner": "랩탑 서브", "owner": "랩탑 서브",
"owner_ask": "PDF ↔ md 대조 — 이 표의 **몸 줄이 앞 표와 똑같음**. PDF 로 어느 쪽이 맞는지 짚어 줄 것" "owner_ask": "PDF ↔ md 대조 — 이 표의 **몸 줄이 앞 표와 똑같음**. PDF 로 어느 쪽이 맞는지 짚어 줄 것",
"갈래": "남의 몫"
}, },
"F0405": { "F0405": {
"section": "13-4-1", "section": "13-4-1",
"master": "requirement", "master": "requirement",
"why": "증가율(%) 표(높이별 30·40·60%) — 품이 아니라 할증률 모양 · requirement 가 맞는지 사람 확인", "why": "증가율(%) 표(높이별 30·40·60%) — 품이 아니라 할증률 모양 · requirement 가 맞는지 사람 확인",
"class": "㉰ 사용자 판단 필요", "class": "㉰ 사용자 판단 필요",
"class_why": "증가율(%) 표 — requirement 가 맞는지 사람 확인" "class_why": "높이별 증가율(30·40·60%) 표 — **품이 아니라 할증률 모양**인데 우리 잣대엔 그 갈래가 없어 requirement 로 둠. 성격을 정해야 닫힘.",
"갈래": "잣대"
} }
}, },
"cost_rule": {}, "cost_rule": {},
"_갈래": { "_갈래": {
"㉯ 주인": {
"랩탑 메인": 22,
"랩탑 서브": 1
},
"센 날": "2026-09-18", "센 날": "2026-09-18",
"잣대": "세 갈래 — **원문 부재**: 원문에 값·글이 없어 채울 것이 없음 · **잣대**: 원문에 있으나 우리 판정·읽기 잣대가 못 가름(우리가 고칠 자리) · **남의 몫**: 원문 md·남의 도구를 남이 고쳐야 풀림. 누가 하나는 class 로 — ㉮ 영영 할 일 아님 · ㉯ 남이 고쳐야 풀림 · ㉰ 사용자·브레인 판단.",
"셈": { "셈": {
"㉮ 영영 할 일 아님": 39, "남의 몫 / ㉯": 17,
"㉯ 남이 고쳐야 풀림": 23, "잣대 / ㉰": 5
"㉰ 사용자 판단 필요": 7
}, },
"잣대": "㉮ 는 집계에서 뺀다 — 영영 할 일이 아닌 것(원문에 없음·거절 자리·판정으로 닫힘). ㉯ 는 남의 몫(코덱스 md 읽기·랩탑 메인 시험). ㉰ 만 사람이 정할 자리다." "곁줄": "이 장부는 **어긋남**만 담음 — 「원문에 밑수가 없는 것」 71 건은 어긋남이 아니라 `basis_missing_2026-01-01.json` 에 사유와 함께 따로 있음. 그래서 여기 「원문 부재」 가 0 이어도 원문 부재 자체가 없다는 뜻은 아님.",
"할 일 아님으로 뺀 줄": 33,
"곁줄2": "⚠ 갈래 낱말이 두 벌임 — **여기(어긋남)**는 「무엇이 막고 있나」(원문 부재·잣대·남의 몫), **`_할일_아님`** 은 「왜 할 일이 아닌가」(거절 자리·그 밖·부록 예시·원문 부재). 섞어 읽지 말 것."
}, },
"_할일_아님": { "_할일_아님": {
"갈래별": { "갈래별": {
"거절 자리": 10, "거절 자리": 11,
"그 밖": 17, "그 밖": 17,
"부록 예시": 1, "부록 예시": 1,
"원문 부재": 4 "원문 부재": 4
}, },
"셈": { "셈": {
"basis": 10, "basis": 9,
"cost_rule": 7,
"form": 7, "form": 7,
"form_blind": 10, "form_blind": 10
"cost_rule": 7
}, },
"옮긴 날": "2026-09-18", "옮긴 날": "2026-09-18",
"잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없음 · 거절 자리 · 판정으로 닫힘. 바퀴마다 다시 세어지지 않게 갈래에서 **아주 빼** 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.", "잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없음 · 거절 자리 · 판정으로 닫힘. 바퀴마다 다시 세어지지 않게 갈래에서 **아주 빼** 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.",
@@ -494,6 +504,15 @@
"class": "㉮ 영영 할 일 아님", "class": "㉮ 영영 할 일 아님",
"class_why": "사람 판정으로 닫힘 — 시험이 md 표지로 가리는 것과 다를 뿐", "class_why": "사람 판정으로 닫힘 — 시험이 md 표지로 가리는 것과 다를 뿐",
"갈래": "부록 예시" "갈래": "부록 예시"
},
"F0406": {
"section": "13-4-1",
"master": "reference",
"md_mark": "개",
"why": "〈돌쌓기의 개수 및 중량의 표준〉 — 개수·중량 기준표라 사람이 참고로 판정함([주] 인력 돌쌓기·돌붙임 기준). md 쪽은 단위 칸 「개」만 보고 품 표로 읽음",
"class": "㉮ 영영 할 일 아님",
"class_why": "〈돌쌓기의 개수 및 중량의 표준〉 — 품 표가 아니라 개수·중량 기준표. md 읽기가 단위 칸 「개」만 보고 품 표로 읽음. 사람 판정으로 닫힘([주] 인력 돌쌓기·돌붙임 기준).",
"갈래": "거절 자리"
} }
}, },
"form_blind": { "form_blind": {
@@ -219,6 +219,7 @@ def read_machine(path: Path) -> dict:
tables = md_tables(lines) tables = md_tables(lines)
at = {w: next(i for i, x in enumerate(lines, 1) if w in x) for w in ("8-3 기계손료", "8-4 운전경비", "8-4-9 [90]", "8-5 기계가격")} # fmt: skip at = {w: next(i for i, x in enumerate(lines, 1) if w in x) for w in ("8-3 기계손료", "8-4 운전경비", "8-4-9 [90]", "8-5 기계가격")} # fmt: skip
out = {k: {} for k in ("price", "loss", "fuel", "fuel_tables", "skipped", "names")} out = {k: {} for k in ("price", "loss", "fuel", "fuel_tables", "skipped", "names")}
out["spec_blank"] = set() # 원문이 규격 칸을 비워 둔 줄 — 자료가 채웠는지는 맞대기에서 봄
out["lines"] = lines out["lines"] = lines
name_at = re.compile(r"\((\d{4})\) ?(.+?)(?=시 간 당\(10-7\)|\((?:'\d\d|\d{4}\))|$)") name_at = re.compile(r"\((\d{4})\) ?(.+?)(?=시 간 당\(10-7\)|\((?:'\d\d|\d{4}\))|$)")
for x in lines[ for x in lines[
@@ -274,9 +275,15 @@ def read_machine(path: Path) -> dict:
# 토막이 코드 수와 안 맞는 줄(`2,200×5,150 ×1,000` 처럼 규격 안에 빈칸이 든 것)은 안 담는다 — # 토막이 코드 수와 안 맞는 줄(`2,200×5,150 ×1,000` 처럼 규격 안에 빈칸이 든 것)은 안 담는다 —
# 맞대기에서 자료 값으로 갈음되므로 지어 채우는 일이 없다. # 맞대기에서 자료 값으로 갈음되므로 지어 채우는 일이 없다.
specs = r[1].split() specs = r[1].split()
if len(codes) == 1 and specs: # 한 코드 줄은 규격 안에 빈칸이 들어도 칸을 통째로 씀
specs = [" ".join(specs)]
if len(specs) == len(codes): if len(specs) == len(codes):
for k, c in enumerate(codes): for k, c in enumerate(codes):
out["loss"][c]["specification"] = specs[k] out["loss"][c]["specification"] = specs[k]
elif len(codes) == 1 and not specs:
# 원문이 그 칸을 **비워 둔** 줄 — 표에서 「위와 같음」으로 읽히는 자리다.
# 자료가 앞 줄 값을 이어받아 채운 줄만 못 보는 자리로 센다(맞대기에서 판다).
out["spec_blank"].add(codes[0])
for k in range(at["8-3 기계손료"], at["8-4 운전경비"]): for k in range(at["8-3 기계손료"], at["8-4 운전경비"]):
# 머리 없는 **이어 표** — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 둔 자리(9020-0022~0200). # 머리 없는 **이어 표** — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 둔 자리(9020-0022~0200).
# `|---|` 가 없어 표로 잡히지 않아 **추출기도 이 읽기도 못 봄** — 원문에 있는 값이 조용히 빠진다. # `|---|` 가 없어 표로 잡히지 않아 **추출기도 이 읽기도 못 봄** — 원문에 있는 값이 조용히 빠진다.
@@ -349,6 +356,12 @@ def check_machine(src: dict, bad: dict, blind: dict) -> dict:
counts[f"{label} 코드 수"] = (len(rows), len(by_code)) counts[f"{label} 코드 수"] = (len(rows), len(by_code))
counts[f"{label} 원문에 없는 자료 줄"] = (0, len(set(by_code) - set(rows) - unread)) counts[f"{label} 원문에 없는 자료 줄"] = (0, len(set(by_code) - set(rows) - unread))
_unchecked(blind, var, records, {"machine_code", "machine_name", *fields}) _unchecked(blind, var, records, {"machine_code", "machine_name", *fields})
# 원문이 규격 칸을 비워 둔 자리에 **자료가 앞 줄 값을 이어받아 채운** 줄 — 원문에 없는 글이라 사람이 볼 자리.
loss_by_code = {r["machine_code"]: r for r in v["mach_loss_coef"]["records"]}
for code in sorted(source.get("spec_blank", ())):
spec = (loss_by_code.get(code) or {}).get("specification")
if spec is not None:
blind[f"규격 빈칸 {code}"] = {"what": spec}
blind.update(source["skipped"]) blind.update(source["skipped"])
tables = v["mach_fuel_rate"]["source_tables"] tables = v["mach_fuel_rate"]["source_tables"]
for n, st in enumerate( for n, st in enumerate(
@@ -394,8 +394,10 @@ def test_할일_아님_칸이_갈려_있다() -> None:
# 2026-09-18 합침 — 34 → 32. 둘이 **풀려서** 빠졌다: F0257(9-11-1 「(단위: 일당)」)은 밑수 읽기를 # 2026-09-18 합침 — 34 → 32. 둘이 **풀려서** 빠졌다: F0257(9-11-1 「(단위: 일당)」)은 밑수 읽기를
# 넓혀(거절 자리 11 → 10), F0325(11-1)는 다른 창이 원문을 고쳐 표지가 맞아떨어져(그 밖 18 → 17). # 넓혀(거절 자리 11 → 10), F0325(11-1)는 다른 창이 원문을 고쳐 표지가 맞아떨어져(그 밖 18 → 17).
# 남은 32 는 그대로 「영영 할 일 아님」이다. # 남은 32 는 그대로 「영영 할 일 아님」이다.
assert total == 32 # 2026-09-18 32 → 33. F0406〈돌쌓기의 개수 및 중량의 표준〉이 들어왔다 — 품 표가 아니라 개수·중량
assert block["갈래별"] == {"거절 자리": 10, "그 밖": 17, "부록 예시": 1, "원문 부재": 4} # 기준표라 사람 판정으로 닫힌 **거절 자리**다(거절 자리 10 → 11).
assert total == 33
assert block["갈래별"] == {"거절 자리": 11, "그 밖": 17, "부록 예시": 1, "원문 부재": 4}
for kind, got in rows.items(): for kind, got in rows.items():
for tid, v in got.items(): for tid, v in got.items():
assert str(v.get("class", "")).startswith(""), f"{kind}/{tid}" assert str(v.get("class", "")).startswith(""), f"{kind}/{tid}"