feat(z01): 돌쌓기 표준경사 표에 알림 한 줄 — 고치면 횡단 도면 모양도 함께 바뀜(B06 이 같은 값으로 벽 기울기를 그림) · 아홉 중 그림에도 닿는 하나 · 문구는 서버가 냄(화면 사전이 생기면 두 벌 · 브레인)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
This commit is contained in:
2026-09-16 14:06:36 +09:00
co-authored by Claude Opus 5
parent 4a6de21552
commit d9f06913f1
2 changed files with 17 additions and 1 deletions
+6 -1
View File
@@ -338,9 +338,14 @@ def _sorted(rows: list[dict[str, Any]], column: str, desc: bool) -> list[dict[st
return sorted(filled, key=lambda r: _order_key(r[column]), reverse=desc) + empty
#: 돌쌓기 표준경사는 B06 횡단설계가 같은 값으로 기울기를 그림 — 아홉 중 **그림에도 닿는** 하나(브레인).
_SLOPE_NOTICE = "고치면 횡단 도면 모양도 함께 바뀜 — B06 횡단설계가 같은 값으로 벽 기울기를 그림"
_EXTRA_NOTICE = {"rate": _RATE_NOTICE, "masonry_slope": _SLOPE_NOTICE}
def notice(kind: str) -> list[str]:
"""표 수준 알림 — 화면이 따로 가지면 문구가 두 벌이 됨(브레인 ③)."""
return [_SCOPE_NOTICE] + ([_RATE_NOTICE] if kind == "rate" else [])
return [_SCOPE_NOTICE] + ([_EXTRA_NOTICE[kind]] if kind in _EXTRA_NOTICE else [])
def spec(kind: str, columns: list[str]) -> dict[str, Any]:
+11
View File
@@ -75,6 +75,17 @@ def test_아홉이_기초단가와_같은_길로_섬(client: TestClient) -> None
assert table["source"] == [], kind # 출처표엔 아직 이 아홉이 없음 — 빈 목록(모양은 그대로)
def test_돌쌓기_경사는_도면에도_닿는다고_알림(client: TestClient) -> None:
"""아홉 중 하나만 수량 말고 **그림**에도 닿음 — 화면이 사전을 가지면 문구가 두 벌(브레인)."""
slope = _get(client, "masonry_slope", size=1)["notice"]
assert any("횡단 도면" in line for line in slope) and len(slope) == 2
assert all(
not any("횡단 도면" in line for line in _get(client, kind, size=1)["notice"])
for kind in NEW_KINDS
if kind != "masonry_slope"
)
def test_값표만_태우고_이음표는_안_태움(client: TestClient) -> None:
formwork = " ".join(_ids(_get(client, "formwork_reuse", size=500)))
assert "type_map" not in formwork and "euroform_type/classes" in formwork