**① 프룬 구멍** — 읽기(`load_known()`)만 「할 일 아님」 칸을 읽게 고쳤고 **쓰기는 안 고쳤음**.
`--prune` 이 합쳐 읽은 것을 그대로 되쓰면 2026-09-18 에 가른 칸이 다시 갈래로 섞여
**없는 할 일 36 이 되살아남**. 세 파일 다 「제자리에서 지우기」로 고침.
**② 기계 읽기 넓힘**
· `| 9020- | 비항SD | | … |` 꼴 **앞자리만 알리는 머리줄** — 값이 없으니 못 보는 자리가 아님(8줄 뺌)
· 빈 칸·`동력` 낱말·전력(㎾) 주연료를 읽게 함 — 전력 기종 아홉은 원문에 기름 값이 없어
양쪽이 비는 것이 맞음(12줄 뺌) · 7360-0090 차선 제거기는 원문 휘발유 5.53 을 이제 읽음
· ⭐ **머리 없는 이어 표**를 세는 자리를 만듦 — 책장 넘김에 밀린 줄을 `|---|` 없이 따로 적어
표로 안 잡히던 자리. **9020 그래브 준설선 일곱 줄의 손료계수가 양쪽 다 조용히 빠져 있었음**
**③ 드러난 어긋남을 장부에 사유·주인과 함께 올림**
· 7993-0020 양수기 — md 가 규격을 주연료 칸에 밀어 적음(코덱스: PDF 대조로 휘발유 1.3ℓ 제자리에)
· 9020 일곱 줄 — 코덱스: 앞 표에 이어 붙일 것(`제8장_건설기계.md` 3617줄 자리)
· 겸용 연료 둘(3450-0642 · 7992-0001) — 랩탑 메인: `_build_mach.py` 가 갈라 읽게
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
514 lines
32 KiB
JSON
514 lines
32 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": {
|
||
"가격 8201-0100 machine_name": {
|
||
"source": "3D GNSS 머신 가이던스(굴착기용)",
|
||
"data": "",
|
||
"why": "자료 이름이 빔 — 원문 손료표 머리 `(코드) 이름` 엔 이름 있음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"손료 8201-0100 machine_name": {
|
||
"source": "3D GNSS 머신 가이던스(굴착기용)",
|
||
"data": "배관파이프시 간 당(10-7)분류번호규 격7995-0050ø50-2.6m5,0008-3-9 [80]스마트 건설장비(8201) 3D GNSS 머신 가이던스(굴착기용)",
|
||
"why": "자료 이름 칸에 원문 뭉개진 손료 글이 통째로 들어감 — 자료 이름 틀림",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"연료 7993-0020": {
|
||
"source": null,
|
||
"data": {
|
||
"machine_code": "7993-0020",
|
||
"machine_name": "양수기",
|
||
"fuel_type": "gasoline",
|
||
"fuel_rate_l_per_hour": 1.3,
|
||
"parse_method": "verified_source_row_alignment",
|
||
"specification": "1.49㎾"
|
||
},
|
||
"why": "원문 md 8-4 양수기 줄이 `| 7993-0020 | 양수기 | 1.49㎾ | 1.49㎾ | - | - |` — **규격을 주연료 칸에** 밀어 적어 원문에 기름 값이 없다. 자료의 휘발유 1.3ℓ 는 사람이 PDF 를 보고 맞춘 값을 옛 벌에서 이어받은 것이다. ⇒ 값을 지울 자리가 아니라 **md 전사를 고칠 자리**다(고치면 저절로 맞음).",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-4 운전경비 양수기 7993-0020 줄 — 주연료 칸에 규격(1.49㎾)이 밀려 들어갔음. PDF 대조로 주연료(휘발유 1.3ℓ)를 제자리에 적어 줄 것. 옆 규격 칸도 함께 볼 것."
|
||
},
|
||
"셈 연료 코드 수": {
|
||
"source": 273,
|
||
"data": 274,
|
||
"why": "원문 md 8-4 양수기 줄이 `| 7993-0020 | 양수기 | 1.49㎾ | 1.49㎾ | - | - |` — **규격을 주연료 칸에** 밀어 적어 원문에 기름 값이 없다. 자료의 휘발유 1.3ℓ 는 사람이 PDF 를 보고 맞춘 값을 옛 벌에서 이어받은 것이다. ⇒ 값을 지울 자리가 아니라 **md 전사를 고칠 자리**다(고치면 저절로 맞음).",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-4 운전경비 양수기 7993-0020 줄 — 주연료 칸에 규격(1.49㎾)이 밀려 들어갔음. PDF 대조로 주연료(휘발유 1.3ℓ)를 제자리에 적어 줄 것. 옆 규격 칸도 함께 볼 것."
|
||
},
|
||
"셈 연료 원문에 없는 자료 줄": {
|
||
"source": 0,
|
||
"data": 1,
|
||
"why": "원문 md 8-4 양수기 줄이 `| 7993-0020 | 양수기 | 1.49㎾ | 1.49㎾ | - | - |` — **규격을 주연료 칸에** 밀어 적어 원문에 기름 값이 없다. 자료의 휘발유 1.3ℓ 는 사람이 PDF 를 보고 맞춘 값을 옛 벌에서 이어받은 것이다. ⇒ 값을 지울 자리가 아니라 **md 전사를 고칠 자리**다(고치면 저절로 맞음).",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-4 운전경비 양수기 7993-0020 줄 — 주연료 칸에 규격(1.49㎾)이 밀려 들어갔음. PDF 대조로 주연료(휘발유 1.3ℓ)를 제자리에 적어 줄 것. 옆 규격 칸도 함께 볼 것."
|
||
}
|
||
},
|
||
"material": {},
|
||
"oil": {},
|
||
"rate": {},
|
||
"labor_blind": {
|
||
"건설 pdf": {
|
||
"what": "3. 개별직종 노임단가.md",
|
||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"건설 별칭 이름": {
|
||
"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": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 labor_mfg.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 labor_rate.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"제조 pdf": {
|
||
"what": "2026상반기_중소제조업_직종별_임금조사_중소기업중앙회.md",
|
||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
}
|
||
},
|
||
"machine_blind": {
|
||
"손료 계수 칸 없는 표 5220": {
|
||
"what": [
|
||
"분류 번호",
|
||
"규 격",
|
||
"내용 시간",
|
||
"연간 표준 가동 시간"
|
||
],
|
||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"손료 계수 칸 없는 표 7995": {
|
||
"what": [
|
||
"분류 번호",
|
||
"규 격",
|
||
"내용 시간"
|
||
],
|
||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"손료보정 수 자리 가름": {
|
||
"what": "뭉개진 글의 이어 붙은 수(2510)를 통째로 맞댐",
|
||
"why": "8-1-7 가산비율 표가 글로 뭉개져 `2510` 처럼 붙음 — 25·10 인지 2·510 인지 못 가름",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_fuel_rate.parse_method": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "사람이 손으로 맞춘 줄이라는 표시 — 원문에 없는 칸(2026-09-18 기준 7993-0020 하나)",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_fuel_rate.source_tables.section": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "8-4 원표의 절 제목 — 표 차례로 맞대므로 글자는 안 봄(원표 머리·줄은 맞댐)",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_fuel_rate.specification": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_loss_coef.loss_coefficient_per_hour": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "계산 칸(계 × 10⁻⁷) — 원문 `계`(source_coefficient_1e_minus_7)만 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_loss_coef.note": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_loss_coef.specification": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.alias": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램이 지은 이름·출처 표기",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.rule_id": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램이 지은 이름·출처 표기",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_operator_map.rules.source_section": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램이 지은 이름·출처 표기",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_price.specification": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "가격표엔 규격 칸이 없음(기종·코드·가격만)",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_rock_adj.rules.exception": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mach_rock_adj.rules.exclusion": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"연료 표 3450-0642": {
|
||
"codes": [
|
||
"3450-0642",
|
||
"3450-0642"
|
||
],
|
||
"why": "원문 8-4 주연료 칸에 **두 연료가 한 칸에** 적혀 있음 — `73.7+휘발유54.5`(3450-0642 현장가열표층재생기) · `1.87㎾ 휘발유1.3`(7992-0001 모르타르 믹서). 앞은 기본 연료(경유·전력), 뒤는 휘발유다. 기름 값이 **원문에 있는 값**인데 자료(`mach_fuel_rate`)가 이 두 기종을 아주 안 담아 맞댈 것이 없음.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "`_build_mach.py` 가 8-4 주연료 칸의 **겸용 표기**를 갈라 읽게 해 줄 것 — 기름 값(휘발유 54.5 · 1.3)은 원문에 있는 값이라 자료에 들어가야 함. 전력분(1.87㎾)을 함께 담을지는 브레인 판정 자리."
|
||
},
|
||
"연료 표 7992-0001": {
|
||
"codes": [
|
||
"7992-0001",
|
||
"7992-0001"
|
||
],
|
||
"why": "원문 8-4 주연료 칸에 **두 연료가 한 칸에** 적혀 있음 — `73.7+휘발유54.5`(3450-0642 현장가열표층재생기) · `1.87㎾ 휘발유1.3`(7992-0001 모르타르 믹서). 앞은 기본 연료(경유·전력), 뒤는 휘발유다. 기름 값이 **원문에 있는 값**인데 자료(`mach_fuel_rate`)가 이 두 기종을 아주 안 담아 맞댈 것이 없음.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "`_build_mach.py` 가 8-4 주연료 칸의 **겸용 표기**를 갈라 읽게 해 줄 것 — 기름 값(휘발유 54.5 · 1.3)은 원문에 있는 값이라 자료에 들어가야 함. 전력분(1.87㎾)을 함께 담을지는 브레인 판정 자리."
|
||
},
|
||
"운전사 기종별 판단": {
|
||
"what": 121,
|
||
"why": "기종→운전사 구분(explicit_mappings)은 사람 판단 — 원문 8-1-3 5호는 기종 이름 글만 있음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0022": {
|
||
"what": "| 9020-0022 | 비항SD, 3.00㎥ | 164 | 20,000 | 1,780",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0035": {
|
||
"what": "| 9020-0035 | 비항SD, 5.00㎥ | 261 | 20,000 | 1,780",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0050": {
|
||
"what": "| 9020-0050 | 비항SD, 6.00㎥ | 373 | 20,000 | 1,780",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0072": {
|
||
"what": "| 9020-0072 | 비항SD, 7.50㎥ | 537 | 20,000 | 1,780",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0160": {
|
||
"what": "| 9020-0160 | 비항SD, 12.50㎥ | 1,194 | 20,000 | 1,",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0180": {
|
||
"what": "| 9020-0180 | 비항SD, 16.00㎥ | 1,343 | 20,000 | 1,",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
},
|
||
"손료 머리 없는 이어 표 9020-0200": {
|
||
"what": "| 9020-0200 | 비항SD, 25.00㎥ | 1,491 | 20,000 | 1,",
|
||
"why": "원문 md 가 **머리 없는 이어 표**로 적은 자리 — 책장 넘김에 밀린 줄을 빈 줄 뒤에 따로 적어 `|---|` 머리가 없다. 그래서 표로 잡히지 않아 **추출기(`_build_mach.py`)도 이 읽기도 못 봄** — 값은 원문에 있는데 `mach_loss_coef` 에 그 아홉 줄(9020 그래브 준설선 일곱 등)이 빠져 있음. 가격 쪽에는 같은 코드가 있어 **손료계수만 비는 어긋남**임.",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "코덱스",
|
||
"owner_ask": "제8장 8-3 (9020) 그래브 준설선 — `9020-0022`~`0200` 일곱 줄이 앞 표와 떨어진 **머리 없는 표**로 적혀 있음(제8장_건설기계.md 3617줄 자리). 앞 표에 이어 붙여 줄 것. 붙이면 추출기·시험이 저절로 읽음."
|
||
}
|
||
},
|
||
"material_blind": {
|
||
"API 스냅숏": {
|
||
"what": "나라장터_시설공통자재_2026-08-14.json",
|
||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"같은 때 공시 20696249": {
|
||
"what": 2,
|
||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"같은 때 공시 20696250": {
|
||
"what": 2,
|
||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 mat_price.price_adopted_reason": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "빌더가 적은 까닭 글 — 원문 칸 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"원천 없는 묶음": {
|
||
"what": [
|
||
"reinforcing_steel",
|
||
"ready_mixed_concrete",
|
||
"asphalt_concrete"
|
||
],
|
||
"why": "철근·레미콘·아스콘은 종합쇼핑몰 원천이 저장소에 없음 — 값 못 봄",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
}
|
||
},
|
||
"oil_blind": {
|
||
"API 스냅숏": {
|
||
"what": [
|
||
"유가_전국평균_2026-08-14.json",
|
||
"유가_시도별_2026-09-09.json"
|
||
],
|
||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"시도 거래일": {
|
||
"what": "시도별 원천에 거래일 칸이 없음 — 수집일과만 맞댐",
|
||
"why": "시도별 원천 줄에 거래일이 없어 `수집일` 로만 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 oil.scope": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 oil.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 oil_regional.scope": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 oil_regional.source_product_name": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "시도별 원천에 상품 이름 칸 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 oil_regional.unit": {
|
||
"what": "원문과 안 맞댐",
|
||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
}
|
||
},
|
||
"rate_blind": {
|
||
"processing_rules": {
|
||
"what": [
|
||
"note",
|
||
"owner_supplied_material",
|
||
"performance_guarantee_fee",
|
||
"profit",
|
||
"rounding",
|
||
"safety_management_cost",
|
||
"scale_bracket"
|
||
],
|
||
"why": "끝수·산식 처리 규칙 — 코드 규칙이라 원문 대조 대상 아님(거울 시험 몫)",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_environment.forest_road_selection_status": {
|
||
"what": "pending",
|
||
"why": "임도 공종 선택 미결 표시 — 사용자 협의 몫",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_environment.minimum_estimated_amount_krw": {
|
||
"what": 100000000,
|
||
"why": "xlsx 환경보전비 칸에 1억 기준이 없음(1억은 퇴직공제부금 칸) — 근거 원문이 sources 에 없어 못 봄",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_equipment_payment_guarantee.base_note": {
|
||
"what": "코드(`B09_Estimation_Statutory.STATUTORY_ITEMS`)가 직접공사비로 계산하고 있는 것과 맞춘 표기.",
|
||
"why": "설명 글",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 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": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_overhead.specialty_note": {
|
||
"what": "⚠ 2026-09-18 **300억 이상 두 구간이 통째로 빠져 있었음** — 마지막이 「100억-300억 미만」으로 닫혀 300억 넘는 전문공사가 어느 구간에도 안 걸렸음. 원본 XLSX(BL35:BR46) 대로 300~1000억 · 1000억 이상을 더함(둘 다 4.5%). 값은 원문 그대로.",
|
||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_performance_guarantee_fee.typical_forest_road_applicability": {
|
||
"what": "not_applicable",
|
||
"why": "임도 적용 판단 — 원문 칸 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_safety_base.amount_bracket": {
|
||
"what": "500_million_to_5_billion",
|
||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_safety_base.embedded_in": {
|
||
"what": "rate_safety_pct.brackets",
|
||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_safety_pct.base_rule": {
|
||
"what": "min_of_two_formulas",
|
||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_safety_pct.base_with_owner_supplied_material": {
|
||
"what": "minimum_of_statutory_two_formulas",
|
||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_vat.base": {
|
||
"what": "construction_cost_before_vat",
|
||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"안 잰 칸 rate_vat.rate_percent": {
|
||
"what": 10.0,
|
||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
},
|
||
"조달청 요약표": {
|
||
"what": "2026.04.13_조달청_토목공사_제비율.xlsx",
|
||
"why": "xlsx 는 조달청 요약표 — 각 고시 원문과는 안 맞댐(연금만 법령과 맞댐)",
|
||
"class": "㉯ 남이 고쳐야 풀림",
|
||
"owner": "랩탑 메인",
|
||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||
}
|
||
}
|
||
}
|