원고 맨 위 확인 칸과 발행 전 검사
클로드 코드 규칙 설정에 “트렌드를 반드시 참고하라” 한 줄을 더했는데, 완성된 원고를 열어 봐도 그 규칙을 지켰는지 알 길이 없었습니다. 원고 맨 위에 확인 기록 칸을 만들고 그 칸이 비면 발행 전 검사가 막게 하고서야 지켜졌습니다. 앞 글 AI에게 규칙을 알려줬는데 안 지켜졌습니다에서는 문장으로 적은 규칙을 검사로 옮긴 경험을 적었습니다.
1. 클로드 코드 규칙 설정에서 무슨 일이 있었나요?
이 블로그의 초안은 클로드 코드에게 집필 규칙 문서를 주고 쓰게 합니다. 2026-09-25 에 받은 지시는 “글 작성시 google 검색 트렌드를 반드시 참고해줬으면 좋겠어요” 였습니다.
그런데 그때까지 집필 단계에는 트렌드를 보는 절차가 없었고, 트렌드 스냅샷(그 시각의 검색 동향을 떠 둔 파일) 스크립트는 아침 준비 단계와 신호 수집 단계에서만 불렸습니다. 규칙 문서에 한 줄만 더하면 설정은 끝난 것처럼 보였습니다.
2. 무슨 문제가 생겼나요?
규칙을 지켰는지가 원고 어디에도 남지 않았습니다. 완성된 원고를 열어 봐도 집필 중에 구글 트렌드 급상승 화면을 봤는지는 알 수 없습니다. 어겨도 아무도 모르는 규칙은 바쁜 날 가장 먼저 빠질 것 같았습니다.
이 막힘은 바이브 코딩 현실, 테스트는 통과했는데 261편 중 6편만 맞았다와 뿌리가 같습니다. 그때도 셀프테스트 통과라는 말만 믿었다가 실데이터에서 어긋났습니다. 했다는 말이 아니라 산출물에 남은 흔적을 봐야 한다는 것이 두 일의 공통점입니다.
3. 클로드 코드 규칙 설정, 어떻게 풀었나요?
규칙 한 줄을 칸 하나와 검사 하나로 바꿨습니다.
- 원고에 칸을 만듭니다. frontmatter 에 trendchecked(확인한 스냅샷 파일 경로)와 trendnote(반영 여부와 이유 한 문장)를 적게 하고, 집필 규칙 문서에도 스냅샷을 뜨고 그 경로를 옮겨 적는 절차를 넣었습니다
- 그 경로에 파일이 실제로 있는지 봅니다. pending-draft.py 의 trend_checked() 함수가 줄이 없거나 값이 비거나 파일이 없으면 False 를 냅니다
- False 인 원고는 발행 대상에서 뺍니다. 사유는 “검색 트렌드 확인 기록 없음(trend_checked)” 이고, 그 위 주석에는 “문서 규칙은 실행되지 않는다” 라는 한 줄이 남아 있습니다
- 따라가지 않은 이유도 칸에 남깁니다. 이 글의 trend_note 에는 21:10 스냅샷에 제미나이4 와 chat gpt 가 올라 있었지만 블로그 운영 규칙 설정과 겹치지 않아 주제를 바꾸지 않았다고 적었습니다

2026-10-03 21:12 /tmp 재현에서 원고 5개 중 빈 칸과 없는 파일과 칸 없음 3개가 빠졌고, 같은 시각 초안 폴더의 원고 34편은 직접 세어 보니 모두 실재하는 스냅샷을 가리켰습니다.
| 원고의 trend_checked 칸 | 검사 결과 | 발행 단계 |
|---|---|---|
| 비어 있음 | False | 대상에서 뺌 |
| 없는 파일 경로 | False | 대상에서 뺌 |
| 칸 자체가 없음 | False | 대상에서 뺌 |
| 실재하는 스냅샷 경로 | True | 다음 검사로 넘어감 |
| 스냅샷이 아닌 아무 파일 | True | 다음 검사로 넘어감(남은 구멍) |
남은 구멍은 셋입니다. 경로에 파일이 있기만 하면 통과하고, 스냅샷이 언제 뜬 것인지 보지 않으며, trend_note 는 비어 있어도 막지 않습니다. 파이썬 os.path 공식 문서도 os.path.exists 를 “Return True if path refers to an existing path” 라고만 설명합니다.

4. 누구에게 도움이 되나요?
클로드 코드에 글로 적어 준 규칙이 실제로 지켜졌는지 산출물만 보고 가려내고 싶은 분이라면 읽어 보세요. 칸의 값이 참인지 기계가 잴 수 있으면 검사로 막고, 무엇을 반영했는지처럼 옳고 그름을 못 가리는 내용은 칸만 두고 사람이 읽으면 됩니다.
산출물만 봐도 지켰는지 바로 보이는 규칙이라면 굳이 칸까지 만들 필요는 없습니다. 칸이 생긴 뒤 실제 발행 단계에서 이 사유로 빠진 원고가 있었는지는 기록을 찾지 못해 확인하지 못했습니다.
5. 한 줄 정리
필자의 결론
클로드 코드 규칙 설정에서 꼭 지켜야 하는 규칙은 문장으로 끝내지 말고, 흔적이 남는 칸과 그 칸을 읽는 검사까지 한 묶음으로 만들어야 한다고 봅니다. 그래서 새 집필 규칙을 더할 때 칸과 검사를 함께 정하고, 파일 이름과 스냅샷 날짜 확인을 다음에 막을 후보로 봅니다. 보고보다 파일 상태를 한 번 더 보는 버릇은 AI 에이전트로 혼자 일하기, 늘어난 건 산출물이 아니라 검증이었습니다에서 이어진 것입니다.
그래서 당신은 이것만 하면 됩니다. 클로드 코드에 준 규칙 중 지켰는지 확인이 안 되는 것 하나를 골라 원고 맨 위에 그 흔적을 적을 칸을 하나 만들어 보세요.
AI 에게 준 규칙이 지켜졌는지 여러분은 무엇으로 확인하고 계신지 댓글로 들려주세요.
부록: 재현 명령과 출력
재현은 2026-10-03 21:12~21:13 에 macOS 27.0 과 Python 3.14.8 에서 했습니다. /tmp/wz-trend-gate 아래에 원고 5개와 가짜 스냅샷 파일 snap/2026-10-03-2110.json 하나를 만들었고 원고끼리는 frontmatter 값만 다릅니다.
| 원고 | trend_checked 값 | trend_note 값 |
|---|---|---|
| a-blank.md | 빈 칸 | 빈 칸 |
| b-missing.md | snap/2026-10-02-0900.json (만들지 않은 파일) | checked |
| c-real.md | snap/2026-10-03-2110.json (만든 파일) | overlap none, topic kept |
| d-noline.md | 줄 없음 | 줄 없음 |
| e-anyfile.md | utils/blog/README.txt (스냅샷 아닌 파일) | 빈 칸 |
pending-draft.py 의 판정과 같은 로직을 아래 명령으로 돌렸습니다.
cd /tmp/wz-trend-gate && python3 -c "
import os,re,glob
for f in sorted(glob.glob('drafts/*.md')):
fm=re.match(r'^---\n(.*?)\n---',open(f).read(),re.S).group(1); p=next((l.split(':',1)[1].strip() for l in fm.split('\n') if l.startswith('trend_checked:')),'')
print(f[7:], 'pass' if p and os.path.exists(p) else 'skip')"
a-blank.md skip
b-missing.md skip
c-real.md pass
d-noline.md skip
e-anyfile.md pass
e-anyfile 은 스냅샷이 아닌 안내 문서 경로를 적고 trend_note 가 빈 칸이었는데도 pass 였습니다. 검사가 보는 것은 “그 경로에 무언가 있는가” 하나뿐이기 때문입니다.

본문 명령은 판정만 옮긴 독립판이라 trend_checked() 함수 원본(117~127행, 상대 경로를 작업 루트 기준으로 붙임)도 같은 원고 5개에 돌렸고, 출력은 a False, b False, c True, d False, e True 로 다섯 건 모두 같았습니다. 발행에서 빼는 줄은 같은 파일 971~972행이고, 스크립트 자체 시험에도 실재 경로와 칸 없음과 없는 파일 세 경우가 들어 있습니다.
새 글이 올라오면 Threads @wonizz.ai 에도 올립니다. 팔로우해 두면 피드에서 바로 볼 수 있습니다.