브레인 B30 원문 규명 — PDF 340쪽 주연료표의 「휘발유1.3」은 **바로 윗줄 7992(모르타르 믹서)** 것이고
양수기 줄은 전력 1.49㎾ 뿐이었음. 옛 추출이 **이웃 줄 값을 물려받은 자리 틀림**이었음
(「원문 부재」가 아니라 **이웃 줄 오귀속**). 7992 쪽 휘발유 1.3 은 이미 갈라 들어가 있음.
· `mach_base_2026.json` 의 양수기 연료 줄을 지우고 다시 뽑음 — 연료 276 → **275**
⚠ 이어받기는 **옛 벌을 보고 되살리므로** 한 번 지워야 영영 안 돌아옴(`이어받음 {'fuel': 1}` → **0**)
· 장부에서 세 줄이 닫힘(연료 7993-0020 · 셈 연료 코드 수 · 셈 연료 원문에 없는 자료 줄)
— `_갈래.닫힌 자리` 에 규명·처리를 남겨 뒀음
· 딸려 빠진 줄 하나 — 「안 잰 칸 mach_fuel_rate.parse_method」(그 칸을 가진 줄이 그것뿐이었음)
⇒ 기초단가 어긋남 17 → **14**(잣대 못 알아봄 7 · 원문 부재 7) · 할 일 아님 34 → 33
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
464 lines
30 KiB
JSON
464 lines
30 KiB
JSON
{
|
||
"_설명": [
|
||
"원문 ↔ 기초단가 다섯 갈래 — 지금 알고 있는 어긋남과 시험이 못 보는 자리(2026-09-18 랩탑 메인이 시험으로 처음 뜸).",
|
||
"시험: resources/tester/test_base_prices_source_match.py — 이 목록 밖에서 어긋나면 빨강 · 목록에 있는데 고쳐졌거나 모습이 바뀌어도 빨강.",
|
||
"고치면 지울 것: python resources/tester/test_base_prices_source_match.py --prune (지우기만 함).",
|
||
"labor·machine·material·oil·rate: source=원문에서 읽은 값 · data=자료 값 · 한쪽이 null 이면 한쪽에만 있음.",
|
||
"`셈 …`: (원문 줄 수, 자료 줄 수) — test_셈이_맞음 이 이 목록과 똑같을 때만 통과.",
|
||
"`… 자료에 없음`: 원문 줄은 읽었는데 자료에 없는 코드를 네 자리 기종별로 묶음.",
|
||
"*_blind: 시험이 못 보는 자리 — what=무엇 · why=까닭. `안 잰 칸 …` 은 자료에 있는데 원문과 안 맞대는 칸(새 칸이 생기면 빨강).",
|
||
"why: 사람이 적은 까닭 — 시험은 맞대기에서 뺌."
|
||
],
|
||
"labor": {},
|
||
"machine": {},
|
||
"material": {},
|
||
"oil": {},
|
||
"rate": {},
|
||
"labor_blind": {},
|
||
"machine_blind": {
|
||
"규격 빈칸 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 에서 「기종」 칸이 한 칸에 어떻게 적혀 있는지 짚어 줄 것(「수동 싱글드럼」 처럼 한 칸인지, 줄마다 다른 이름인지). 그것이 갈리면 자료의 이어받기가 맞는지 곧 판가름남."
|
||
},
|
||
"운전사 기종별 판단": {
|
||
"what": 121,
|
||
"why": "기종→운전사 구분(explicit_mappings)은 사람 판단 — 원문 8-1-3 5호는 기종 이름 글만 있음",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "원문 8-1-3 5호는 기종 이름 글만 두고 운전사 구분을 안 적음 — 기종→운전사 짝(`explicit_mappings`)은 사람이 정한 것. 원문에 견줄 것이 없음."
|
||
}
|
||
},
|
||
"material_blind": {
|
||
"같은 때 공시 20696249": {
|
||
"what": 2,
|
||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "같은 공시 일시에 값 실린 공시가 둘인데 **원천이 어느 것을 정본으로 보는지 안 알려 줌** — 자료는 그중 하나와 같음. 어느 것을 취할지 정해야 닫힘."
|
||
},
|
||
"같은 때 공시 20696250": {
|
||
"what": 2,
|
||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 한 자리."
|
||
},
|
||
"원천 없는 묶음": {
|
||
"what": [
|
||
"reinforcing_steel",
|
||
"ready_mixed_concrete",
|
||
"asphalt_concrete"
|
||
],
|
||
"why": "철근·레미콘·아스콘은 종합쇼핑몰 원천이 저장소에 없음 — 값 못 봄",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "철근·레미콘·아스콘은 종합쇼핑몰 원천이 저장소에 없어 값을 볼 수 없음 — 원천을 들여올지 정해야 닫힘."
|
||
}
|
||
},
|
||
"oil_blind": {},
|
||
"rate_blind": {
|
||
"안 잰 칸 rate_environment.forest_road_selection_status": {
|
||
"what": "pending",
|
||
"why": "임도 공종 선택 미결 표시 — 사용자 협의 몫",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "임도 공종 선택 미결 표시 — 사용자 협의로 닫을 자리."
|
||
},
|
||
"안 잰 칸 rate_environment.minimum_estimated_amount_krw": {
|
||
"what": 100000000,
|
||
"why": "xlsx 환경보전비 칸에 1억 기준이 없음(1억은 퇴직공제부금 칸) — 근거 원문이 sources 에 없어 못 봄",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "xlsx 환경보전비 칸에 1억 기준이 없음(1억은 퇴직공제부금 칸) — 근거 원문이 `sources` 에 없어 볼 수 없음. 근거를 들여올지 정해야 닫힘."
|
||
},
|
||
"안 잰 칸 rate_performance_guarantee_fee.typical_forest_road_applicability": {
|
||
"what": "not_applicable",
|
||
"why": "임도 적용 판단 — 원문 칸 아님",
|
||
"class": "㉰ 사용자·브레인 판단",
|
||
"갈래": "원문 부재",
|
||
"class_why": "임도에 적용되는지 판단 — 원문 칸이 아님."
|
||
}
|
||
},
|
||
"_할일_아님": {
|
||
"갈래별": {
|
||
"낳은 값": 1,
|
||
"메모": 1,
|
||
"요약 이름": 2,
|
||
"원문 부재": 25,
|
||
"자리 표시": 2,
|
||
"프로그램 이름": 2
|
||
},
|
||
"셈": {
|
||
"labor_blind": 5,
|
||
"machine_blind": 8,
|
||
"material_blind": 2,
|
||
"oil_blind": 7,
|
||
"rate_blind": 11
|
||
},
|
||
"옮긴 날": "2026-09-18",
|
||
"잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없는 말(프로그램 이름·사람 메모·살림살이) · 이미 다른 자리에서 맞대는 것. 바퀴마다 다시 세어지지 않게 갈래에서 아주 빼 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.",
|
||
"줄": {
|
||
"machine_blind": {
|
||
"안 잰 칸 mach_loss_coef.note": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "사람이 적은 메모 — 2026-09-18 5202·5203 칸 밀림을 바로잡은 사유다. 원문에 없는 글이라 맞댈 것이 없다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "사람이 적은 메모 — 2026-09-18 5202·5203 칸 밀림을 바로잡은 사유다. 원문에 없는 글이라 맞댈 것이 없다.",
|
||
"갈래": "메모"
|
||
},
|
||
"안 잰 칸 mach_loss_coef.loss_coefficient_per_hour": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "자료가 낳은 값 — 「계」 계수(10-7)를 10,000,000 으로 나눈 것이다. 낳은 밑값인 계수 넷은 이미 줄마다 맞대고 있어 여기서 또 맞대면 같은 것을 두 번 세는 셈이다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "자료가 낳은 값 — 「계」 계수(10-7)를 10,000,000 으로 나눈 것이다. 낳은 밑값인 계수 넷은 이미 줄마다 맞대고 있어 여기서 또 맞대면 같은 것을 두 번 세는 셈이다.",
|
||
"갈래": "낳은 값"
|
||
},
|
||
"안 잰 칸 mach_fuel_rate.source_tables.section": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "표를 가리키는 이름표일 뿐 — 8-4 표의 머리와 줄은 이미 **표째 통째로** 맞대고 있다(`운전경비 원표 N번째`).",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "표를 가리키는 이름표일 뿐 — 8-4 표의 머리와 줄은 이미 **표째 통째로** 맞대고 있다(`운전경비 원표 N번째`).",
|
||
"갈래": "자리 표시"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.alias": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 안에서 쓰는 이름(`labor_op_const`) — 원문 낱말이 아니다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "프로그램 안에서 쓰는 이름(`labor_op_const`) — 원문 낱말이 아니다.",
|
||
"갈래": "프로그램 이름"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.rule_id": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 안에서 쓰는 규칙 이름(`construction_machine_operator`) — 원문 낱말이 아니다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "프로그램 안에서 쓰는 규칙 이름(`construction_machine_operator`) — 원문 낱말이 아니다.",
|
||
"갈래": "프로그램 이름"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.source_section": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "어느 절에서 왔나 적어 둔 자리 표시(`8-1-3/5`) — 값이 아니다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "어느 절에서 왔나 적어 둔 자리 표시(`8-1-3/5`) — 값이 아니다.",
|
||
"갈래": "자리 표시"
|
||
},
|
||
"안 잰 칸 mach_rock_adj.rules.exception": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "원문 조건 글을 영어 이름으로 줄여 적은 것(`tire_or_wetland_bulldozer` = 타이어식·습지 불도저) — 글끼리 맞댈 수 없다. 붙는 수(25·20·10·0)는 「손료보정」 으로 이미 맞대고 있다.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "원문 조건 글을 영어 이름으로 줄여 적은 것(`tire_or_wetland_bulldozer` = 타이어식·습지 불도저) — 글끼리 맞댈 수 없다. 붙는 수(25·20·10·0)는 「손료보정」 으로 이미 맞대고 있다.",
|
||
"갈래": "요약 이름"
|
||
},
|
||
"안 잰 칸 mach_rock_adj.rules.exclusion": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "위와 같음 — `dedicated_dump_truck_18_ton_or_more` = 18톤 이상 전용 덤프트럭.",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림",
|
||
"class_why": "위와 같음 — `dedicated_dump_truck_18_ton_or_more` = 18톤 이상 전용 덤프트럭.",
|
||
"갈래": "요약 이름"
|
||
}
|
||
},
|
||
"labor_blind": {
|
||
"건설 pdf": {
|
||
"what": "3. 개별직종 노임단가.md",
|
||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "맞댈 PDF 가 저장소에 없음 — md 가 우리 원문임. PDF↔md 옮김 틀림은 사람이 따로 볼 자리."
|
||
},
|
||
"건설 별칭 이름": {
|
||
"what": [
|
||
"labor_1001",
|
||
"labor_1002",
|
||
"labor_1003",
|
||
"labor_1007",
|
||
"labor_1008",
|
||
"labor_1012",
|
||
"labor_1013",
|
||
"labor_1015",
|
||
"labor_1016",
|
||
"labor_1017",
|
||
"labor_1018",
|
||
"labor_1019",
|
||
"labor_op_const",
|
||
"labor_op_general",
|
||
"labor_op_truck"
|
||
],
|
||
"why": "별칭 이름은 프로그램이 지은 것 — 가리키는 코드가 원문에 있는지만 봄",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "프로그램이 지은 별칭 — 원문에 있을 수 없는 말. 가리키는 코드가 원문에 있는지만 봄."
|
||
},
|
||
"안 잰 칸 labor_mfg.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 맞댈 꼴이 아님."
|
||
},
|
||
"안 잰 칸 labor_rate.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
},
|
||
"제조 pdf": {
|
||
"what": "2026상반기_중소제조업_직종별_임금조사_중소기업중앙회.md",
|
||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
}
|
||
},
|
||
"material_blind": {
|
||
"API 스냅숏": {
|
||
"what": "나라장터_시설공통자재_2026-08-14.json",
|
||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "원문이 API 로 받은 한때의 스냅숏 — 게시처(나라장터·오피넷) 값 자체는 저장소에 없음."
|
||
},
|
||
"안 잰 칸 mat_price.price_adopted_reason": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "빌더가 적은 까닭 글 — 원문 칸 아님",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "빌더가 적은 까닭 글 — 원문 칸이 아님."
|
||
}
|
||
},
|
||
"oil_blind": {
|
||
"API 스냅숏": {
|
||
"what": [
|
||
"유가_전국평균_2026-08-14.json",
|
||
"유가_시도별_2026-09-09.json"
|
||
],
|
||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "원문이 API 스냅숏 — 게시처 값 자체는 저장소에 없음."
|
||
},
|
||
"시도 거래일": {
|
||
"what": "시도별 원천에 거래일 칸이 없음 — 수집일과만 맞댐",
|
||
"why": "시도별 원천 줄에 거래일이 없어 `수집일` 로만 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "시도별 원천 줄에 거래일 칸이 아예 없음 — `수집일` 로만 맞댐."
|
||
},
|
||
"안 잰 칸 oil.scope": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "프로그램 표기(`national_average`) — 원천에 그 칸이 없음."
|
||
},
|
||
"안 잰 칸 oil.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "프로그램 표기(`KRW/L`) — 원천에 그 칸이 없음."
|
||
},
|
||
"안 잰 칸 oil_regional.scope": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
},
|
||
"안 잰 칸 oil_regional.source_product_name": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "시도별 원천에 상품 이름 칸 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "시도별 원천에 상품 이름 칸이 없음."
|
||
},
|
||
"안 잰 칸 oil_regional.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
}
|
||
},
|
||
"rate_blind": {
|
||
"processing_rules": {
|
||
"what": [
|
||
"note",
|
||
"owner_supplied_material",
|
||
"performance_guarantee_fee",
|
||
"profit",
|
||
"rounding",
|
||
"safety_management_cost",
|
||
"scale_bracket"
|
||
],
|
||
"why": "끝수·산식 처리 규칙 — 코드 규칙이라 원문 대조 대상 아님(거울 시험 몫)",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "끝수·산식 처리 규칙 — 코드 규칙이라 원문에 견줄 글이 없음(거울 시험 몫)."
|
||
},
|
||
"안 잰 칸 rate_equipment_payment_guarantee.base_note": {
|
||
"what": "코드(`B09_Estimation_Statutory.STATUTORY_ITEMS`)가 직접공사비로 계산하고 있는 것과 맞춘 표기.",
|
||
"why": "설명 글",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "설명 글 — 값이 아님."
|
||
},
|
||
"안 잰 칸 rate_overhead.basis": {
|
||
"what": "조달청 「2026년 토목·조경·산업환경설비공사 원가계산 간접공사비(제비율) 적용기준」(2026-04-13). ⚠ 구간 라벨의 `billion` 은 **십억 원** — `lt_5_billion` 은 50억 미만이다. 종합(토목·조경·산업설비)은 5억미만~30억~50억 8 · 50~100억·100~300억 6.5 · 300~1000억 5 · 1000억이상 4.5, 전문 등은 5억미만 8 · 5~30억 6.5 · 30~50억·50~100억 5 · 100억이상 4.5.",
|
||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "데스크탑 서브가 붙인 설명 글 — 값이 아님."
|
||
},
|
||
"안 잰 칸 rate_overhead.specialty_note": {
|
||
"what": "⚠ 2026-09-18 **300억 이상 두 구간이 통째로 빠져 있었음** — 마지막이 「100억-300억 미만」으로 닫혀 300억 넘는 전문공사가 어느 구간에도 안 걸렸음. 원본 XLSX(BL35:BR46) 대로 300~1000억 · 1000억 이상을 더함(둘 다 4.5%). 값은 원문 그대로.",
|
||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
},
|
||
"안 잰 칸 rate_safety_base.amount_bracket": {
|
||
"what": "500_million_to_5_billion",
|
||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "다른 칸을 가리키는 표시 — 값이 아님."
|
||
},
|
||
"안 잰 칸 rate_safety_base.embedded_in": {
|
||
"what": "rate_safety_pct.brackets",
|
||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
},
|
||
"안 잰 칸 rate_safety_pct.base_rule": {
|
||
"what": "min_of_two_formulas",
|
||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "도급자관급이 든 때 두 식 중 작은 값을 쓰라는 xlsx 글(EB11·EB13)을 프로그램 식으로 옮긴 것 — 글과 식은 꼴이 달라 글자로 맞댈 수 없음."
|
||
},
|
||
"안 잰 칸 rate_safety_pct.base_with_owner_supplied_material": {
|
||
"what": "minimum_of_statutory_two_formulas",
|
||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 한 자리."
|
||
},
|
||
"안 잰 칸 rate_vat.base": {
|
||
"what": "construction_cost_before_vat",
|
||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "부가세 근거(부가가치세법)가 `sources` 에 없음 — 저장소에 원문이 없어 맞댈 것이 없음."
|
||
},
|
||
"안 잰 칸 rate_vat.rate_percent": {
|
||
"what": 10.0,
|
||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "위와 같음."
|
||
},
|
||
"조달청 요약표": {
|
||
"what": "2026.04.13_조달청_토목공사_제비율.xlsx",
|
||
"why": "xlsx 는 조달청 요약표 — 각 고시 원문과는 안 맞댐(연금만 법령과 맞댐)",
|
||
"class": "㉮ 영영 할 일 아님",
|
||
"갈래": "원문 부재",
|
||
"class_why": "xlsx 는 조달청이 고시를 모아 요약한 표 — 각 고시 원문은 저장소에 없음(연금만 법령과 맞댐)."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"_갈래": {
|
||
"센 날": "2026-09-18",
|
||
"셈": {
|
||
"원문 부재 / ㉰": 7,
|
||
"잣대 못 알아봄 / ㉯": 7
|
||
},
|
||
"잣대": "두 갈래로 가름 — **원문 부재**: 값이 원문·원천에 없거나 원문 밖 말이라 채울 것이 없음 · **잣대 못 알아봄**: 값은 원문에 있는데 전사·읽기가 못 가름 ⇒ 고치면 풀림. ㉮ 영영 할 일 아님 · ㉯ 남이 고쳐야 풀림 · ㉰ 사용자·브레인 판단.",
|
||
"할 일 아님으로 뺀 줄": 33,
|
||
"닫힌 자리": [
|
||
{
|
||
"날": "2026-09-18",
|
||
"무엇": "양수기 7993-0020 휘발유 1.3ℓ (어긋남 세 줄)",
|
||
"어떻게": "원문 규명으로 닫힘(브레인 B30) — PDF 340쪽 주연료표의 「휘발유1.3」은 **바로 윗줄 7992(모르타르 믹서)** 것이고 양수기 줄은 전력 1.49㎾ 뿐이었음. 옛 추출이 **이웃 줄 값을 물려받은 자리 틀림**. ⇒ 「원문 부재」가 아니라 **이웃 줄 오귀속**이었음.",
|
||
"처리": "`mach_base_2026.json` 의 양수기 연료 줄을 지우고 다시 뽑음. 이어받기는 **옛 벌을 보고 되살리므로** 한 번 지워야 영영 안 돌아옴(`이어받음 {'fuel': 1}` → **0**). 7992 쪽 휘발유 1.3 은 이미 갈라 들어가 있음."
|
||
}
|
||
]
|
||
}
|
||
}
|