diff --git a/resources/data_cost_input_value/coef_2026.json b/resources/data_cost_input_value/coef_2026.json index 51cb6ef4..04b094fe 100644 --- a/resources/data_cost_input_value/coef_2026.json +++ b/resources/data_cost_input_value/coef_2026.json @@ -1,1250 +1,1250 @@ { - "schema_version": "1.0", - "dataset_id": "coef", - "effective_date": "2026-01-01", - "generated_at": "2026-08-15T08:09:28+09:00", - "sources": [ - { - "path": "resources/knowledge/original/행정규칙/임도 품셈 적용기준 (현 산림사업 표준품셈)/첨부/(산림청고시 제2025-82호) 산림사업 표준품셈.md", - "sha256": "c42a5e1dfaf55e67fb37eb03ff6ea471b5811f2ad035c339947d91c0ae726625", - "role": "primary" - }, - { - "path": "resources/knowledge/technical_info/01_임도/03_계산정보/토량계산.md", - "sha256": "a4d320029f0ed8af8513f4cb73b89b509bb65cad8996798f4451d8d80cfc5824", - "role": "soil_coefficients" - } - ], - "variables": { - "surcharge_labor": { - "unit": "percent", - "representation": "full_source_tables", - "application_status": "project_condition_selection_required", - "tables": [ - { - "section": "1-4-1. 작업시기", - "line": 930, - "headers": [ - "작업시기", - "할증률" - ], - "rows": [ - [ - "6월∼9월", - "10%" - ], - [ - "10월∼12월", - "5%" - ], - [ - "1∼5월", - "0%" - ] - ] - }, - { - "section": "1-4-2. 조림 후 경과연수", - "line": 941, - "headers": [ - "조림 후 경과연수", - "할증률" - ], - "rows": [ - [ - "3년차 이상", - "10%" - ], - [ - "2년차", - "5%" - ], - [ - "당해 연도(전년도 추기조림 포함)", - "0%" - ] - ] - }, - { - "section": "1-4-3. 집단화정도", - "line": 951, - "headers": [ - "구 분", - "집단화 정도", - "할증률" - ], - "rows": [ - [ - "집단화 정도", - "개소당 평균면적이 1ha 미만", - "10%" - ], - [ - "개소당 평균면적이 1~3ha 미만", - "5%", - "" - ], - [ - "개소당 평균면적이 3ha 이상", - "0%", - "" - ] - ] - }, - { - "section": "1-4-4. 작업구역", - "line": 966, - "headers": [ - "구 분", - "집단화 정도", - "할인․할증률" - ], - "rows": [ - [ - "작업구역", - "개소 평균 1ha 미만", - "10%" - ], - [ - "개소 평균 1~3ha 미만", - "5%", - "" - ], - [ - "개소 평균 3~5ha 미만", - "0%", - "" - ], - [ - "개소당 평균 5ha 이상", - "-5%", - "" - ], - [ - "벌채구역 크기", - "개벌지 크기가 700㎡(또는 벌채폭 30m) 이하", - "10%" - ], - [ - "개벌지 크기가 3,000㎡(또는 벌채폭 60m) 미만", - "5%", - "" - ], - [ - "개벌지 크기가 3,000㎡ 이상", - "0%", - "" - ] - ] - }, - { - "section": "1-4-5. 경사도", - "line": 981, - "headers": [ - "적용기준", - "경사도", - "할인․할증률" - ], - "rows": [ - [ - "산지경사", - "급 (30° 초과)", - "10%" - ], - [ - "중 (15~30°)", - "5%", - "" - ], - [ - "완 (15° 미만)", - "0%", - "" - ], - [ - "평균경사도", - "평균경사도 50%이상", - "20%" - ], - [ - "평균경사도 20%~50%미만", - "10%", - "" - ], - [ - "평균경사도 10%~20%미만", - "5%", - "" - ], - [ - "평균경사도 10%미만", - "0%", - "" - ] - ] - }, - { - "section": "1-4-6. 작업장까지의 이동거리", - "line": 998, - "headers": [ - "구 분", - "작업장까지 이동거리", - "할증률" - ], - "rows": [ - [ - "도 보", - "2.5㎞ 이상", - "10%" - ], - [ - "1.3㎞∼2.5㎞ 미만", - "5%", - "" - ], - [ - "1.3㎞ 미만", - "0%", - "" - ], - [ - "차 량", - "2.5㎞ 이상", - "10%" - ], - [ - "1.3㎞∼2.5㎞ 미만", - "5%", - "" - ], - [ - "1.3㎞ 미만", - "0%", - "" - ] - ] - }, - { - "section": "1-4-7. 하층식생", - "line": 1011, - "headers": [ - "하층식생", - "할증률" - ], - "rows": [ - [ - "식생을 제거하지 않고는 보행이 곤란하다", - "10%" - ], - [ - "보행하는데 약간의 어려움이 있다", - "5%" - ], - [ - "보행이 용이하다", - "0%" - ] - ] - }, - { - "section": "1-4-8. 장애물의 정도", - "line": 1019, - "headers": [ - "장애물의 정도", - "할증률" - ], - "rows": [ - [ - "가슴높이 이상의 초본․관목", - "10%" - ], - [ - "가슴높이 미만의 초본․관목", - "5%" - ], - [ - "무릎높이 이하의 초본․관목", - "0%" - ] - ] - }, - { - "section": "1-4-9. 제거대상 식생", - "line": 1029, - "headers": [ - "제거대상 식생", - "할증률" - ], - "rows": [ - [ - "어렵다(높이 1.2m 이상이고, 직경이 4~6cm 이상)", - "10%" - ], - [ - "보통이다(높이 1.2m 이상이고, 직경이 4~6cm 미만)", - "5%" - ], - [ - "쉽다(높이 1.2m 미만이고, 낫으로도 제거가 용이)", - "0%" - ] - ] - }, - { - "section": "1-4-10. 토양상태", - "line": 1039, - "headers": [ - "토양조건", - "할증률" - ], - "rows": [ - [ - "돌 등 장애물 함량이 30% 이상이고, 나무뿌리가 밀하게 분포할 경우", - "10%" - ], - [ - "돌 등 장애물 함량이 10~30%이고, 나무뿌리가 보통정도로 분포할 경우", - "5%" - ], - [ - "식혈시 장애물이 거의 없음", - "0%" - ] - ] - }, - { - "section": "1-4-11. 덩굴피복도", - "line": 1049, - "headers": [ - "덩굴 피복도", - "할인․할증률" - ], - "rows": [ - [ - "과밀(80%초과 피복)", - "50%" - ], - [ - "밀(60~80%미만 피복)", - "20%" - ], - [ - "보통(40~60%미만 피복)", - "0%" - ], - [ - "소(20~40%미만 피복)", - "-20%" - ], - [ - "과소(20%미만 피복)", - "-50%" - ] - ] - }, - { - "section": "1-4-12. 제거대상 피복도", - "line": 1061, - "headers": [ - "제거대상 피복도", - "할인․할증률" - ], - "rows": [ - [ - "대 (임지의 71% 이상 분포)", - "20%" - ], - [ - "중 (임지의 41%~70% 분포)", - "0%" - ], - [ - "소 (임지의 40% 이하 분포)", - "-20%" - ] - ] - }, - { - "section": "1-4-13. 주행 장애물 상태", - "line": 1073, - "headers": [ - "주행 장애물 상태", - "할증률" - ], - "rows": [ - [ - "돌, 도랑, 그루터기 등으로 주행이 매우 힘들다", - "10%" - ], - [ - "돌, 도랑, 그루터기 등으로 주행이 다소 힘들다", - "5%" - ], - [ - "주행에 어려움이 없다", - "0%" - ] - ] - }, - { - "section": "1-4-14. 집재방향", - "line": 1081, - "headers": [ - "구분", - "집재방향", - "할증률", - "" - ], - "rows": [ - [ - "가선을 이용한 기계장비의 원목․생산재 집재", - "하향집재", - "10%", - "" - ], - [ - "상향집재", - "0%", - "", - "" - ], - [ - "소나무재선충병 인력에 의한 원목 및 재해산물 수집", - "상향집재", - "급(30°초과)", - "10%" - ], - [ - "중(15~30°)", - "5%", - "", - "" - ], - [ - "완(15° 미만)", - "0%", - "", - "" - ], - [ - "소나무재선충병 방제 훈증더미 제거", - "상향집재", - "10%", - "" - ], - [ - "수평 또는 하향집재", - "0%", - "", - "" - ] - ] - }, - { - "section": "1-4-15. 횡단운반거리", - "line": 1095, - "headers": [ - "횡단운반거리", - "할증률" - ], - "rows": [ - [ - "11~20m", - "10%" - ], - [ - "6~10m", - "5%" - ], - [ - "0~5m", - "0%" - ] - ] - }, - { - "section": "1-4-16. 규격재 생산", - "line": 1105, - "headers": [ - "적용 조건", - "할증률" - ], - "rows": [ - [ - "규격재 생산을 위한 조재", - "20%" - ] - ] - }, - { - "section": "1-4-17. 방제대상목 분포", - "line": 1111, - "headers": [ - "구 분", - "대상목 분포", - "할인․할증률" - ], - "rows": [ - [ - "산림병해충방제 (단목베기, 나무주사)", - "10본/ha 미만", - "30%" - ], - [ - "10~29본/ha", - "20%", - "" - ], - [ - "30~49본/ha", - "10%", - "" - ], - [ - "50본/ha 이상", - "0", - "" - ], - [ - "소나무재선충병방제 (소각, 매몰, 훈증, 박피)", - "15본/ha 이하", - "20%" - ], - [ - "15본~25본/ha", - "10%", - "" - ], - [ - "25본~35본/ha", - "0%", - "" - ], - [ - "35본~45본/ha", - "-10%", - "" - ], - [ - "45본/ha 이상", - "-20%", - "" - ] - ] - }, - { - "section": "1-4-18. 방제대상목 평균 경급", - "line": 1125, - "headers": [ - "구분", - "평균경급", - "할인․할증률" - ], - "rows": [ - [ - "산림병해충방제 (산물수집-기계장비 집재)", - "22~26cm", - "10%" - ], - [ - "16~20cm", - "0%", - "" - ], - [ - "소나무재선충병방제 (그물망 피복)", - "16cm 이하", - "10%" - ], - [ - "18cm", - "0%", - "" - ], - [ - "20cm 이상", - "-10%", - "" - ] - ] - }, - { - "section": "1-4-18. 방제대상목 평균 경급", - "line": 1135, - "headers": [ - "구분", - "내 용", - "할증률" - ], - "rows": [ - [ - "매개충나무주사", - "매개충나무주사 실행", - "30%" - ] - ] - }, - { - "section": "1-4-20. 방제지 사면", - "line": 1143, - "headers": [ - "구 분", - "내 용", - "할인․할증률" - ], - "rows": [ - [ - "사면형", - "종․횡방향 복합사면(가시거리 매우불량, 고소작업차 이동 필요)", - "10%" - ], - [ - "종방향 복합사면(가시거리 불량, 고소작업차 사용 필요)", - "5%", - "" - ], - [ - "횡방향 복합사면(가시거리 보통)", - "0%", - "" - ], - [ - "단순사면(가시거리 양호)", - "-5%", - "" - ] - ] - }, - { - "section": "1-4-21. 방제지 접근성", - "line": 1155, - "headers": [ - "구 분", - "내 용", - "할증률" - ], - "rows": [ - [ - "접근성", - "이착륙장~방재사업지까지의 이동거리 200m 이상 거리까지 차량접근 가능", - "20%" - ], - [ - "이착륙장~방재사업지까지의 이동거리 200m 이내 까지 차량접근 가능", - "10%", - "" - ], - [ - "이착륙장~방재사업지까지의 이동거리 100m 이내 까지 차량접근 가능", - "0%", - "" - ] - ] - }, - { - "section": "1-4-22. 방제 수종", - "line": 1168, - "headers": [ - "구 분", - "내 용", - "할증률" - ], - "rows": [ - [ - "방제 수종", - "잣나무", - "20%" - ], - [ - "소나무, 해송", - "0%", - "" - ] - ] - }, - { - "section": "1-4-23. 방제목 운반거리", - "line": 1175, - "headers": [ - "구 분", - "내 용", - "할증률" - ], - "rows": [ - [ - "그물망 피복 시 임내 운반거리", - "200m 초과", - "20%" - ], - [ - "101~200m", - "10%", - "" - ], - [ - "100m 이하", - "0%", - "" - ], - [ - "수라집재 시 목재 운반거리", - "11~20m", - "10%" - ], - [ - "6~10m", - "5%", - "" - ], - [ - "0~5m", - "0%", - "" - ] - ] - }, - { - "section": "1-4-24. 방제장비 규격", - "line": 1188, - "headers": [ - "구 분", - "내 용", - "할인률" - ], - "rows": [ - [ - "장비의 규격 (굴삭기)", - "0.2㎥", - "0" - ], - [ - "0.4㎥ 이상", - "장비품의 -20%", - "" - ] - ] - }, - { - "section": "1-4-25. 작업시간 제한", - "line": 1197, - "headers": [ - "구 분", - "적용조건", - "할증률" - ], - "rows": [ - [ - "작업 가능 시간", - "2시간 이하", - "50%" - ], - [ - "3시간 이하", - "35%", - "" - ], - [ - "4시간 이하", - "25%", - "" - ], - [ - "5시간 이하", - "20%", - "" - ], - [ - "6시간 이하", - "15%", - "" - ] - ] - }, - { - "section": "1-4-26. 소규모 작업물량 제한", - "line": 1212, - "headers": [ - "구분", - "조 건", - "적용시공량", - "" - ], - "rows": [ - [ - "1", - "A ≦ B/2 일 경우", - "Q = B/2", - "" - ], - [ - "2", - "B/2 < A ≦ B 일 경우", - "Q = B", - "" - ] - ] - } - ] - }, - "surcharge_mat": { - "used_value_at": "resources/data_material_surcharge/material_surcharge_2026-01-01.json → rates_pct — ⚠ 코드가 읽어 쓰는 값은 저기다. 이 표는 원문 보관용이라 읽는 코드가 없다(두 벌이 아니다).", - "unit": "percent", - "representation": "full_source_tables", - "duplicate_application_prohibited": true, - "tables": [ - { - "section": "1-3-1. 재료의 할증", - "line": 857, - "headers": [ - "종 류", - "정 치 식 (%)", - "기 타 (%)" - ], - "rows": [ - [ - "시 멘 트", - "2", - "3" - ], - [ - "잔골재ㆍ채움재", - "10", - "12" - ], - [ - "굵 은 골 재", - "3", - "5" - ], - [ - "아 스 팔 트", - "2", - "3" - ], - [ - "석 분", - "2", - "3" - ], - [ - "혼 화 재", - "2", - "-" - ] - ] - }, - { - "section": "1-3-1. 재료의 할증", - "line": 869, - "headers": [ - "종 류", - "할 증 률 (%)" - ], - "rows": [ - [ - "모 래", - "6" - ], - [ - "부순돌ㆍ자갈ㆍ막자갈", - "4" - ], - [ - "석 분", - "0" - ], - [ - "점 질 토", - "6" - ] - ] - }, - { - "section": "1-3-1. 재료의 할증", - "line": 878, - "headers": [ - "종 류", - "할 증 률 (%)" - ], - "rows": [ - [ - "모 래", - "4" - ] - ] - }, - { - "section": "1-3-1. 재료의 할증", - "line": 884, - "headers": [ - "종 류", - "할 증 률 (%)" - ], - "rows": [ - [ - "원 형 철 근", - "5" - ], - [ - "이 형 철 근", - "3" - ], - [ - "이형철근 (교량·지하철 및 이와 유사한 복잡한 구조물의 주철근)", - "6-7" - ], - [ - "강 판", - "10" - ], - [ - "강관(옥외 수도용 강관 제외)", - "5" - ], - [ - "대형형강 (形 鋼)", - "7" - ], - [ - "소 형 형 강", - "5" - ], - [ - "봉 강 (棒 鋼)", - "5" - ], - [ - "평 강 대 강", - "5" - ], - [ - "경량형 강각(角) 파이프", - "5" - ], - [ - "리 벳 (제 품)", - "5" - ] - ] - }, - { - "section": "1-3-1. 재료의 할증", - "line": 901, - "headers": [ - "재 료 별", - "할 증 률 (%)", - "" - ], - "rows": [ - [ - "목 재", - "각 재", - "5" - ], - [ - "판 재", - "10", - "" - ], - [ - "합 판", - "일반용 합판", - "3" - ], - [ - "수장용 합판", - "5", - "" - ], - [ - "조립식구조물(U형플륨관 등)", - "3", - "" - ], - [ - "레디믹스트콘크리트타설 (현장 플랜트 포함)", - "무근 구조물", - "2" - ], - [ - "철근 구조물", - "1", - "" - ], - [ - "철골 구조물", - "1", - "" - ], - [ - "원 석 (마름돌용)", - "30", - "" - ], - [ - "사방용 수목", - "10", - "" - ], - [ - "떼 및 초화류", - "10", - "" - ], - [ - "현장콘크리트 타설 (인력 및 믹서)", - "무근구조물", - "3" - ], - [ - "철근구조물", - "2", - "" - ], - [ - "소형구조물", - "5", - "" - ], - [ - "아스팔트콘크리트 포설(현장플랜트 포함)", - "2", - "" - ], - [ - "콘크리트포장 포설", - "4", - "" - ], - [ - "원심력철근콘크리트관", - "3", - "" - ] - ] - } - ] - }, - "rate_tool": { - "min_percent": 2.0, - "max_percent": 5.0, - "base": "main_material_cost", - "selection_required": true - }, - "coef_soil_L": { - "key": "soil_type", - "duplicate_note": "품셈 원문(체적의 변화율 표)이 '역이 섞인 점질토'를 값이 다른 2행으로, '암괴나 호박돌이 섞인 점토'를 동일값 2행으로 중복 수록 (원문 오기 가능성 있으나 임의 보정 없이 원문대로 유지 — 2026-08-14 감사). 프로그램 기본 채택행은 사용자 선정 대기: 03_미결_및_확인사항.md 참조", - "records": [ - { - "soil_type": "경암", - "min": 1.7, - "max": 2.0 - }, - { - "soil_type": "보통암", - "min": 1.55, - "max": 1.7 - }, - { - "soil_type": "연암", - "min": 1.3, - "max": 1.5 - }, - { - "soil_type": "풍화암", - "min": 1.3, - "max": 1.35 - }, - { - "soil_type": "폐콘크리트", - "min": 1.4, - "max": 1.6 - }, - { - "soil_type": "호박돌", - "min": 1.1, - "max": 1.15 - }, - { - "soil_type": "역(礫)", - "min": 1.1, - "max": 1.2 - }, - { - "soil_type": "역질토", - "min": 1.15, - "max": 1.2 - }, - { - "soil_type": "고결된 역질토", - "min": 1.25, - "max": 1.45 - }, - { - "soil_type": "모래", - "min": 1.2, - "max": 1.3 - }, - { - "soil_type": "암괴ㆍ호박돌 섞인 모래", - "min": 1.4, - "max": 1.45 - }, - { - "soil_type": "점질토", - "min": 1.25, - "max": 1.35 - }, - { - "soil_type": "역(礫)이 섞인 점질토", - "min": 1.35, - "max": 1.4, - "duplicate_group": "역이 섞인 점질토", - "duplicate_index": 1, - "selection": "pending" - }, - { - "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", - "min": 1.4, - "max": 1.45, - "duplicate_group": "암괴나 호박돌이 섞인 점토", - "duplicate_index": 1, - "duplicate_same_value": true, - "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", - "selection": "pending" - }, - { - "soil_type": "점토", - "min": 1.2, - "max": 1.45 - }, - { - "soil_type": "역이 섞인 점질토", - "min": 1.3, - "max": 1.4, - "duplicate_group": "역이 섞인 점질토", - "duplicate_index": 2, - "selection": "pending" - }, - { - "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", - "min": 1.4, - "max": 1.45, - "duplicate_group": "암괴나 호박돌이 섞인 점토", - "duplicate_index": 2, - "duplicate_same_value": true, - "hidden_duplicate": true, - "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", - "selection": "pending" - } - ] - }, - "coef_soil_C": { - "key": "soil_type", - "duplicate_note": "coef_soil_L 의 duplicate_note 와 동일 — 원문 중복 2행 쌍 유지, 채택행 사용자 선정 대기", - "records": [ - { - "soil_type": "경암", - "min": 1.3, - "max": 1.5 - }, - { - "soil_type": "보통암", - "min": 1.2, - "max": 1.4 - }, - { - "soil_type": "연암", - "min": 1.0, - "max": 1.3 - }, - { - "soil_type": "풍화암", - "min": 1.0, - "max": 1.15 - }, - { - "soil_type": "폐콘크리트", - "rule": "별도 설계" - }, - { - "soil_type": "호박돌", - "min": 0.95, - "max": 1.05 - }, - { - "soil_type": "역(礫)", - "min": 1.05, - "max": 1.1 - }, - { - "soil_type": "역질토", - "min": 0.9, - "max": 1.0 - }, - { - "soil_type": "고결된 역질토", - "min": 1.1, - "max": 1.3 - }, - { - "soil_type": "모래", - "min": 0.85, - "max": 0.9 - }, - { - "soil_type": "암괴ㆍ호박돌 섞인 모래", - "min": 0.9, - "max": 0.95 - }, - { - "soil_type": "점질토", - "min": 0.85, - "max": 0.95 - }, - { - "soil_type": "역(礫)이 섞인 점질토", - "min": 0.9, - "max": 1.0, - "duplicate_group": "역이 섞인 점질토", - "duplicate_index": 1, - "selection": "pending" - }, - { - "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", - "min": 0.9, - "max": 0.95, - "duplicate_group": "암괴나 호박돌이 섞인 점토", - "duplicate_index": 1, - "duplicate_same_value": true, - "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", - "selection": "pending" - }, - { - "soil_type": "점토", - "min": 0.85, - "max": 0.95 - }, - { - "soil_type": "역이 섞인 점질토", - "min": 0.9, - "max": 0.95, - "duplicate_group": "역이 섞인 점질토", - "duplicate_index": 2, - "selection": "pending" - }, - { - "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", - "min": 0.9, - "max": 0.95, - "duplicate_group": "암괴나 호박돌이 섞인 점토", - "duplicate_index": 2, - "duplicate_same_value": true, - "hidden_duplicate": true, - "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", - "selection": "pending" - } - ] - } + "schema_version": "1.0", + "dataset_id": "coef", + "effective_date": "2026-01-01", + "generated_at": "2026-08-15T08:09:28+09:00", + "sources": [ + { + "path": "resources/knowledge/original/행정규칙/임도 품셈 적용기준 (현 산림사업 표준품셈)/첨부/(산림청고시 제2025-82호) 산림사업 표준품셈.md", + "sha256": "c42a5e1dfaf55e67fb37eb03ff6ea471b5811f2ad035c339947d91c0ae726625", + "role": "primary" + }, + { + "path": "resources/knowledge/technical_info/01_임도/03_계산정보/토량계산.md", + "sha256": "a4d320029f0ed8af8513f4cb73b89b509bb65cad8996798f4451d8d80cfc5824", + "role": "soil_coefficients" } + ], + "variables": { + "surcharge_labor": { + "unit": "percent", + "representation": "full_source_tables", + "application_status": "project_condition_selection_required", + "tables": [ + { + "section": "1-4-1. 작업시기", + "line": 930, + "headers": [ + "작업시기", + "할증률" + ], + "rows": [ + [ + "6월∼9월", + "10%" + ], + [ + "10월∼12월", + "5%" + ], + [ + "1∼5월", + "0%" + ] + ] + }, + { + "section": "1-4-2. 조림 후 경과연수", + "line": 941, + "headers": [ + "조림 후 경과연수", + "할증률" + ], + "rows": [ + [ + "3년차 이상", + "10%" + ], + [ + "2년차", + "5%" + ], + [ + "당해 연도(전년도 추기조림 포함)", + "0%" + ] + ] + }, + { + "section": "1-4-3. 집단화정도", + "line": 951, + "headers": [ + "구 분", + "집단화 정도", + "할증률" + ], + "rows": [ + [ + "집단화 정도", + "개소당 평균면적이 1ha 미만", + "10%" + ], + [ + "개소당 평균면적이 1~3ha 미만", + "5%", + "" + ], + [ + "개소당 평균면적이 3ha 이상", + "0%", + "" + ] + ] + }, + { + "section": "1-4-4. 작업구역", + "line": 966, + "headers": [ + "구 분", + "집단화 정도", + "할인․할증률" + ], + "rows": [ + [ + "작업구역", + "개소 평균 1ha 미만", + "10%" + ], + [ + "개소 평균 1~3ha 미만", + "5%", + "" + ], + [ + "개소 평균 3~5ha 미만", + "0%", + "" + ], + [ + "개소당 평균 5ha 이상", + "-5%", + "" + ], + [ + "벌채구역 크기", + "개벌지 크기가 700㎡(또는 벌채폭 30m) 이하", + "10%" + ], + [ + "개벌지 크기가 3,000㎡(또는 벌채폭 60m) 미만", + "5%", + "" + ], + [ + "개벌지 크기가 3,000㎡ 이상", + "0%", + "" + ] + ] + }, + { + "section": "1-4-5. 경사도", + "line": 981, + "headers": [ + "적용기준", + "경사도", + "할인․할증률" + ], + "rows": [ + [ + "산지경사", + "급 (30° 초과)", + "10%" + ], + [ + "중 (15~30°)", + "5%", + "" + ], + [ + "완 (15° 미만)", + "0%", + "" + ], + [ + "평균경사도", + "평균경사도 50%이상", + "20%" + ], + [ + "평균경사도 20%~50%미만", + "10%", + "" + ], + [ + "평균경사도 10%~20%미만", + "5%", + "" + ], + [ + "평균경사도 10%미만", + "0%", + "" + ] + ] + }, + { + "section": "1-4-6. 작업장까지의 이동거리", + "line": 998, + "headers": [ + "구 분", + "작업장까지 이동거리", + "할증률" + ], + "rows": [ + [ + "도 보", + "2.5㎞ 이상", + "10%" + ], + [ + "1.3㎞∼2.5㎞ 미만", + "5%", + "" + ], + [ + "1.3㎞ 미만", + "0%", + "" + ], + [ + "차 량", + "2.5㎞ 이상", + "10%" + ], + [ + "1.3㎞∼2.5㎞ 미만", + "5%", + "" + ], + [ + "1.3㎞ 미만", + "0%", + "" + ] + ] + }, + { + "section": "1-4-7. 하층식생", + "line": 1011, + "headers": [ + "하층식생", + "할증률" + ], + "rows": [ + [ + "식생을 제거하지 않고는 보행이 곤란하다", + "10%" + ], + [ + "보행하는데 약간의 어려움이 있다", + "5%" + ], + [ + "보행이 용이하다", + "0%" + ] + ] + }, + { + "section": "1-4-8. 장애물의 정도", + "line": 1019, + "headers": [ + "장애물의 정도", + "할증률" + ], + "rows": [ + [ + "가슴높이 이상의 초본․관목", + "10%" + ], + [ + "가슴높이 미만의 초본․관목", + "5%" + ], + [ + "무릎높이 이하의 초본․관목", + "0%" + ] + ] + }, + { + "section": "1-4-9. 제거대상 식생", + "line": 1029, + "headers": [ + "제거대상 식생", + "할증률" + ], + "rows": [ + [ + "어렵다(높이 1.2m 이상이고, 직경이 4~6cm 이상)", + "10%" + ], + [ + "보통이다(높이 1.2m 이상이고, 직경이 4~6cm 미만)", + "5%" + ], + [ + "쉽다(높이 1.2m 미만이고, 낫으로도 제거가 용이)", + "0%" + ] + ] + }, + { + "section": "1-4-10. 토양상태", + "line": 1039, + "headers": [ + "토양조건", + "할증률" + ], + "rows": [ + [ + "돌 등 장애물 함량이 30% 이상이고, 나무뿌리가 밀하게 분포할 경우", + "10%" + ], + [ + "돌 등 장애물 함량이 10~30%이고, 나무뿌리가 보통정도로 분포할 경우", + "5%" + ], + [ + "식혈시 장애물이 거의 없음", + "0%" + ] + ] + }, + { + "section": "1-4-11. 덩굴피복도", + "line": 1049, + "headers": [ + "덩굴 피복도", + "할인․할증률" + ], + "rows": [ + [ + "과밀(80%초과 피복)", + "50%" + ], + [ + "밀(60~80%미만 피복)", + "20%" + ], + [ + "보통(40~60%미만 피복)", + "0%" + ], + [ + "소(20~40%미만 피복)", + "-20%" + ], + [ + "과소(20%미만 피복)", + "-50%" + ] + ] + }, + { + "section": "1-4-12. 제거대상 피복도", + "line": 1061, + "headers": [ + "제거대상 피복도", + "할인․할증률" + ], + "rows": [ + [ + "대 (임지의 71% 이상 분포)", + "20%" + ], + [ + "중 (임지의 41%~70% 분포)", + "0%" + ], + [ + "소 (임지의 40% 이하 분포)", + "-20%" + ] + ] + }, + { + "section": "1-4-13. 주행 장애물 상태", + "line": 1073, + "headers": [ + "주행 장애물 상태", + "할증률" + ], + "rows": [ + [ + "돌, 도랑, 그루터기 등으로 주행이 매우 힘들다", + "10%" + ], + [ + "돌, 도랑, 그루터기 등으로 주행이 다소 힘들다", + "5%" + ], + [ + "주행에 어려움이 없다", + "0%" + ] + ] + }, + { + "section": "1-4-14. 집재방향", + "line": 1081, + "headers": [ + "구분", + "집재방향", + "할증률", + "" + ], + "rows": [ + [ + "가선을 이용한 기계장비의 원목․생산재 집재", + "하향집재", + "10%", + "" + ], + [ + "상향집재", + "0%", + "", + "" + ], + [ + "소나무재선충병 인력에 의한 원목 및 재해산물 수집", + "상향집재", + "급(30°초과)", + "10%" + ], + [ + "중(15~30°)", + "5%", + "", + "" + ], + [ + "완(15° 미만)", + "0%", + "", + "" + ], + [ + "소나무재선충병 방제 훈증더미 제거", + "상향집재", + "10%", + "" + ], + [ + "수평 또는 하향집재", + "0%", + "", + "" + ] + ] + }, + { + "section": "1-4-15. 횡단운반거리", + "line": 1095, + "headers": [ + "횡단운반거리", + "할증률" + ], + "rows": [ + [ + "11~20m", + "10%" + ], + [ + "6~10m", + "5%" + ], + [ + "0~5m", + "0%" + ] + ] + }, + { + "section": "1-4-16. 규격재 생산", + "line": 1105, + "headers": [ + "적용 조건", + "할증률" + ], + "rows": [ + [ + "규격재 생산을 위한 조재", + "20%" + ] + ] + }, + { + "section": "1-4-17. 방제대상목 분포", + "line": 1111, + "headers": [ + "구 분", + "대상목 분포", + "할인․할증률" + ], + "rows": [ + [ + "산림병해충방제 (단목베기, 나무주사)", + "10본/ha 미만", + "30%" + ], + [ + "10~29본/ha", + "20%", + "" + ], + [ + "30~49본/ha", + "10%", + "" + ], + [ + "50본/ha 이상", + "0", + "" + ], + [ + "소나무재선충병방제 (소각, 매몰, 훈증, 박피)", + "15본/ha 이하", + "20%" + ], + [ + "15본~25본/ha", + "10%", + "" + ], + [ + "25본~35본/ha", + "0%", + "" + ], + [ + "35본~45본/ha", + "-10%", + "" + ], + [ + "45본/ha 이상", + "-20%", + "" + ] + ] + }, + { + "section": "1-4-18. 방제대상목 평균 경급", + "line": 1125, + "headers": [ + "구분", + "평균경급", + "할인․할증률" + ], + "rows": [ + [ + "산림병해충방제 (산물수집-기계장비 집재)", + "22~26cm", + "10%" + ], + [ + "16~20cm", + "0%", + "" + ], + [ + "소나무재선충병방제 (그물망 피복)", + "16cm 이하", + "10%" + ], + [ + "18cm", + "0%", + "" + ], + [ + "20cm 이상", + "-10%", + "" + ] + ] + }, + { + "section": "1-4-18. 방제대상목 평균 경급", + "line": 1135, + "headers": [ + "구분", + "내 용", + "할증률" + ], + "rows": [ + [ + "매개충나무주사", + "매개충나무주사 실행", + "30%" + ] + ] + }, + { + "section": "1-4-20. 방제지 사면", + "line": 1143, + "headers": [ + "구 분", + "내 용", + "할인․할증률" + ], + "rows": [ + [ + "사면형", + "종․횡방향 복합사면(가시거리 매우불량, 고소작업차 이동 필요)", + "10%" + ], + [ + "종방향 복합사면(가시거리 불량, 고소작업차 사용 필요)", + "5%", + "" + ], + [ + "횡방향 복합사면(가시거리 보통)", + "0%", + "" + ], + [ + "단순사면(가시거리 양호)", + "-5%", + "" + ] + ] + }, + { + "section": "1-4-21. 방제지 접근성", + "line": 1155, + "headers": [ + "구 분", + "내 용", + "할증률" + ], + "rows": [ + [ + "접근성", + "이착륙장~방재사업지까지의 이동거리 200m 이상 거리까지 차량접근 가능", + "20%" + ], + [ + "이착륙장~방재사업지까지의 이동거리 200m 이내 까지 차량접근 가능", + "10%", + "" + ], + [ + "이착륙장~방재사업지까지의 이동거리 100m 이내 까지 차량접근 가능", + "0%", + "" + ] + ] + }, + { + "section": "1-4-22. 방제 수종", + "line": 1168, + "headers": [ + "구 분", + "내 용", + "할증률" + ], + "rows": [ + [ + "방제 수종", + "잣나무", + "20%" + ], + [ + "소나무, 해송", + "0%", + "" + ] + ] + }, + { + "section": "1-4-23. 방제목 운반거리", + "line": 1175, + "headers": [ + "구 분", + "내 용", + "할증률" + ], + "rows": [ + [ + "그물망 피복 시 임내 운반거리", + "200m 초과", + "20%" + ], + [ + "101~200m", + "10%", + "" + ], + [ + "100m 이하", + "0%", + "" + ], + [ + "수라집재 시 목재 운반거리", + "11~20m", + "10%" + ], + [ + "6~10m", + "5%", + "" + ], + [ + "0~5m", + "0%", + "" + ] + ] + }, + { + "section": "1-4-24. 방제장비 규격", + "line": 1188, + "headers": [ + "구 분", + "내 용", + "할인률" + ], + "rows": [ + [ + "장비의 규격 (굴삭기)", + "0.2㎥", + "0" + ], + [ + "0.4㎥ 이상", + "장비품의 -20%", + "" + ] + ] + }, + { + "section": "1-4-25. 작업시간 제한", + "line": 1197, + "headers": [ + "구 분", + "적용조건", + "할증률" + ], + "rows": [ + [ + "작업 가능 시간", + "2시간 이하", + "50%" + ], + [ + "3시간 이하", + "35%", + "" + ], + [ + "4시간 이하", + "25%", + "" + ], + [ + "5시간 이하", + "20%", + "" + ], + [ + "6시간 이하", + "15%", + "" + ] + ] + }, + { + "section": "1-4-26. 소규모 작업물량 제한", + "line": 1212, + "headers": [ + "구분", + "조 건", + "적용시공량", + "" + ], + "rows": [ + [ + "1", + "A ≦ B/2 일 경우", + "Q = B/2", + "" + ], + [ + "2", + "B/2 < A ≦ B 일 경우", + "Q = B", + "" + ] + ] + } + ] + }, + "surcharge_mat": { + "used_value_at": "resources/data_material_surcharge/material_surcharge_2026-01-01.json → rates_pct — ⚠ 코드가 읽어 쓰는 값은 저기다. 이 표는 원문 보관용이라 읽는 코드가 없다(두 벌이 아니다).", + "unit": "percent", + "representation": "full_source_tables", + "duplicate_application_prohibited": true, + "tables": [ + { + "section": "1-3-1. 재료의 할증", + "line": 857, + "headers": [ + "종 류", + "정 치 식 (%)", + "기 타 (%)" + ], + "rows": [ + [ + "시 멘 트", + "2", + "3" + ], + [ + "잔골재ㆍ채움재", + "10", + "12" + ], + [ + "굵 은 골 재", + "3", + "5" + ], + [ + "아 스 팔 트", + "2", + "3" + ], + [ + "석 분", + "2", + "3" + ], + [ + "혼 화 재", + "2", + "-" + ] + ] + }, + { + "section": "1-3-1. 재료의 할증", + "line": 869, + "headers": [ + "종 류", + "할 증 률 (%)" + ], + "rows": [ + [ + "모 래", + "6" + ], + [ + "부순돌ㆍ자갈ㆍ막자갈", + "4" + ], + [ + "석 분", + "0" + ], + [ + "점 질 토", + "6" + ] + ] + }, + { + "section": "1-3-1. 재료의 할증", + "line": 878, + "headers": [ + "종 류", + "할 증 률 (%)" + ], + "rows": [ + [ + "모 래", + "4" + ] + ] + }, + { + "section": "1-3-1. 재료의 할증", + "line": 884, + "headers": [ + "종 류", + "할 증 률 (%)" + ], + "rows": [ + [ + "원 형 철 근", + "5" + ], + [ + "이 형 철 근", + "3" + ], + [ + "이형철근 (교량·지하철 및 이와 유사한 복잡한 구조물의 주철근)", + "6-7" + ], + [ + "강 판", + "10" + ], + [ + "강관(옥외 수도용 강관 제외)", + "5" + ], + [ + "대형형강 (形 鋼)", + "7" + ], + [ + "소 형 형 강", + "5" + ], + [ + "봉 강 (棒 鋼)", + "5" + ], + [ + "평 강 대 강", + "5" + ], + [ + "경량형 강각(角) 파이프", + "5" + ], + [ + "리 벳 (제 품)", + "5" + ] + ] + }, + { + "section": "1-3-1. 재료의 할증", + "line": 901, + "headers": [ + "재 료 별", + "할 증 률 (%)", + "" + ], + "rows": [ + [ + "목 재", + "각 재", + "5" + ], + [ + "판 재", + "10", + "" + ], + [ + "합 판", + "일반용 합판", + "3" + ], + [ + "수장용 합판", + "5", + "" + ], + [ + "조립식구조물(U형플륨관 등)", + "3", + "" + ], + [ + "레디믹스트콘크리트타설 (현장 플랜트 포함)", + "무근 구조물", + "2" + ], + [ + "철근 구조물", + "1", + "" + ], + [ + "철골 구조물", + "1", + "" + ], + [ + "원 석 (마름돌용)", + "30", + "" + ], + [ + "사방용 수목", + "10", + "" + ], + [ + "떼 및 초화류", + "10", + "" + ], + [ + "현장콘크리트 타설 (인력 및 믹서)", + "무근구조물", + "3" + ], + [ + "철근구조물", + "2", + "" + ], + [ + "소형구조물", + "5", + "" + ], + [ + "아스팔트콘크리트 포설(현장플랜트 포함)", + "2", + "" + ], + [ + "콘크리트포장 포설", + "4", + "" + ], + [ + "원심력철근콘크리트관", + "3", + "" + ] + ] + } + ] + }, + "rate_tool": { + "min_percent": 2.0, + "max_percent": 5.0, + "base": "main_material_cost", + "selection_required": true + }, + "coef_soil_L": { + "key": "soil_type", + "duplicate_note": "품셈 원문(체적의 변화율 표)이 '역이 섞인 점질토'를 값이 다른 2행으로, '암괴나 호박돌이 섞인 점토'를 동일값 2행으로 중복 수록 (원문 오기 가능성 있으나 임의 보정 없이 원문대로 유지 — 2026-08-14 감사). 프로그램 기본 채택행은 사용자 선정 대기: 03_미결_및_확인사항.md 참조", + "records": [ + { + "soil_type": "경암", + "min": 1.7, + "max": 2.0 + }, + { + "soil_type": "보통암", + "min": 1.55, + "max": 1.7 + }, + { + "soil_type": "연암", + "min": 1.3, + "max": 1.5 + }, + { + "soil_type": "풍화암", + "min": 1.3, + "max": 1.35 + }, + { + "soil_type": "폐콘크리트", + "min": 1.4, + "max": 1.6 + }, + { + "soil_type": "호박돌", + "min": 1.1, + "max": 1.15 + }, + { + "soil_type": "역(礫)", + "min": 1.1, + "max": 1.2 + }, + { + "soil_type": "역질토", + "min": 1.15, + "max": 1.2 + }, + { + "soil_type": "고결된 역질토", + "min": 1.25, + "max": 1.45 + }, + { + "soil_type": "모래", + "min": 1.2, + "max": 1.3 + }, + { + "soil_type": "암괴나 호박돌이 섞인 모래", + "min": 1.4, + "max": 1.45 + }, + { + "soil_type": "점질토", + "min": 1.25, + "max": 1.35 + }, + { + "soil_type": "역(礫)이 섞인 점질토", + "min": 1.35, + "max": 1.4, + "duplicate_group": "역이 섞인 점질토", + "duplicate_index": 1, + "selection": "pending" + }, + { + "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", + "min": 1.4, + "max": 1.45, + "duplicate_group": "암괴나 호박돌이 섞인 점토", + "duplicate_index": 1, + "duplicate_same_value": true, + "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", + "selection": "pending" + }, + { + "soil_type": "점토", + "min": 1.2, + "max": 1.45 + }, + { + "soil_type": "역이 섞인 점질토", + "min": 1.3, + "max": 1.4, + "duplicate_group": "역이 섞인 점질토", + "duplicate_index": 2, + "selection": "pending" + }, + { + "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", + "min": 1.4, + "max": 1.45, + "duplicate_group": "암괴나 호박돌이 섞인 점토", + "duplicate_index": 2, + "duplicate_same_value": true, + "hidden_duplicate": true, + "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", + "selection": "pending" + } + ] + }, + "coef_soil_C": { + "key": "soil_type", + "duplicate_note": "coef_soil_L 의 duplicate_note 와 동일 — 원문 중복 2행 쌍 유지, 채택행 사용자 선정 대기", + "records": [ + { + "soil_type": "경암", + "min": 1.3, + "max": 1.5 + }, + { + "soil_type": "보통암", + "min": 1.2, + "max": 1.4 + }, + { + "soil_type": "연암", + "min": 1.0, + "max": 1.3 + }, + { + "soil_type": "풍화암", + "min": 1.0, + "max": 1.15 + }, + { + "soil_type": "폐콘크리트", + "rule": "별도 설계" + }, + { + "soil_type": "호박돌", + "min": 0.95, + "max": 1.05 + }, + { + "soil_type": "역(礫)", + "min": 1.05, + "max": 1.1 + }, + { + "soil_type": "역질토", + "min": 0.9, + "max": 1.0 + }, + { + "soil_type": "고결된 역질토", + "min": 1.1, + "max": 1.3 + }, + { + "soil_type": "모래", + "min": 0.85, + "max": 0.9 + }, + { + "soil_type": "암괴나 호박돌이 섞인 모래", + "min": 0.9, + "max": 0.95 + }, + { + "soil_type": "점질토", + "min": 0.85, + "max": 0.95 + }, + { + "soil_type": "역(礫)이 섞인 점질토", + "min": 0.9, + "max": 1.0, + "duplicate_group": "역이 섞인 점질토", + "duplicate_index": 1, + "selection": "pending" + }, + { + "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", + "min": 0.9, + "max": 0.95, + "duplicate_group": "암괴나 호박돌이 섞인 점토", + "duplicate_index": 1, + "duplicate_same_value": true, + "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", + "selection": "pending" + }, + { + "soil_type": "점토", + "min": 0.85, + "max": 0.95 + }, + { + "soil_type": "역이 섞인 점질토", + "min": 0.9, + "max": 0.95, + "duplicate_group": "역이 섞인 점질토", + "duplicate_index": 2, + "selection": "pending" + }, + { + "soil_type": "암괴(岩塊)나 호박돌이 섞인 점토", + "min": 0.9, + "max": 0.95, + "duplicate_group": "암괴나 호박돌이 섞인 점토", + "duplicate_index": 2, + "duplicate_same_value": true, + "hidden_duplicate": true, + "duplicate_reason": "원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠(임의 보정 없음).", + "selection": "pending" + } + ] + } + } } diff --git a/resources/data_rebar/rebar_complexity_2026-01-01.json b/resources/data_rebar/rebar_complexity_2026-01-01.json index 12281192..152a3e53 100644 --- a/resources/data_rebar/rebar_complexity_2026-01-01.json +++ b/resources/data_rebar/rebar_complexity_2026-01-01.json @@ -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 + } + } } diff --git a/resources/tester/fixtures/base_data_source_known.json b/resources/tester/fixtures/base_data_source_known.json index c3845563..e43d88c9 100644 --- a/resources/tester/fixtures/base_data_source_known.json +++ b/resources/tester/fixtures/base_data_source_known.json @@ -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,17 +23,7 @@ } }, "formwork_reuse": {}, - "rebar_complexity": { - "classes/복잡": { - "md": "12-3 [주]① 에 없는 예시", - "data": [ - "교량 슬래브" - ], - "why": "원문 「교량의 슬래브」를 줄여 적음", - "class": "㉰ 사용자 판단 필요", - "class_why": "복잡 갈래 값 — 사람 확인" - } - }, + "rebar_complexity": {}, "timber_structure_class": {}, "masonry_slope": {}, "masonry_back_length": {}, diff --git a/resources/tester/fixtures/work_item_master_source_known.json b/resources/tester/fixtures/work_item_master_source_known.json index 8cd6b062..51ebe10f 100644 --- a/resources/tester/fixtures/work_item_master_source_known.json +++ b/resources/tester/fixtures/work_item_master_source_known.json @@ -110,7 +110,9 @@ "㎥" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스 md 읽기 넓히기" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스 md 읽기 넓히기", + "owner": "랩탑 메인", + "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" }, "F0188": { "section": "7-10", @@ -121,7 +123,9 @@ "㎥" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "위와 같음" + "class_why": "위와 같음", + "owner": "랩탑 메인", + "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" }, "F0225": { "section": "8-6-1", @@ -132,7 +136,9 @@ "ha" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "위와 같음(원문 「160ha당」)" + "class_why": "위와 같음(원문 「160ha당」)", + "owner": "랩탑 메인", + "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" }, "F0257": { "section": "9-11-1", @@ -154,7 +160,9 @@ "본" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "위와 같음(원문 「묘목 1,000본당」)" + "class_why": "위와 같음(원문 「묘목 1,000본당」)", + "owner": "랩탑 메인", + "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" }, "F0323": { "section": "10-13-2", @@ -165,7 +173,9 @@ "본" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "위와 같음" + "class_why": "위와 같음", + "owner": "랩탑 메인", + "owner_ask": "대조 시험의 **md 밑수 읽기**를 넓혀 줄 것 — 원문이 절 이름·본문·표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값이 원문과 같음)" }, "F0338": { "section": "12-6", @@ -253,7 +263,9 @@ "- 3. 박피품은 별도 적용하여야 한다. 다만 작업조건에 따라 1일 작업량은 변동 적용한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0104": { "section": "5-3-4", @@ -268,7 +280,9 @@ "- ⑦ 굴착기 규격은 0.4㎥를 기준으로 한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0106": { "section": "5-3-5", @@ -284,7 +298,9 @@ "- ⑧ 장비 규격은 다음을 기준으로 한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0189": { "section": "7-11", @@ -296,7 +312,9 @@ "- ④ 할인․할증은 경사도(1-4-5), 주행 장애물 상태(1-4-13)를 반영한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0223": { "section": "8-4", @@ -306,7 +324,9 @@ "- ④ 할인․할증은 경사도(1-4-5), 방제 대상목 분포(1-4-17)를 반영한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0251": { "section": "9-8-1", @@ -318,7 +338,9 @@ "[주] 「건설공사 표준품셈 공통부문, 8-2-13 대형브레이커(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-3 철골재 철거(인력)(2025)」, 「건설공사 표준품셈 유지관리부문, 3-1-4 철골재 철거(기계)(2025)」, 「건설공사 표준품셈 공통부문, 1-2-3 토질, 3. 체적환산계수적용(2025)」, 「국토건설 설계실무요령, 수량산출요령(2021)」 참조한다" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0252": { "section": "9-8-2", @@ -333,7 +355,9 @@ "- ② 「건설공사 표준품셈 유지관리부문, 3-1-3 철골재 철거(인력)(2025)」, 「건설공사 표준품셈 유지관리부문., 3-1-4 철골재 철거(기계)(2025)」 참조한다" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0254": { "section": "9-10-1", @@ -344,7 +368,9 @@ "- ② 굴착기작업능력은 무근콘크리트(T=30㎝미만) 값 적용한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0255": { "section": "9-10-2", @@ -356,7 +382,9 @@ "- ③ 「건설공사 표준품셈 공통부문, 8-2-13 대형브레이커(2025)」 참조한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0281": { "section": "9-15-1", @@ -365,7 +393,9 @@ "- ③ 「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」 참조한다. (불도저작업이 어려운 경우)" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0282": { "section": "9-15-2", @@ -374,7 +404,9 @@ "- ③ 「건설공사 표준품셈 공통부문, 8-2-1 불도저(2025)」 참조(표토제거 두께 T=0.2m)" ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0285": { "section": "9-16-3", @@ -383,7 +415,9 @@ "- ④ 토목은 동상방지층, 보조기층, 기층 등 층별 조건이나 본선, 길어깨 등에 따라 임도에는 대형장비(5,500ℓ)를 사용한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0286": { "section": "9-17-2", @@ -393,7 +427,9 @@ "- ④ 「건설공사 표준품셈 공통부문 8-2-1 불도저(2025)」 참조한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0295": { "section": "9-22", @@ -402,7 +438,9 @@ "- ④ 0.2㎥ 또는 0.4㎥ 용량의 굴착기를 사용하는 경우에는「건설공사 표준품셈 공통부문, 8-2-3 굴착기(2025)」를 참조하여 적용계수를 달리 적용하도록 한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0319": { "section": "10-11", @@ -411,7 +449,9 @@ "- ③ 「건설공사 표준품셈 공통부문. 8-2-1 불도저(2025)」 참조한다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0323": { "section": "10-13-2", @@ -420,7 +460,9 @@ "[주] 위 단가산출은 일본 임야청에서 묘목 5,000본의 운반을 가정하여 현장 검증을 통해 산출한 내용이므로, 묘목 이외의 다른 화물을 운반할 시에는 달라질 수 있다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" }, "F0393": { "section": "12-38-2", @@ -430,7 +472,9 @@ "- ② 플랫 타이(Flat Tie) 대신 폼 타이(Form Tie) 사용 시 소요 수량은 12-4 합판 거푸집 자재수량을 따른다." ], "class": "㉯ 남이 고쳐야 풀림", - "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중" + "class_why": "마스터가 맞고 md 읽기가 덜 읽음 — 코덱스가 md 읽기를 넓히는 중", + "owner": "랩탑 메인", + "owner_ask": "`md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을 더해 줄 것 — 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김. ⚠ 새 절 제목과 가르는 것이 일(알맹이 없는 짧은 줄만 제목)" } }, "form": { @@ -540,7 +584,9 @@ "master": "requirement", "why": "⚠ 원문 md 의심 — 머리는 한중콘크리트 「온도 품종 | 0℃때 …」인데 몸 줄이 앞 표 F0332(시멘트·모래·자갈 kg)와 똑같음 · PDF 대조 필요", "class": "㉯ 남이 고쳐야 풀림", - "class_why": "⚠ 원문 md 의심 — 몸 줄이 앞 표와 똑같음 · 코덱스 PDF 대조" + "class_why": "⚠ 원문 md 의심 — 몸 줄이 앞 표와 똑같음 · 코덱스 PDF 대조", + "owner": "랩탑 서브", + "owner_ask": "PDF ↔ md 대조 — 이 표의 **몸 줄이 앞 표와 똑같음**. PDF 로 어느 쪽이 맞는지 짚어 줄 것" }, "F0342": { "section": "12-9-1", @@ -692,6 +738,10 @@ "㉮ 영영 할 일 아님": 39, "㉯ 남이 고쳐야 풀림": 23, "㉰ 사용자 판단 필요": 7 + }, + "㉯ 주인": { + "랩탑 메인": 22, + "랩탑 서브": 1 } } } diff --git a/resources/tester/test_work_item_master_source_match.py b/resources/tester/test_work_item_master_source_match.py index c8992a4c..5a07be85 100644 --- a/resources/tester/test_work_item_master_source_match.py +++ b/resources/tester/test_work_item_master_source_match.py @@ -331,7 +331,7 @@ def load_known() -> dict[str, dict]: #: 비교에서 뺄 칸 — **사람이 적은 메모**다. 자료가 아니라 설명이라 어긋남 판정에 안 쓴다. #: `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: