feat(b08): 갈래에도 불변 열쇠 — FW-00105#01 꼴 · 글자는 보일 이름 칸으로
갈래가 공종 열쇠와 똑같은 병을 앓고 있었음 — 줄 열쇠에 갈래 **글자**가 그대로 들어가 `FW-00105#1.1∼1.5` 였고, 원문이 물결표를 둘(∼ 26 · ~ 8)로 쓰고 자간 공백만 다른 짝이 6쌍이라 **이름 한 번 다듬으면 열쇠가 갈렸음**(메인의 「띄어진 이름 175줄 다듬기」가 곧 그 손질). - 갈래 장부 — `work_item_keys.json` 의 `variants`. 자리는 **공종 열쇠 아래**(목차 코드 아래가 아님) · 산림 66 공종 · 갈래 335 · 맞대는 꼴은 공백을 다 떼고 물결표를 하나로 · 장부에 없는 갈래는 새 번호 · 사라진 번호는 다시 쓰지 않음(옛 일위대가가 가리키던 자리) - 이름 칸 둘 — `name`(원문 그대로) · `name_clean`(자간 한 칸 · 물결표 하나) · 14줄이 다듬어짐 - Z01 줄 열쇠 `FW-00105#01` · 칸 `variant`(원문)·`variant_clean`(다듬은 것) - 이름표 — 장부 `variants` 표 · 목록 열 `variant_clean` · 마스터 `variants` 칸 - 시험 — 갈래 열쇠 누락·중복 0 · 번호가 1부터 빠짐없음 · **원문을 다듬어도 같은 번호가 나옴**(물결표 바꿔 넣고 자간 정리해도 새 발급 0) 함께 — 건설 총칙 뿌리 확정(안티그래비티 조사 · 브레인): 공통부문 제8장 건설기계(CP-01-08)를 총칙에 더함(산림 FP-02 와 짝) · 유지관리 제1장 「공 통」은 공종으로 둠 ⇒ 건설 줄 구실 공종 923 · 묶는 마디 258 · 총칙 112 · 빈 잎 74 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
This commit is contained in:
@@ -91,17 +91,19 @@ def base_rows(kind: str) -> list[dict[str, Any]]:
|
||||
)
|
||||
key = _key(item)
|
||||
# 갈래마다 한 줄 — 일위대가가 갈래마다 달라 집는 단위가 갈래임(교목굴취 나무높이 9 · 2026-09-17 브레인 ③).
|
||||
# 열쇠 = 공종 열쇠#갈래 키(B08·B09 `코드#갈래` 꼴) · 갈래 키 글자는 마스터 것 그대로(조립 두 벌 금지).
|
||||
for variant in item.get("variant_keys") or [None]:
|
||||
# 열쇠 = `공종 열쇠#갈래 번호`(`FW-00105#01`) — **갈래 글자를 열쇠에 담지 않는다.**
|
||||
# 담으면 원문 자간·물결표가 다듬어지는 날 열쇠가 갈린다(2026-09-17 브레인 · 장부가 번호를 준다).
|
||||
for variant in item.get("variants") or [None]:
|
||||
rows.append(
|
||||
{
|
||||
"@id": f"{key}#{variant}" if variant else key,
|
||||
"@id": f"{key}#{variant['variant_key']}" if variant else key,
|
||||
"@key": key, # 공종 열쇠 — 거르기·줄 수는 공종 단위로
|
||||
"@source": name,
|
||||
"work_item_code": item["work_item_code"], # 목차 코드 — 열쇠 아님, 칸으로만
|
||||
"number": item["number"],
|
||||
"name": _path(item, by),
|
||||
"variant": variant,
|
||||
"variant": variant["name"] if variant else None, # 원문 그대로
|
||||
"variant_clean": variant["name_clean"] if variant else None, # 다듬은 것
|
||||
"pum_tables": [t["pum_table_id"] for t in item["tables"]],
|
||||
"rule": (named.get(f"work_item_master::{parent.get('parent_mode')}") or {}).get(
|
||||
"name_ko"
|
||||
|
||||
Reference in New Issue
Block a user