docs(CLAUDE): 검사기가 「볼 것이 없어서 통과」를 「문제 없음」으로 쓰지 않게 한다

겹침 검사기의 적용 범위를 적는다 — 판정에 쓰는 것은 <rect> 뿐이라
techviz 가 만든 SVG 에서만 유효하다. 손댄 SVG 는 배경 사각형이 안
따라 바뀌어 겹침이 있어도 없다고 답한다.

그리고 관문의 종료 코드를 셋으로 가른다. 「대상이 성립하지 않는다」를
exit 2 로 두어 오타 한 번에 관문이 조용히 무효가 되는 것을 막는다.

__pycache__ 는 .gitignore 에 이미 있는데 이 .pyc 하나만 추적되고 있어
두 세션의 작업 트리를 계속 더럽혔다. 추적에서 뺀다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GksxvQvM6A85xy8viYtWk6
This commit is contained in:
DongHyeonka
2026-09-10 11:07:35 +09:00
co-authored by Claude Opus 5
parent 43e1aadef0
commit bed1fd933f
2 changed files with 23 additions and 0 deletions
+23
View File
@@ -342,6 +342,17 @@ python3 scripts/verify-pipeline.py # 위 셋을 모든 프로
python3 -m unittest discover -s scripts/tests # 파서·검사기·생성기 python3 -m unittest discover -s scripts/tests # 파서·검사기·생성기
``` ```
**검사기는 「볼 것이 없어서 통과」를 「문제 없음」이라고 쓰지 않는다.** 셋을 가른다.
| 상태 | 종료 코드 | 문구 |
|---|---|---|
| 봤고 괜찮다 | 0 | `문제 없음` · `error 0` |
| 대상이 성립하지 않는다 (프로젝트 없음 · 계약 없음) | **2** | `대상이 성립하지 않는다 — <이유>` |
| 볼 것이 아직 없다 (계약은 있고 기록이 0건) | 0 | `기록 0건 — 계약의 글감 N개가 아직 안 쓰였다` |
가운데는 error 로 센다. 아래는 error 가 아니다 — **아직 안 쓴 것은 결함이 아니다.** 다만
초록으로 보이면 안 된다. 오타 한 번에 관문이 조용히 무효가 되는 것을 이 구분이 막는다.
게시 전에는 아래 둘을 돌린다. 하나는 파서를, 하나는 문장을 본다. 게시 전에는 아래 둘을 돌린다. 하나는 파서를, 하나는 문장을 본다.
**본문이 Studio 파서를 통과하는지.** Studio가 쓰는 파서를 그대로 부르므로 통과하면 저장도 통과한다. **본문이 Studio 파서를 통과하는지.** Studio가 쓰는 파서를 그대로 부르므로 통과하면 저장도 통과한다.
@@ -378,6 +389,18 @@ python3 scripts/check-figure-overlap.py <프로젝트> # 상자와 라벨이
라벨이 상자에 먹혀도 통과한다. 겹침 검사는 렌더러가 남긴 배경 사각형의 좌표를 그대로 읽으므로 라벨이 상자에 먹혀도 통과한다. 겹침 검사는 렌더러가 남긴 배경 사각형의 좌표를 그대로 읽으므로
글자 폭을 어림하지 않는다. `verify-project-layout.py` 가 이 검사를 함께 돈다. 글자 폭을 어림하지 않는다. `verify-project-layout.py` 가 이 검사를 함께 돈다.
**그 방법이 성립하는 범위가 따로 있다.** 「글자 폭을 어림하지 않는다」는 **방법**이고,
아래는 그 방법의 **적용 범위**다. 둘은 다른 문장이다.
`check-figure-overlap.py` 가 겹침을 판정할 때 보는 것은 `<rect>` 뿐이다. `<text>` 는 겹친
자리에 무엇이 있었는지 이름을 대는 데만 쓰고 판정에는 안 쓴다. 그래서 배경 사각형이 그 글자가
실제로 차지하는 자리와 같을 때만 겹침이 겹침으로 나타난다.
**이 검사기는 techviz 가 만든 SVG 에서만 유효하다.** 손으로 고친 SVG, 다른 도구가 만든 SVG,
렌더한 뒤 글자만 바꾼 SVG 는 **겹침이 있어도 없다고 답한다** — 배경 사각형이 안 따라 바뀌기
때문이다. 실측 예: 글자를 60자로 늘렸는데 배경은 131.9px 그대로였고 `check-figure-overlap`
은 통과시켰다. 그런 SVG 는 눈으로 본다.
**그래도 마지막에는 눈으로 본다.** 글자가 상자 밖으로 조금 나가거나 화살표가 라벨을 지나는 **그래도 마지막에는 눈으로 본다.** 글자가 상자 밖으로 조금 나가거나 화살표가 라벨을 지나는
것은 좌표로 안 잡힌다. 것은 좌표로 안 잡힌다.