Files
Aislo/resources/tester/fixtures/base_prices_source_known.json
T
eomsangdonandClaude Opus 5 d379acc59b chore(tester): ㉮ 36 을 「할 일 아님」 칸으로 빼고 갈래 나눔 · ㉯ 에 주인 다 적음
**① ㉮ 를 갈래에서 아주 뺌** — 장부에 섞여 있어 바퀴마다 「어긋남」으로 다시 세어지던 것.
  `_할일_아님` 칸으로 옮김(공종축 34 + 기초값 2) · **지우지는 않음**(나중에 사유를 보아야 함)
  갈래 — 거절 자리 11 · 그 밖 18 · 원문 부재 4 · 부록 예시 1
  ⚠ **세는 곳에서만 빼고 비교에는 넣음** — `load_known()` 이 그 칸도 읽게 함.
    안 그러면 옮긴 줄이 다시 「새로 어긋남」으로 빨개짐
  시험으로 못박음 — 칸이 있나 · 34줄인가 · 줄마다 **왜 할 일이 아닌지** 사유가 있나 · 갈래가 넷 중 하나인가

**② ㉯ 남의 몫에 주인 다 적음** — 갈래 없던 기계 줄 65 에도 적어 미정 0
  랩탑 메인 87(md 읽기 22 + 기계 원천 벌 재추출 65) · 랩탑 서브 1(F0333 PDF 대조)

**③ 남은 건수 — 실제 할 일만**
  ① 산림 공종 축 **0** (미확보 79 = 원문 부재 69 + 미판독 10, 열은 다 거절 자리) · 미귀속 표 22 는 ㉰ 에
  ② 건설 공종 축 **1,053** (형태 미판정 891 + 밑수 미판독 162) — 뿌리는 「판정이 산림 표로만
     맞춰진 것」이라 랩탑 메인 몫
  ③ 확인 대기 **100** = ㉯ 92(다 남의 몫) + ㉰ 8 · 할 일 아님으로 뺀 것 36
  ④ 사용자 판단 **8** — F0046·F0068 「1인」 밑수 · F0076 반쪽 「1km」 · 부록 14-2 표 셋 ·
     F0405 증가율표 성격 · 이형철근 범위 6~7
  ⇒ **내가 지금 할 수 있는 것은 0** — 다 남의 차례이거나 사용자 판단

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 06:19:53 +09:00

565 lines
30 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"_설명": [
"원문 ↔ 기초단가 다섯 갈래 — 지금 알고 있는 어긋남과 시험이 못 보는 자리(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) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"셈 연료 코드 수": {
"source": 201,
"data": 214,
"why": "⬜ **기계 자료 재추출 대기** — 코덱스가 8-4 운전경비 92종을 md 에 전사했으나(2026-09-18) `mach_base_2026.json` 은 그 앞 판이다. 그 벌을 만드는 추출기가 이 저장소에 없어 우리가 못 돌린다. ⇒ 고칠 자리는 마스터가 아니라 **기계 원천 벌 재추출**이다.",
"class": "㉯ 남이 고쳐야 풀림"
}
},
"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": "빌더가 남긴 읽기 방법 표시 — 원문 칸 아님",
"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) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0025": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0050": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0100": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0125": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0150": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0200": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0250": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0350": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0450": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0500": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7505-0700": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7993-0020": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 못 읽은 줄 7994-0050": {
"what": "원문 표 토막 수가 안 맞음",
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 표 3108-0040": {
"codes": [
"3108-0040",
"3901-0300"
],
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 표 5801-0045": {
"codes": [
"5801-0045",
"5801-0045"
],
"why": "⬜ **기계 자료 재추출 대기** — 코덱스가 8-4 운전경비 92종을 md 에 전사했으나(2026-09-18) `mach_base_2026.json` 은 그 앞 판이다. 그 벌을 만드는 추출기가 이 저장소에 없어 우리가 못 돌린다. ⇒ 고칠 자리는 마스터가 아니라 **기계 원천 벌 재추출**이다.",
"class": "㉯ 남이 고쳐야 풀림"
},
"연료 표 5805-0002": {
"codes": [
"5805-0002",
"5805-0002"
],
"why": "⬜ **기계 자료 재추출 대기** — 코덱스가 8-4 운전경비 92종을 md 에 전사했으나(2026-09-18) `mach_base_2026.json` 은 그 앞 판이다. 그 벌을 만드는 추출기가 이 저장소에 없어 우리가 못 돌린다. ⇒ 고칠 자리는 마스터가 아니라 **기계 원천 벌 재추출**이다.",
"class": "㉯ 남이 고쳐야 풀림"
},
"연료 표 5805-0003": {
"codes": [
"5805-0003",
"5805-0003"
],
"why": "⬜ **기계 자료 재추출 대기** — 코덱스가 8-4 운전경비 92종을 md 에 전사했으나(2026-09-18) `mach_base_2026.json` 은 그 앞 판이다. 그 벌을 만드는 추출기가 이 저장소에 없어 우리가 못 돌린다. ⇒ 고칠 자리는 마스터가 아니라 **기계 원천 벌 재추출**이다.",
"class": "㉯ 남이 고쳐야 풀림"
},
"연료 표 7101-0450": {
"codes": [
"7101-0450",
"7811-0120"
],
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"연료 표 7812-0005": {
"codes": [
"7812-0005",
"7994-0050"
],
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
},
"운전사 기종별 판단": {
"what": 121,
"why": "기종→운전사 구분(explicit_mappings)은 사람 판단 — 원문 8-1-3 5호는 기종 이름 글만 있음",
"class": "㉯ 남이 고쳐야 풀림",
"owner": "랩탑 메인",
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
}
},
"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) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
}
}
}