feat(z01): 표 머리 알림을 서버 목록 그대로 — 줄마다 한 줄(첫 줄 「새로 만드는 프로젝트부터」 · 요율은 법정값 경고까지) · 글자 속 **굵게** 를 굵은 조각으로 폄(별표 안 보임) · 보라 굵은 칸으로 또렷이

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
This commit is contained in:
2026-09-16 10:52:32 +09:00
co-authored by Claude Opus 5
parent fe18e19733
commit 4fedddc4e8
4 changed files with 76 additions and 32 deletions
+29 -1
View File
@@ -25,9 +25,20 @@ _RUNNER = """
import { writeFileSync } from "node:fs";
import {
cellInfo, cellText, clampPage, columnTitle, latestOnly, pageCount, parseCellInput, rowCells,
outdatedBanner, shownColumns, valueWithUnit,
boldSegments, noticeLines, outdatedBanner, shownColumns, valueWithUnit,
} from "./Z01_MasterData_UI_Cells.js";
// 표 수준 알림 — 서버가 한 벌로 목록을 줌(첫 줄 「새로 만드는 프로젝트부터」) · 글자에 **굵게** 가 섞임
const notices = [
noticeLines(["여기서 고친 값은 **새로 만드는 프로젝트부터** 쓰임", "법이 정한 값 — 고치면…"]),
noticeLines("한 줄짜리"),
noticeLines(undefined),
];
const bolds = [
boldSegments("여기서 고친 값은 **새로 만드는 프로젝트부터** 쓰임"),
boldSegments("굵게 없음"),
];
// 뒤처짐 띠 — 판정은 서버 outdated 만(화면이 날짜를 안 견줌) · 받는 자리를 띠에 적음(2026-09-15 브레인)
// ⚠ 한 표가 원본 여럿을 모은 것이라 출처는 목록으로 옴(노임 = 건설업 + 제조업).
const laborSources = [
@@ -155,6 +166,8 @@ writeFileSync(process.argv[2], JSON.stringify({
valueWithUnit("5억 미만", ""),
],
banners,
notices,
bolds,
}));
"""
@@ -248,3 +261,18 @@ def test_칸_글자와_숨김_열(tmp_path: Path) -> None:
[],
[],
]
# 알림은 목록도 한 줄도 받음 · 없으면 빈 목록
assert got["notices"] == [
["여기서 고친 값은 **새로 만드는 프로젝트부터** 쓰임", "법이 정한 값 — 고치면…"],
["한 줄짜리"],
[],
]
# **…** 는 굵게 조각으로 갈라 보임 — 별표가 글자로 남으면 안 됨
assert got["bolds"] == [
[
{"text": "여기서 고친 값은 ", "bold": False},
{"text": "새로 만드는 프로젝트부터", "bold": True},
{"text": " 쓰임", "bold": False},
],
[{"text": "굵게 없음", "bold": False}],
]