Merge remote-tracking branch 'origin/dev' into sub_laptop_1
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,71 +1,101 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"dataset_id": "rebar_complexity",
|
||||
"effective_date": "2026-01-01",
|
||||
"note": "철근 가공·조립 갈래(간단/보통/복잡/매우복잡) — **품셈 12-3 [주]① 원문**이 구조물을 예시로 갈라 둔다. 사람이 고르는 값이 아니라 법으로 정해지는 값이다(거푸집 사용횟수 1-7-1 과 같은 자리).",
|
||||
"source": {
|
||||
"doc": "산림사업 표준품셈 12-3 철근 현장가공 및 조립 [주] ①",
|
||||
"table_id": "F0335",
|
||||
"quote": "간단한 것이란 측구, 간단한 기초 및 중력식 옹벽 등을 말하며, 보통의 것이란 수문, 반중력식 옹벽 및 교대 등을 말하고, 복잡한 것이란 교량의 슬래브, 암거, 우물통 부벽식 옹벽 등을 말하며, 매우 복잡한 것이란 구주식(기둥형) 교대, 교각, 지하철, 터널"
|
||||
"schema_version": "1.0",
|
||||
"dataset_id": "rebar_complexity",
|
||||
"effective_date": "2026-01-01",
|
||||
"note": "철근 가공·조립 갈래(간단/보통/복잡/매우복잡) — **품셈 12-3 [주]① 원문**이 구조물을 예시로 갈라 둔다. 사람이 고르는 값이 아니라 법으로 정해지는 값이다(거푸집 사용횟수 1-7-1 과 같은 자리).",
|
||||
"source": {
|
||||
"doc": "산림사업 표준품셈 12-3 철근 현장가공 및 조립 [주] ①",
|
||||
"table_id": "F0335",
|
||||
"quote": "간단한 것이란 측구, 간단한 기초 및 중력식 옹벽 등을 말하며, 보통의 것이란 수문, 반중력식 옹벽 및 교대 등을 말하고, 복잡한 것이란 교량의 슬래브, 암거, 우물통 부벽식 옹벽 등을 말하며, 매우 복잡한 것이란 구주식(기둥형) 교대, 교각, 지하철, 터널"
|
||||
},
|
||||
"policy": {
|
||||
"auto_decided": true,
|
||||
"unlisted_is_flagged": true,
|
||||
"note": "원문 예시에 걸리는 것만 정한다. 안 걸리면 「갈래 미확보」로 드러내고 임의로 고르지 않는다."
|
||||
},
|
||||
"classes": [
|
||||
{
|
||||
"key": "간단",
|
||||
"examples": [
|
||||
"측구",
|
||||
"간단한 기초",
|
||||
"중력식 옹벽"
|
||||
]
|
||||
},
|
||||
"policy": {
|
||||
"auto_decided": true,
|
||||
"unlisted_is_flagged": true,
|
||||
"note": "원문 예시에 걸리는 것만 정한다. 안 걸리면 「갈래 미확보」로 드러내고 임의로 고르지 않는다."
|
||||
{
|
||||
"key": "보통",
|
||||
"examples": [
|
||||
"수문",
|
||||
"반중력식 옹벽",
|
||||
"교대"
|
||||
]
|
||||
},
|
||||
"classes": [
|
||||
{ "key": "간단", "examples": ["측구", "간단한 기초", "중력식 옹벽"] },
|
||||
{ "key": "보통", "examples": ["수문", "반중력식 옹벽", "교대"] },
|
||||
{ "key": "복잡", "examples": ["교량 슬래브", "암거", "우물통", "부벽식 옹벽"] },
|
||||
{ "key": "매우복잡", "examples": ["구주식(기둥형) 교대", "교각", "지하철", "터널"] }
|
||||
],
|
||||
"form_map": [
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "중력식",
|
||||
"class": "간단",
|
||||
"matched": "중력식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "반중력식",
|
||||
"class": "보통",
|
||||
"matched": "반중력식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "부벽식",
|
||||
"class": "복잡",
|
||||
"matched": "부벽식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "캔틸레버식",
|
||||
"class": null,
|
||||
"why": "원문 [주]① 예시에 캔틸레버식 옹벽이 없음 — 임의로 고르지 않고 미확보로 드러냄"
|
||||
},
|
||||
{
|
||||
"type_id": "box_culvert",
|
||||
"class": "복잡",
|
||||
"matched": "암거"
|
||||
},
|
||||
{
|
||||
"type_id": "pipe_inlet_basin",
|
||||
"class": "보통",
|
||||
"matched": "철근가공조립(보통)",
|
||||
"basis": "품셈 12-15 집수정 표",
|
||||
"note": "그 공종 표가 직접 적은 「철근 | 철근가공조립(보통)」 이 정본 — 12-3 [주]① 「간단한 기초」 추정보다 위(2026-09-14 브레인 ㉯ ⑶ · 거푸집 4회와 같은 원칙). 앞서 간단으로 봤음."
|
||||
}
|
||||
],
|
||||
"price_hint_krw_per_ton": {
|
||||
"note": "⚠ **표시 전용.** 갈래를 자동으로 정하더라도 화면에 갈래 이름과 차이를 보여야 사람이 검증할 수 있다. B08 의 어떤 계산에도 안 들어간다(금액은 B09 몫).",
|
||||
"computed_by": "B09",
|
||||
"computed_on": "2026-09-07",
|
||||
"values": {
|
||||
"간단": 919146.7,
|
||||
"보통": 1032497.4,
|
||||
"복잡": 1143569.7,
|
||||
"매우복잡": 1278375.3
|
||||
}
|
||||
{
|
||||
"key": "복잡",
|
||||
"examples": [
|
||||
"교량의 슬래브",
|
||||
"암거",
|
||||
"우물통",
|
||||
"부벽식 옹벽"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "매우복잡",
|
||||
"examples": [
|
||||
"구주식(기둥형) 교대",
|
||||
"교각",
|
||||
"지하철",
|
||||
"터널"
|
||||
]
|
||||
}
|
||||
],
|
||||
"form_map": [
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "중력식",
|
||||
"class": "간단",
|
||||
"matched": "중력식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "반중력식",
|
||||
"class": "보통",
|
||||
"matched": "반중력식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "부벽식",
|
||||
"class": "복잡",
|
||||
"matched": "부벽식 옹벽"
|
||||
},
|
||||
{
|
||||
"type_id": "retaining_wall",
|
||||
"form": "캔틸레버식",
|
||||
"class": null,
|
||||
"why": "원문 [주]① 예시에 캔틸레버식 옹벽이 없음 — 임의로 고르지 않고 미확보로 드러냄"
|
||||
},
|
||||
{
|
||||
"type_id": "box_culvert",
|
||||
"class": "복잡",
|
||||
"matched": "암거"
|
||||
},
|
||||
{
|
||||
"type_id": "pipe_inlet_basin",
|
||||
"class": "보통",
|
||||
"matched": "철근가공조립(보통)",
|
||||
"basis": "품셈 12-15 집수정 표",
|
||||
"note": "그 공종 표가 직접 적은 「철근 | 철근가공조립(보통)」 이 정본 — 12-3 [주]① 「간단한 기초」 추정보다 위(2026-09-14 브레인 ㉯ ⑶ · 거푸집 4회와 같은 원칙). 앞서 간단으로 봤음."
|
||||
}
|
||||
],
|
||||
"price_hint_krw_per_ton": {
|
||||
"note": "⚠ **표시 전용.** 갈래를 자동으로 정하더라도 화면에 갈래 이름과 차이를 보여야 사람이 검증할 수 있다. B08 의 어떤 계산에도 안 들어간다(금액은 B09 몫).",
|
||||
"computed_by": "B09",
|
||||
"computed_on": "2026-09-07",
|
||||
"values": {
|
||||
"간단": 919146.7,
|
||||
"보통": 1032497.4,
|
||||
"복잡": 1143569.7,
|
||||
"매우복잡": 1278375.3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,42 +6,7 @@
|
||||
"md=원문에서 읽은 값 · data=자료 값 · why=사람이 적은 까닭(시험은 맞대기에서 뺌).",
|
||||
"못 재는 칸은 시험 파일 NOT_CHECKED 에 까닭과 함께."
|
||||
],
|
||||
"coef": {
|
||||
"coef_soil_C/11": {
|
||||
"md": [
|
||||
"암괴나호박돌이섞인모래",
|
||||
0.9,
|
||||
0.95,
|
||||
null
|
||||
],
|
||||
"data": [
|
||||
"암괴ㆍ호박돌섞인모래",
|
||||
0.9,
|
||||
0.95,
|
||||
null
|
||||
],
|
||||
"why": "위와 같음",
|
||||
"class": "㉰ 사용자 판단 필요",
|
||||
"class_why": "토량환산계수 — 원문과 갈려 사람 확인"
|
||||
},
|
||||
"coef_soil_L/11": {
|
||||
"md": [
|
||||
"암괴나호박돌이섞인모래",
|
||||
1.4,
|
||||
1.45,
|
||||
null
|
||||
],
|
||||
"data": [
|
||||
"암괴ㆍ호박돌섞인모래",
|
||||
1.4,
|
||||
1.45,
|
||||
null
|
||||
],
|
||||
"why": "이름을 「암괴ㆍ호박돌 섞인 모래」로 줄여 적음 — 값은 원문과 같음",
|
||||
"class": "㉰ 사용자 판단 필요",
|
||||
"class_why": "위와 같음"
|
||||
}
|
||||
},
|
||||
"coef": {},
|
||||
"material_surcharge": {
|
||||
"이형철근": {
|
||||
"md": [
|
||||
@@ -58,40 +23,13 @@
|
||||
}
|
||||
},
|
||||
"formwork_reuse": {},
|
||||
"rebar_complexity": {
|
||||
"classes/복잡": {
|
||||
"md": "12-3 [주]① 에 없는 예시",
|
||||
"data": [
|
||||
"교량 슬래브"
|
||||
],
|
||||
"why": "원문 「교량의 슬래브」를 줄여 적음",
|
||||
"class": "㉰ 사용자 판단 필요",
|
||||
"class_why": "복잡 갈래 값 — 사람 확인"
|
||||
}
|
||||
},
|
||||
"rebar_complexity": {},
|
||||
"timber_structure_class": {},
|
||||
"masonry_slope": {},
|
||||
"masonry_back_length": {},
|
||||
"stone_kind": {},
|
||||
"masonry_class": {},
|
||||
"machine_productivity": {
|
||||
"dump_material/발파암/truck_efficiency": {
|
||||
"md": [],
|
||||
"data": "0.9",
|
||||
"why": "10-12-3 운반 식에 E 가 없음 — 토사·암절취의 0.9 를 이어 씀",
|
||||
"class": "㉮ 영영 할 일 아님",
|
||||
"class_why": "원문 식에 E 가 없어 토사·암절취 0.9 를 이어 씀 — 사유 적음"
|
||||
},
|
||||
"dump_material/토사/loading_efficiency": {
|
||||
"md": [
|
||||
0.75
|
||||
],
|
||||
"data": "0.60",
|
||||
"why": "본문 E0=0.75 대신 10-12-1 [주]⑤ 표 「임도 0.60(불량)」 을 씀 — 자료 loading_note 에 사유",
|
||||
"class": "㉮ 영영 할 일 아님",
|
||||
"class_why": "원문 [주]⑤ 표 비고 「임 도」로 0.60 확정 — 사유 적음"
|
||||
}
|
||||
},
|
||||
"machine_productivity": {},
|
||||
"_갈래": {
|
||||
"센 날": "2026-09-18",
|
||||
"셈": {
|
||||
@@ -99,5 +37,37 @@
|
||||
"㉯ 남이 고쳐야 풀림": 0,
|
||||
"㉰ 사용자 판단 필요": 4
|
||||
}
|
||||
},
|
||||
"_할일_아님": {
|
||||
"잣대": "㉮ — **영영 할 일이 아닌 것.** 원문에 없음 · 거절 자리 · 판정으로 닫힘. 바퀴마다 다시 세어지지 않게 갈래에서 **아주 빼** 여기 둔다. ⚠ 지우지는 않는다 — 되짚을 수 있어야 한다.",
|
||||
"옮긴 날": "2026-09-18",
|
||||
"셈": {
|
||||
"machine_productivity": 2
|
||||
},
|
||||
"줄": {
|
||||
"machine_productivity": {
|
||||
"dump_material/발파암/truck_efficiency": {
|
||||
"md": [],
|
||||
"data": "0.9",
|
||||
"why": "10-12-3 운반 식에 E 가 없음 — 토사·암절취의 0.9 를 이어 씀",
|
||||
"class": "㉮ 영영 할 일 아님",
|
||||
"class_why": "원문 식에 E 가 없어 토사·암절취 0.9 를 이어 씀 — 사유 적음",
|
||||
"갈래": "거절 자리"
|
||||
},
|
||||
"dump_material/토사/loading_efficiency": {
|
||||
"md": [
|
||||
0.75
|
||||
],
|
||||
"data": "0.60",
|
||||
"why": "본문 E0=0.75 대신 10-12-1 [주]⑤ 표 「임도 0.60(불량)」 을 씀 — 자료 loading_note 에 사유",
|
||||
"class": "㉮ 영영 할 일 아님",
|
||||
"class_why": "원문 [주]⑤ 표 비고 「임 도」로 0.60 확정 — 사유 적음",
|
||||
"갈래": "거절 자리"
|
||||
}
|
||||
}
|
||||
},
|
||||
"갈래별": {
|
||||
"거절 자리": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,12 +14,18 @@
|
||||
"가격 8201-0100 machine_name": {
|
||||
"source": "3D GNSS 머신 가이던스(굴착기용)",
|
||||
"data": "",
|
||||
"why": "자료 이름이 빔 — 원문 손료표 머리 `(코드) 이름` 엔 이름 있음"
|
||||
"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": "자료 이름 칸에 원문 뭉개진 손료 글이 통째로 들어감 — 자료 이름 틀림"
|
||||
"why": "자료 이름 칸에 원문 뭉개진 손료 글이 통째로 들어감 — 자료 이름 틀림",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"셈 연료 코드 수": {
|
||||
"source": 201,
|
||||
@@ -34,7 +40,10 @@
|
||||
"labor_blind": {
|
||||
"건설 pdf": {
|
||||
"what": "3. 개별직종 노임단가.md",
|
||||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄"
|
||||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"건설 별칭 이름": {
|
||||
"what": [
|
||||
@@ -54,19 +63,31 @@
|
||||
"labor_op_general",
|
||||
"labor_op_truck"
|
||||
],
|
||||
"why": "별칭 이름은 프로그램이 지은 것 — 가리키는 코드가 원문에 있는지만 봄"
|
||||
"why": "별칭 이름은 프로그램이 지은 것 — 가리키는 코드가 원문에 있는지만 봄",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 labor_mfg.unit": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐"
|
||||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 labor_rate.unit": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐"
|
||||
"why": "`KRW/day` 는 프로그램 표기 — 원문 글(원·1일)과 글자로 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"제조 pdf": {
|
||||
"what": "2026상반기_중소제조업_직종별_임금조사_중소기업중앙회.md",
|
||||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄"
|
||||
"why": "원문 md 는 PDF 를 옮긴 것 — PDF 자체와의 옮김 틀림은 못 봄",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
}
|
||||
},
|
||||
"machine_blind": {
|
||||
@@ -77,7 +98,10 @@
|
||||
"내용 시간",
|
||||
"연간 표준 가동 시간"
|
||||
],
|
||||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음"
|
||||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"손료 계수 칸 없는 표 7995": {
|
||||
"what": [
|
||||
@@ -85,118 +109,202 @@
|
||||
"규 격",
|
||||
"내용 시간"
|
||||
],
|
||||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음"
|
||||
"why": "복원 뒤에도 원문 표에 계수 칸이 없음 — 머리 「시 간 당(10-7)」 은 표 위 글줄로만 · 값은 원문에 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"손료보정 수 자리 가름": {
|
||||
"what": "뭉개진 글의 이어 붙은 수(2510)를 통째로 맞댐",
|
||||
"why": "8-1-7 가산비율 표가 글로 뭉개져 `2510` 처럼 붙음 — 25·10 인지 2·510 인지 못 가름"
|
||||
"why": "8-1-7 가산비율 표가 글로 뭉개져 `2510` 처럼 붙음 — 25·10 인지 2·510 인지 못 가름",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_fuel_rate.parse_method": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "빌더가 남긴 읽기 방법 표시 — 원문 칸 아님"
|
||||
"why": "빌더가 남긴 읽기 방법 표시 — 원문 칸 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_fuel_rate.source_tables.section": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "8-4 원표의 절 제목 — 표 차례로 맞대므로 글자는 안 봄(원표 머리·줄은 맞댐)"
|
||||
"why": "8-4 원표의 절 제목 — 표 차례로 맞대므로 글자는 안 봄(원표 머리·줄은 맞댐)",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_fuel_rate.specification": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐"
|
||||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_loss_coef.loss_coefficient_per_hour": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "계산 칸(계 × 10⁻⁷) — 원문 `계`(source_coefficient_1e_minus_7)만 맞댐"
|
||||
"why": "계산 칸(계 × 10⁻⁷) — 원문 `계`(source_coefficient_1e_minus_7)만 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_loss_coef.note": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님"
|
||||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_loss_coef.specification": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐"
|
||||
"why": "규격 칸이 한 칸에 여러 값·여러 열로 뭉쳐 가르기 어려움 — 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_operator_map.rules.alias": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램이 지은 이름·출처 표기"
|
||||
"why": "프로그램이 지은 이름·출처 표기",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_operator_map.rules.rule_id": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램이 지은 이름·출처 표기"
|
||||
"why": "프로그램이 지은 이름·출처 표기",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_operator_map.rules.source_section": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램이 지은 이름·출처 표기"
|
||||
"why": "프로그램이 지은 이름·출처 표기",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_price.specification": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "가격표엔 규격 칸이 없음(기종·코드·가격만)"
|
||||
"why": "가격표엔 규격 칸이 없음(기종·코드·가격만)",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_rock_adj.rules.exception": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐"
|
||||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mach_rock_adj.rules.exclusion": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐"
|
||||
"why": "[주]① 예외 글을 프로그램 말로 옮긴 칸 — 글자로 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"연료 못 읽은 줄 7505-0025": {
|
||||
"what": "원문 표 토막 수가 안 맞음",
|
||||
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"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` 등) — 이 줄 자료 값은 못 봄"
|
||||
"why": "원문 운전경비 표 토막 수가 코드 수와 안 맞음(`동력 15.1㎾`·`73.7+ 휘발유54.5` 등) — 이 줄 자료 값은 못 봄",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"연료 표 3108-0040": {
|
||||
"codes": [
|
||||
"3108-0040",
|
||||
"3901-0300"
|
||||
],
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음"
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"연료 표 5801-0045": {
|
||||
"codes": [
|
||||
@@ -227,36 +335,57 @@
|
||||
"7101-0450",
|
||||
"7811-0120"
|
||||
],
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음"
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"연료 표 7812-0005": {
|
||||
"codes": [
|
||||
"7812-0005",
|
||||
"7994-0050"
|
||||
],
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음"
|
||||
"why": "원문 운전경비 표 토막 수가 안 맞음 — 이 표 줄은 못 읽음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"운전사 기종별 판단": {
|
||||
"what": 121,
|
||||
"why": "기종→운전사 구분(explicit_mappings)은 사람 판단 — 원문 8-1-3 5호는 기종 이름 글만 있음"
|
||||
"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 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐"
|
||||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"같은 때 공시 20696249": {
|
||||
"what": 2,
|
||||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음"
|
||||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"같은 때 공시 20696250": {
|
||||
"what": 2,
|
||||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음"
|
||||
"why": "같은 공시 일시에 값 실린 공시가 둘 — 원천이 어느 것이 정본인지 안 알려 줌 · 자료는 그중 하나와 같음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 mat_price.price_adopted_reason": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "빌더가 적은 까닭 글 — 원문 칸 아님"
|
||||
"why": "빌더가 적은 까닭 글 — 원문 칸 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"원천 없는 묶음": {
|
||||
"what": [
|
||||
@@ -264,7 +393,10 @@
|
||||
"ready_mixed_concrete",
|
||||
"asphalt_concrete"
|
||||
],
|
||||
"why": "철근·레미콘·아스콘은 종합쇼핑몰 원천이 저장소에 없음 — 값 못 봄"
|
||||
"why": "철근·레미콘·아스콘은 종합쇼핑몰 원천이 저장소에 없음 — 값 못 봄",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
}
|
||||
},
|
||||
"oil_blind": {
|
||||
@@ -273,31 +405,52 @@
|
||||
"유가_전국평균_2026-08-14.json",
|
||||
"유가_시도별_2026-09-09.json"
|
||||
],
|
||||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐"
|
||||
"why": "원문이 API 로 받은 스냅숏 — 게시처(나라장터·오피넷) 값 자체와는 못 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"시도 거래일": {
|
||||
"what": "시도별 원천에 거래일 칸이 없음 — 수집일과만 맞댐",
|
||||
"why": "시도별 원천 줄에 거래일이 없어 `수집일` 로만 맞댐"
|
||||
"why": "시도별 원천 줄에 거래일이 없어 `수집일` 로만 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 oil.scope": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음"
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 oil.unit": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음"
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 oil_regional.scope": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음"
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 oil_regional.source_product_name": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "시도별 원천에 상품 이름 칸 없음"
|
||||
"why": "시도별 원천에 상품 이름 칸 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 oil_regional.unit": {
|
||||
"what": "원문과 안 맞댐",
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음"
|
||||
"why": "프로그램 표기(KRW/L · national_average) — 원천에 칸 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
}
|
||||
},
|
||||
"rate_blind": {
|
||||
@@ -311,59 +464,101 @@
|
||||
"safety_management_cost",
|
||||
"scale_bracket"
|
||||
],
|
||||
"why": "끝수·산식 처리 규칙 — 코드 규칙이라 원문 대조 대상 아님(거울 시험 몫)"
|
||||
"why": "끝수·산식 처리 규칙 — 코드 규칙이라 원문 대조 대상 아님(거울 시험 몫)",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_environment.forest_road_selection_status": {
|
||||
"what": "pending",
|
||||
"why": "임도 공종 선택 미결 표시 — 사용자 협의 몫"
|
||||
"why": "임도 공종 선택 미결 표시 — 사용자 협의 몫",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_environment.minimum_estimated_amount_krw": {
|
||||
"what": 100000000,
|
||||
"why": "xlsx 환경보전비 칸에 1억 기준이 없음(1억은 퇴직공제부금 칸) — 근거 원문이 sources 에 없어 못 봄"
|
||||
"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": "설명 글"
|
||||
"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": "데스크탑 서브가 붙인 설명 글 — 값 아님"
|
||||
"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": "데스크탑 서브가 붙인 설명 글 — 값 아님"
|
||||
"why": "데스크탑 서브가 붙인 설명 글 — 값 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_performance_guarantee_fee.typical_forest_road_applicability": {
|
||||
"what": "not_applicable",
|
||||
"why": "임도 적용 판단 — 원문 칸 아님"
|
||||
"why": "임도 적용 판단 — 원문 칸 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_safety_base.amount_bracket": {
|
||||
"what": "500_million_to_5_billion",
|
||||
"why": "다른 칸을 가리키는 표시 — 값 아님"
|
||||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_safety_base.embedded_in": {
|
||||
"what": "rate_safety_pct.brackets",
|
||||
"why": "다른 칸을 가리키는 표시 — 값 아님"
|
||||
"why": "다른 칸을 가리키는 표시 — 값 아님",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_safety_pct.base_rule": {
|
||||
"what": "min_of_two_formulas",
|
||||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐"
|
||||
"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) 해석이라 안 맞댐"
|
||||
"why": "도급자관급 포함 시 두 식 중 작은 값 — xlsx 글(EB11·EB13) 해석이라 안 맞댐",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_vat.base": {
|
||||
"what": "construction_cost_before_vat",
|
||||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음"
|
||||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"안 잰 칸 rate_vat.rate_percent": {
|
||||
"what": 10.0,
|
||||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음"
|
||||
"why": "부가세 — 근거(부가가치세법)가 sources 에 없음",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
},
|
||||
"조달청 요약표": {
|
||||
"what": "2026.04.13_조달청_토목공사_제비율.xlsx",
|
||||
"why": "xlsx 는 조달청 요약표 — 각 고시 원문과는 안 맞댐(연금만 법령과 맞댐)"
|
||||
"why": "xlsx 는 조달청 요약표 — 각 고시 원문과는 안 맞댐(연금만 법령과 맞댐)",
|
||||
"class": "㉯ 남이 고쳐야 풀림",
|
||||
"owner": "랩탑 메인",
|
||||
"owner_ask": "기계 원천 벌(mach_base_2026.json) 재추출 — 그 추출기가 이 저장소에 없어 우리가 못 돌림"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -513,7 +513,16 @@ def current_mismatches(src: dict) -> dict[str, dict]:
|
||||
|
||||
|
||||
def load_known() -> dict[str, dict]:
|
||||
return json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
"""알려진 어긋남 목록. **「할 일 아님」 칸(`_할일_아님`)도 함께 읽는다.**
|
||||
|
||||
⚠ 왜 합쳐 읽나 — ㉮(원문에 없음·거절 자리·판정으로 닫힘)는 **바퀴마다 다시 세어지지 않게**
|
||||
갈래에서 빼 별도 칸에 둔다(2026-09-18 브레인). 그렇다고 비교에서까지 빠지면 그 줄이 다시
|
||||
「새로 어긋남」으로 빨개진다 — 그래서 **세는 곳에서만 빼고 비교에는 넣는다.**
|
||||
"""
|
||||
data = json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
for kind, rows in ((data.get("_할일_아님") or {}).get("줄") or {}).items():
|
||||
data.setdefault(kind, {}).update(rows)
|
||||
return data
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
|
||||
@@ -624,7 +624,16 @@ def current_mismatches(src: dict) -> dict[str, dict]:
|
||||
|
||||
|
||||
def load_known() -> dict[str, dict]:
|
||||
return json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
"""알려진 어긋남 목록. **「할 일 아님」 칸(`_할일_아님`)도 함께 읽는다.**
|
||||
|
||||
⚠ 왜 합쳐 읽나 — ㉮(원문에 없음·거절 자리·판정으로 닫힘)는 **바퀴마다 다시 세어지지 않게**
|
||||
갈래에서 빼 별도 칸에 둔다(2026-09-18 브레인). 그렇다고 비교에서까지 빠지면 그 줄이 다시
|
||||
「새로 어긋남」으로 빨개진다 — 그래서 **세는 곳에서만 빼고 비교에는 넣는다.**
|
||||
"""
|
||||
data = json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
for kind, rows in ((data.get("_할일_아님") or {}).get("줄") or {}).items():
|
||||
data.setdefault(kind, {}).update(rows)
|
||||
return data
|
||||
|
||||
|
||||
# ── 시험 ────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -326,18 +326,52 @@ def current_mismatches(src: dict) -> dict[str, dict]:
|
||||
|
||||
|
||||
def load_known() -> dict[str, dict]:
|
||||
return json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
"""알려진 어긋남 목록. **「할 일 아님」 칸(`_할일_아님`)도 함께 읽는다.**
|
||||
|
||||
⚠ 왜 합쳐 읽나 — ㉮(원문에 없음·거절 자리·판정으로 닫힘)는 **바퀴마다 다시 세어지지 않게**
|
||||
갈래에서 빼 별도 칸에 둔다(2026-09-18 브레인). 그렇다고 비교에서까지 빠지면 그 줄이 다시
|
||||
「새로 어긋남」으로 빨개진다 — 그래서 **세는 곳에서만 빼고 비교에는 넣는다.**
|
||||
"""
|
||||
data = json.loads(KNOWN.read_text(encoding="utf-8"))
|
||||
for kind, rows in ((data.get("_할일_아님") or {}).get("줄") or {}).items():
|
||||
data.setdefault(kind, {}).update(rows)
|
||||
return data
|
||||
|
||||
|
||||
#: 비교에서 뺄 칸 — **사람이 적은 메모**다. 자료가 아니라 설명이라 어긋남 판정에 안 쓴다.
|
||||
#: `class`·`class_why` 는 2026-09-18 에 붙인 갈래(㉮ 영영 아님 · ㉯ 남의 몫 · ㉰ 사용자 판단).
|
||||
_MEMO_FIELDS = ("why", "class", "class_why", "was")
|
||||
_MEMO_FIELDS = ("why", "class", "class_why", "was", "owner", "owner_ask", "갈래")
|
||||
|
||||
|
||||
def _without_why(entry: dict) -> dict:
|
||||
return {k: v for k, v in entry.items() if k not in _MEMO_FIELDS}
|
||||
|
||||
|
||||
def test_할일_아님_칸이_갈려_있다() -> None:
|
||||
"""㉮ — **영영 할 일이 아닌 것**은 갈래에서 빼 별도 칸에 둔다(2026-09-18 브레인).
|
||||
|
||||
⚠ 왜 못박나 — 섞여 있으면 바퀴마다 「어긋남」으로 다시 세어져 **없는 할 일이 생긴다.**
|
||||
⚠ 지우지는 않는다 — 나중에 「이거 왜 안 했지」 할 때 사유를 보아야 한다.
|
||||
"""
|
||||
block = json.loads(KNOWN.read_text(encoding="utf-8")).get("_할일_아님")
|
||||
assert block, "「할 일 아님」 칸이 없다"
|
||||
rows = block["줄"]
|
||||
total = sum(len(v) for v in rows.values())
|
||||
assert total == 34
|
||||
assert block["갈래별"] == {"거절 자리": 11, "그 밖": 18, "부록 예시": 1, "원문 부재": 4}
|
||||
for kind, got in rows.items():
|
||||
for tid, v in got.items():
|
||||
assert str(v.get("class", "")).startswith("㉮"), f"{kind}/{tid}"
|
||||
assert v.get("class_why"), f"{kind}/{tid} 사유 없음" # 왜 할 일이 아닌지
|
||||
assert v.get("갈래") in ("원문 부재", "부록 예시", "거절 자리", "그 밖"), (
|
||||
f"{kind}/{tid}"
|
||||
)
|
||||
# 세는 칸에서는 빠지고 비교에는 들어간다 — 그래서 빨개지지 않는다
|
||||
merged = load_known()
|
||||
for kind, got in rows.items():
|
||||
assert set(got) <= set(merged[kind])
|
||||
|
||||
|
||||
# ── 시험 ────────────────────────────────────────────────────────────────
|
||||
def test_표_수와_자리(src: dict) -> None:
|
||||
"""원문 표가 원본(`pum_forest`)에 같은 차례·같은 줄로 있고, 마스터에 빠짐없이 한 번씩 있음."""
|
||||
|
||||
Reference in New Issue
Block a user