fix(z01): 폴더 지문 _manifest 셋을 부산물에서 「지문」 갈래로 옮김
- 부산물 설명이 「정본 아님 · 계산이 남긴 기록」인데 `_manifest` 는 **어느 판으로 셈했는지 못박는 표**라 딱지가 거꾸로 붙어 있었음(브레인 ②) - 갈래 하나 더 둠 — `fingerprint` 「지문」: 값도 규칙도 아니고 판을 가리키는 자리 · 고치지 않음 - 시험 한 건 더 — 지문이 부산물로 돌아가면 빨강 · 「정본」 딱지가 다시 붙어도 빨강 - 표·열·값 묶음 수는 그대로(표 91 · 열 447 · 값 묶음 172 · 뜻 못 밝힌 열 0) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"schema_version": "1.0",
|
||||
"dataset_id": "data_master_labels",
|
||||
"effective_date": "2026-01-01",
|
||||
"generated_at": "2026-09-15T18:55:59+09:00",
|
||||
"generated_at": "2026-09-15T18:59:13+09:00",
|
||||
"note": "마스터 자료의 **사람이 읽을 이름표**. 값이 아니라 이름만 담는다 — 여기를 고쳐도 계산은 안 바뀐다. Z01 마스터 관리 화면이 표·열 이름을 여기서 읽는다.",
|
||||
"policy": {
|
||||
"labels_only": "값·수식·단가를 담지 않는다. 마스터 파일은 손대지 않는다.",
|
||||
@@ -10,7 +10,7 @@
|
||||
"unit_is_label_only": "unit 은 이름표에서만 정한다. 자료에 없는 단위를 만들어 붙이지 않는다.",
|
||||
"counting_rule": "표 = 화면이 표로 그릴 마디(줄이 여럿인 마디). 값 묶음 = 표가 아닌 마디(설명·방침·한 값짜리 요율 따위).",
|
||||
"brain_kind_table": "갈래는 2026-09-15 브레인 갈래 나눔표를 그대로 따른다(로직 17 · 기초값 9 · 부산물 4 · 씨앗 1).",
|
||||
"out_of_31": "폴더 장부(_manifest.json) 셋은 브레인 31 밖이라 부산물로 둔다.",
|
||||
"out_of_31": "폴더 지문(_manifest.json) 셋은 브레인 31 밖이다. 부산물이 아니라 **지문** 갈래로 둔다 — 계산이 남긴 기록이 아니라 어느 판으로 셈했는지 못박는 표라 「정본 아님」 딱지가 안 맞는다(2026-09-15 브레인 ②).",
|
||||
"excluded": "강우 IDF 캐시(resources/data_rainfall_idf_cache, 96 파일)는 배수용이라 뺀다."
|
||||
},
|
||||
"lookup_order": {
|
||||
@@ -38,6 +38,10 @@
|
||||
"name_ko": "부산물",
|
||||
"summary": "다른 벌에서 나온 기록. ⚠ 정본이 아니다 — 고쳐도 정본이 안 바뀐다."
|
||||
},
|
||||
"fingerprint": {
|
||||
"name_ko": "지문",
|
||||
"summary": "어느 판으로 셈했는지 못박는 자리. 값도 규칙도 아니고 **판을 가리키는 표**다 — 고치지 않는다."
|
||||
},
|
||||
"seed": {
|
||||
"name_ko": "씨앗",
|
||||
"summary": "앞으로 늘려 갈 첫 벌. 모양을 잡아 두려고 먼저 놓은 것이다."
|
||||
@@ -4552,9 +4556,9 @@
|
||||
{
|
||||
"file_id": "manifest_cost_input_value",
|
||||
"path": "resources/data_cost_input_value/_manifest.json",
|
||||
"name_ko": "원가 입력변수 — 파일 장부",
|
||||
"summary": "실린 파일·적용일·지문 목록. 브레인 갈래표 31 밖의 장부다.",
|
||||
"kind": "byproduct",
|
||||
"name_ko": "원가 입력변수 — 판 지문",
|
||||
"summary": "이 폴더를 어느 판으로 셈했는지 못박는 지문. 값이 아니라 판을 가리키는 자리다.",
|
||||
"kind": "fingerprint",
|
||||
"tables": [
|
||||
{
|
||||
"key": "deferred",
|
||||
@@ -4694,9 +4698,9 @@
|
||||
{
|
||||
"file_id": "manifest_material_surcharge",
|
||||
"path": "resources/data_material_surcharge/_manifest.json",
|
||||
"name_ko": "재료 할증률 — 파일 장부",
|
||||
"summary": "실린 파일·지문 목록. 브레인 갈래표 31 밖의 장부다.",
|
||||
"kind": "byproduct",
|
||||
"name_ko": "재료 할증률 — 판 지문",
|
||||
"summary": "이 폴더를 어느 판으로 셈했는지 못박는 지문. 값이 아니라 판을 가리키는 자리다.",
|
||||
"kind": "fingerprint",
|
||||
"tables": [
|
||||
{
|
||||
"key": "files",
|
||||
@@ -4737,9 +4741,9 @@
|
||||
{
|
||||
"file_id": "manifest_work_item_master",
|
||||
"path": "resources/data_work_item_master/_manifest.json",
|
||||
"name_ko": "공종 마스터 — 파일 장부",
|
||||
"summary": "실린 파일·지문 목록. 브레인 갈래표 31 밖의 장부다.",
|
||||
"kind": "byproduct",
|
||||
"name_ko": "공종 마스터 — 판 지문",
|
||||
"summary": "이 폴더를 어느 판으로 셈했는지 못박는 지문. 값이 아니라 판을 가리키는 자리다.",
|
||||
"kind": "fingerprint",
|
||||
"tables": [
|
||||
{
|
||||
"key": "files",
|
||||
|
||||
@@ -133,6 +133,16 @@ def test_갈래_이름이_다_풀려_있다(labels):
|
||||
assert used <= known, f"뜻을 안 적은 갈래: {sorted(used - known)}"
|
||||
|
||||
|
||||
def test_폴더_지문은_부산물이_아니다(labels):
|
||||
"""`_manifest` 는 계산이 남긴 기록이 아니라 **어느 판으로 셈했는지 못박는 표**다 —
|
||||
「정본 아님」 딱지가 붙으면 안 된다(2026-09-15 브레인 ②)."""
|
||||
manifests = [f for f in labels["files"] if f["file_id"].startswith(MANIFEST_PREFIX)]
|
||||
assert manifests, "폴더 지문이 이름표에 하나도 없다"
|
||||
for entry in manifests:
|
||||
assert entry["kind"] == "fingerprint", f"{entry['file_id']} 갈래가 {entry['kind']} 다"
|
||||
assert "정본" not in labels["kinds"]["fingerprint"]["summary"]
|
||||
|
||||
|
||||
def test_마스터의_표가_이름표에_다_있다(labels):
|
||||
missing = []
|
||||
for entry in labels["files"]:
|
||||
|
||||
Reference in New Issue
Block a user