knowledge(제비율): 요율 옆에 밑수·처리 규칙을 실음 + 코드와 맞대는 거울 시험
요율 숫자만으로는 그 데이터를 보고 금액을 되짚을 수 없었음. 밑수를 무엇으로 잡고 어떻게 자르는지가 코드에만 있어, 데이터를 갈아 끼운 사람이 규칙이 바뀐 줄 모름. - 빠져 있던 밑수 한 칸(건설기계대여대금 지급보증수수료)을 채움. - 처리 규칙을 데이터에 실음 — 자르는 법(줄 버림·관급자재대 천원 올림) · 안전관리비 A·B 두 식과 1.2·1.1 · 조달수수료 차감 없음 · 이윤 밑수 · 규모 구간 판정. - 거울 시험 6개 — 한쪽만 바뀌면 멈춤. 금액은 안 바뀜(1208 통과·실패 0). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -83,8 +83,8 @@
|
||||
"file": "rates_2026.json",
|
||||
"dataset_id": "rates",
|
||||
"effective_date": "2026-04-13",
|
||||
"sha256": "250b1e4d7fc07f0410a57a61a1f01e77a8514e8404670be6e9837e856b01e2c2",
|
||||
"size_bytes": 37150
|
||||
"sha256": "ac0328df68c70b7c0643bf1b9b1ad69e6125bf2ae3cbfda9825519600fde5a87",
|
||||
"size_bytes": 39623
|
||||
}
|
||||
],
|
||||
"deferred": [
|
||||
|
||||
@@ -204,7 +204,8 @@
|
||||
"work_type": "special_construction",
|
||||
"rate_percent": 1.78
|
||||
}
|
||||
]
|
||||
],
|
||||
"base_rule": "min_of_two_formulas"
|
||||
},
|
||||
"rate_safety_base": {
|
||||
"embedded_in": "rate_safety_pct.brackets",
|
||||
@@ -1091,7 +1092,9 @@
|
||||
"work_type": "other",
|
||||
"rate_percent": 0.1
|
||||
}
|
||||
]
|
||||
],
|
||||
"base": "direct_construction_cost",
|
||||
"base_note": "코드(`B09_Estimation_Statutory.STATUTORY_ITEMS`)가 직접공사비로 계산하고 있는 것과 맞춘 표기."
|
||||
},
|
||||
"rate_performance_guarantee_fee": {
|
||||
"base": "direct_construction_cost",
|
||||
@@ -1183,5 +1186,40 @@
|
||||
"rate_percent": 10.0,
|
||||
"base": "construction_cost_before_vat"
|
||||
}
|
||||
},
|
||||
"processing_rules": {
|
||||
"note": "요율만으로는 금액을 되짚을 수 없다 — 밑수를 어떻게 만들고 어떻게 자르는지가 함께 있어야 한다. 여기 값은 코드가 실제로 쓰는 규칙과 같아야 하며, 어긋나면 거울 시험(resources/tester/test_b09_rate_rules_mirror.py)이 멈춘다.",
|
||||
"rounding": {
|
||||
"line_amount": "floor_won",
|
||||
"owner_supplied_material_total": "ceil_thousand",
|
||||
"why": "원가계산서 모든 줄은 원 단위 버림(ROUNDDOWN), 관급자재대만 천원 올림(ROUNDUP)."
|
||||
},
|
||||
"safety_management_cost": {
|
||||
"adopt": "min_of_A_and_B",
|
||||
"formula_a": "(재료비 + 직접노무비 + 도급자설치 관급금액) × 요율 + 기초액",
|
||||
"formula_b": "((재료비 + 직접노무비) × 요율 + 기초액) × 1.2",
|
||||
"b_multiplier": 1.2,
|
||||
"owner_supplied_vat_divisor": 1.1,
|
||||
"why": "고용노동부 고시 제2025-11호. ⚠ A 가 항상 작지 않다 — 관급을 넣어 대상액이 5억·50억 경계를 넘으면 뒤집힌다(울진 A 채택 / 거창 B 채택). 관급금액이 부가세 포함이면 1.1 로 나눠 부가세 제외 기준으로 맞춘다."
|
||||
},
|
||||
"owner_supplied_material": {
|
||||
"total": "ceil_thousand(순자재대 + 조달수수료)",
|
||||
"procurement_fee_deduction": false,
|
||||
"safety_base_uses": "순자재대(수수료 제외)",
|
||||
"why": "★법대로 — 조달수수료를 어디선가 빼는 처리는 없다. 실무 서류의 「관급자재대」는 이미 순자재대+수수료를 천원 올림한 값이라 그대로 순자재대 칸에 넣으면 안 된다."
|
||||
},
|
||||
"profit": {
|
||||
"base": "net_construction_cost + overhead - material_cost",
|
||||
"adjustment": "설계자가 명시로 넣을 때만. 프로그램이 역산해 채우지 않는다."
|
||||
},
|
||||
"performance_guarantee_fee": {
|
||||
"base": "direct_construction_cost",
|
||||
"multiplier": "공사기간(년)"
|
||||
},
|
||||
"scale_bracket": {
|
||||
"reference": "estimated_price_krw",
|
||||
"fallback": "직접공사비를 씨앗으로 반복 수렴",
|
||||
"why": "국가계약법 시행령 제7조 1호 — 추정가격은 관급자재 부분을 제외한 금액."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user