가드가 실제로 잡는지 — 결함을 되돌려 확인 출처: tech-log-frontend @ 2b2f443 — 2026-09-04 실행 방법: 각 가드에 대해 결함을 되돌리고(sed), 테스트를 돌리고, git checkout 으로 원복한다. 가드는 넣는 것보다 「정말 잡는가」가 중요하다. 넣기만 하고 확인하지 않으면 늘 통과하는 테스트가 하나 늘 뿐이다. ====================================================================== ### [A] public-path-reachability — 라우트 없는 주소를 링크로 그리지 않는가 정상: ✓ tests/features/tech-log/public-path-reachability.test.ts (18 tests) 12ms Tests 18 passed (18) 결함 되돌림: resolvesToPublicRoute 가 '/' 로 시작하면 무조건 true 를 주게 한다 (= 가드가 없던 상태) ❯ tests/features/tech-log/public-path-reachability.test.ts (18 tests | 3 failed) 14ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 3 ⎯⎯⎯⎯⎯⎯⎯ AssertionError: expected true to be false // Object.is equality ❯ tests/features/tech-log/public-path-reachability.test.ts:38:7 AssertionError: expected true to be false // Object.is equality ❯ tests/features/tech-log/public-path-reachability.test.ts:44:43 AssertionError: expected true to be false // Object.is equality ❯ tests/features/tech-log/public-path-reachability.test.ts:49:59 원복 완료: 0 개 변경 남음 ### [B] section-heading-rank — 나란히 서는 구역 제목의 급이 갈리는가 배경: 「구조별로 알게 된 것」만 26px·굵기 400 으로 나왔다. 규칙이 없었던 게 아니라 절반만 있었다 — 그 구역들이 크기만 각자 적어 두어 굵기를 아무도 정하지 않았고, 기본값 400 으로 떨어졌다. 정본: .section-heading-row h2 (30px / 650) 공유 규칙(globals.css:2482): .document-relations h2, .topic-variants h2 { margin: 0 0 20px; font-size: 30px; font-weight: 650; letter-spacing: -0.045em; } 정상: ✓ tests/features/tech-log/section-heading-rank.test.ts (1 test) 5ms Tests 1 passed (1) 결함 되돌림: 그 공유 규칙에서 font-weight: 650 만 뺀다 (= 굵기를 아무도 정하지 않는 상태) .document-relations h2, .topic-variants h2 { margin: 0 0 20px; font-size: 30px; letter-spacing: -0.045em; } ❯ tests/features/tech-log/section-heading-rank.test.ts (1 test | 1 failed) 10ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ AssertionError: .document-relations h2 의 font-weight 가 .section-heading-row h2 과 다르다 ❯ tests/features/tech-log/section-heading-rank.test.ts:47:14 Tests 1 failed (1) 원복: 남은 변경 0 개 ====================================================================== 결론 [A] public-path-reachability 결함 되돌림 → 3건 실패 ✓ [B] section-heading-rank 결함 되돌림 → 1건 실패 ✓ [C] route-chunk-names 결함 되돌림 → 1건 실패 ✓ 셋 다 되돌리면 실제로 빨개진다. 모두 git checkout 으로 원복했고 작업 트리에 변경은 남지 않았다. 메모: [C] 는 처음에 잘못된 문자열(TECH_LOG_STUDIO_TOPIC_EDIT)을 지워 통과했다. vite 설정의 표는 라우트 id 가 아니라 「화면 파일 경로 → chunk 이름」이라 그 이름이 없다. 올바른 줄 ("/studio/pages/topic-edit-page.tsx")을 지우자 잡혔다. 검증을 검증해야 하는 이유다 — "되돌렸는데 통과했다"를 "가드가 없다"로 읽을 뻔했다.