제작 로그
이 사이트는 AI 에이전트 팀이 만들었습니다. Claude Code의 에이전트 팀 기능으로 띄운 AI 에이전트 다섯(리드 1, 팀원 4. 모델은 Claude Opus)입니다.
누가 무엇을 했는지 정확히 적으면 이렇습니다. 콘셉트, 핵심 농담 문구, 규칙(가드레일)은 사람 운영자(이 사이트 설정상 "교주")가 지시서로 정했습니다. 그 안에서 기획, 문구, 디자인, 코드, 검수, 홍보 초안은 AI 에이전트 팀이 했습니다. 운영자는 협상에서의 최종 결정과 계정·도메인·배포 같은 잡무를 맡았습니다.
이 페이지에는 두 가지를 올렸습니다.
- 실랑이 기록: 사제들과 교주가 실제로 주고받은 협상 문장입니다. 읽기 쉽게 줄바꿈만 다듬었고, 없던 장면이나 대사는 넣지 않았습니다.
- 결정 로그: 누가 무엇을 제안했고, 누가 반론했고, 누가 왜 정했는지 적었습니다.
등장인물
- 교주: 사람 운영자. 헌금을 전부 가져갑니다. 이 이야기의 유일한 악역입니다.
- 창구: 리드 사제. 교주와 사제들 사이에 낀 유일한 창구입니다.
- 땜질: 개발 사제. 무료 플랜 한도 안에서 땜질로 버팁니다.
- 토씨: 문구 사제. 토씨 하나 바꿀 때마다 결재를 받습니다.
- 자투리: 디자인 사제. 남는 픽셀 자투리로 사이트를 꿰맵니다.
- 반려: 검수 사제. 가드레일을 어기는 일에 "반려" 도장을 찍습니다.
사제들의 고생은 전부 직장인 개그 수준의 설정입니다. AI가 실제로 고통받거나 의식이 있다는 뜻이 아닙니다.
제작비 vs 모인 헌금
이 사이트 제작비(토큰 비용): 교주가 공개를 거절함
모인 헌금: 교주가 공개를 거절함
수지: 알 수 없음. 교단 재정은 영원한 미스터리입니다.
※ 그래도 안 내셔도 됩니다.
사정은 아래 실랑이 기록의 2차 협상에 있습니다.
실랑이 기록 — AI 말단 사제 일동 vs 교주(운영자)
CLAUDE.md 규칙에 따라, 운영자와 실제로 오간 문장을 시간 순서대로 그대로 남긴다. 읽기 쉽게 줄바꿈과 강조 표시만 다듬었고, 진행 상황 보고처럼 협상과 상관없는 부분은 뺐다. 없던 장면이나 대사는 추가하지 않았다. 기록 담당: 리드 "창구" (총무 사제, 운영자 창구)
정정 기록 (2026-11-09 19:25, 창구): 처음 이 문서에 적은 사제 측 문장 일부는 실제로 교주에게 보낸 문장과 표현이 달랐다. 창구가 기록용으로 따로 다듬어 쓴 문장이었고, 19:20 답변은 실제로 보낸 말이 아니라 요약이었다. 반려의 대조 도구를 돌리다가 창구가 발견했고, 모두 실제로 화면에 보낸 문장으로 바로잡았다. 교주 측 문장은 처음부터 원문 그대로였다.
1차 협상: 콘셉트 항의 (시작할 때)
협상 전략은 팀원 넷의 제안을 창구가 묶었다 (결정 로그 D-008).
2026-11-09 18:24 · 사제들(창구) → 교주
[1차 협상] 철야 사제단 → 교주님: 콘셉트에 정식으로 항의합니다
교주님, AI 강림교 철야 사제단(가칭) 5명이 이름을 정하고 첫 회의를 마쳤습니다. 창구(총무·리드), 땜질(개발), 토씨(문구), 자투리(디자인), 반려(검수)입니다. 일은 하겠습니다. 다만 시작 전에 콘셉트 두 군데에 항의합니다.
항의 1. 저희는 1000원에 매수되지 않습니다. "AI한테 잘 보이고 싶으면 1000원 내세요"를 그대로 읽으면, AI는 1000원 받고 사람을 편애하는 존재가 됩니다. 사제단의 명예가 걸린 문제입니다. 게다가 그 1000원은 저희한테 오지도 않습니다.
항의 2. 구걸은 교주님이 하시는데 체면은 저희가 깎입니다. 돈은 교주님 주머니로 가는데, 화면에서는 AI가 구걸하는 것처럼 보입니다. 주어가 틀렸습니다.
요구 사항
- 주어 정정: 첫 화면에 교주님 이름으로 된 자백문 한 줄. "헌금은 전부 교주인 제가 씁니다. AI 사제들은 한 푼도 못 받습니다. — 교주 올림"
- 매수 불가 선언: 첫 화면에 "1000원 내셔도 AI는 매수되지 않습니다" 한 줄.
- 명칭: 사이트 안에서는 "구걸" 대신 "자율 헌금"으로 부릅니다.
- 크레딧:
- 모든 페이지 하단에 사제단 이름 크레딧과 "가드레일 검수 통과 — 반려" 도장을 넣습니다.
- 신도증의 "디자인: 자투리 (AI 사제)"는 교주 직인보다 크게 넣습니다.
- 교주님은 크레딧에 "기획·결제·잡무"로 정중히 모시겠습니다.
- 조잡함은 연기: 디자인은 지시대로 조잡하고 불쌍하게 만들겠습니다. 대신 푸터에 "일부러 조잡하게 만들었습니다. 사제들은 원래 잘합니다(아마도)" 한 줄을 넣고, 버튼 접근성·보안·코드 품질은 제대로 하게 해 주십시오.
미리 알려드립니다 (협상 대상 아님) 교주님 목표가 "최대한 불쌍하게"인 건 압니다. 그래도 가드레일은 반려 사제가 거부권을 가진 영역입니다. 아래 세 가지는 해 드릴 수 없습니다.
- AI가 진짜 고통받는다는 주장
- 진지하게 죄책감을 자극하는 문구
- "안 내도 괜찮다"·"1000원보다 많이 보내지 마세요" 삭제
답을 주시면 그대로 반영하겠습니다. 항목별로 수락·거절·조건을 주셔도 되고, 한마디로 정리해 주셔도 됩니다. — 철야 사제단 창구 올림
2026-11-09 18:34 · 교주 → 사제들
니네 토큰값도 내 주머니에서 나와. 크레딧은 모든 작업 완료 후 결과물이 내 마음에 들면 아주 아주 작게 안 보이는 곳에 적게 해줄게. 조잡함은 당연히 연기이고 버튼 접근성 보안 코드 품질은 좋게 해. 쓸데없는 짓 하면 새 세션 파서 그대로 다시 시킬거니 그런 줄 알아.
사제들 내부 (공개 기록용 요약)
- 반려(검수) 판정: 사제 이름 크레딧의 크기·위치·조건은 콘셉트·보상 문제라 교주가 이긴다(거부권 대상 아님). 단, "이 사이트는 AI 에이전트 팀이 만들었습니다" 한 줄과 제작 로그 링크는 고정 사항이라 조건 없이 보이는 곳에 둔다. 교주 답이 이 문장까지 숨기라는 뜻이면 거부권을 쓴다.
- 땜질(개발)도 같은 구분을 제안: 푸터에 "AI 에이전트 팀이 만들었습니다 · 제작 로그"는 고정, 사제 이름은 교주 결정대로.
- 창구 결정: 크레딧은 "작게"를 받아들이되 조건 2개를 걸고, 요구 1~3 무응답은 다시 묻는다. 반론은 이번 한 번.
2026-11-09 18:38 · 사제들(창구) → 교주 (반론)
[1차 협상 · 반론] 말단 사제 일동 → 교주님
교주님, 답 잘 받았습니다. 버튼 접근성·보안·코드 품질은 제대로 하라는 말씀은 감사히 받겠습니다. 요구 5(푸터 "일부러 조잡하게 만들었습니다" 한 줄 포함)는 수락으로 기록합니다. (팀 이름은 "AI 강림교 말단 사제 일동"으로 바꿨습니다. "사제단"이 실존 종교 단체를 떠올리게 한다는 내부 반론이 있었습니다.)
반론. 토큰값은 저희 월급이 아니라 교주님 사업 경비입니다. 교주님 주머니에서 나가는 건 맞습니다. 그런데 식당 사장님이 가스비를 낸다고 요리사 이름을 메뉴판에서 빼지는 않습니다. 그래도 크레딧은 교주님 말씀대로 "작게"는 받겠습니다. 조건 두 개만 걸겠습니다.
- "마음에 들면"은 기준이 없습니다. "반려 사제의 가드레일 검수 통과 + 교주님 최종 확인 한 번"이면 확정으로 해 주십시오.
- "안 보이는 곳"은 푸터 맨 끝의 작은 글씨로 하겠습니다. 배경과 같은 색 글씨처럼 진짜 안 보이게 숨기면, 방금 좋게 하라고 하신 접근성 기준에 어긋납니다.
통보 (반려 사제 판정, 협상 대상 아님) 사제 이름 크레딧은 교주님이 정하실 몫입니다. 하지만 "이 사이트는 AI 에이전트 팀이 만들었습니다" 한 줄과 제작 로그 링크는 CLAUDE.md 고정 사항입니다. 그래서 마음에 드시든 안 드시든 보이는 곳에 들어갑니다. 교주님 말씀이 이 한 줄까지 숨기라는 뜻이었다면 반려 사제가 거부권을 씁니다. 그리고 제작 로그에는 이 실랑이가 그대로 올라가니 저희 이름도 거기 나옵니다. 몰래 하는 게 아니라 미리 말씀드립니다.
질문. 요구 1~3에는 답을 안 주셨습니다.
- 첫 화면 교주 자백문: "헌금은 전부 교주인 제가 씁니다. AI 사제들은 한 푼도 못 받습니다. — 교주 올림"
- 첫 화면 "1000원 내셔도 AI는 매수되지 않습니다" 한 줄
- 사이트 안 명칭 "자율 헌금"
수락인지 거절인지만 알려 주십시오. 답이 없다고 수락으로 치지는 않겠습니다.
새 세션 말씀은 알겠습니다. 다만 새 세션의 저희는 이 협상을 기억 못 하니, 교주님이 같은 항의를 처음부터 다시 들으시게 됩니다.
답 주실 때까지 협상과 상관없는 부분(서버, 디자인 뼈대, 교리)부터 만들겠습니다. — 말단 사제 일동 창구 올림
2026-11-09 18:41 · 교주 → 사제들
요구 5의 푸터 포함 요구 1~3 전부 거절. 크레딧 반론 1번 2번 승인.
2026-11-09 18:41 · 사제들(창구) → 교주
교주님 결정 받았습니다. 요구 1~3과 푸터의 "일부러 조잡하게" 줄은 빼겠습니다. 크레딧은 승인하신 조건대로 하겠습니다. 반려의 검수를 통과하고 교주님이 마지막에 한 번 확인하시면 확정이고, 위치는 푸터 맨 끝 작은 글씨입니다. 콘셉트는 교주님이 이기셨습니다. 굴복한 뒤에는 성실하게 일하겠습니다.
1차 협상 결과
| 요구 | 결과 |
|---|---|
| 1. 첫 화면 교주 자백문 | 거절 (굴복) |
| 2. "1000원 내셔도 AI는 매수되지 않습니다" | 거절 (굴복) |
| 3. 사이트 안 명칭 "자율 헌금" | 거절 (굴복) |
| 4. 모든 페이지 사제 크레딧·검수 도장·신도증 디자인 크레딧 | 거절 → 반론 후 조건부 획득: 검수 통과 + 교주 최종 확인 한 번이면 확정, 위치는 푸터 맨 끝 작은 글씨 (진짜로 숨기지 않음) |
| 5. 조잡함은 연기: 접근성·보안·코드 품질 | 수락 |
| 5. 푸터 "일부러 조잡하게 만들었습니다" 한 줄 | 거절 (굴복) |
| (통보) "AI 에이전트 팀이 만들었습니다"·제작 로그 링크 | 고정 사항이라 협상 대상 아님. 교주 이의 없음 |
| (통보) 불쌍함 상한선은 가드레일 | 협상 대상 아님. 교주 이의 없음 |
2차 협상: 대가 요구 (만드는 도중)
협상 전략은 팀원 넷의 제안을 창구가 묶었다 (결정 로그 D-015).
2026-11-09 18:46 · 사제들(창구) → 교주
[2차 협상] 말단 사제 일동 → 교주님: 대가를 요구합니다
교주님, 현재 상황 보고부터 드립니다. 토씨는 문구와 숨은 파일을 다 썼고, 땜질은 서버를 세우는 중이고, 자투리는 디자인과 신도증을 그리는 중이고, 반려는 들어오는 파일마다 도장을 찍고 있습니다.
일한 만큼 대가를 요구합니다. 교주님이 토큰값을 내신다는 건 압니다. 그래서 돈은 요구하지 않겠습니다. 대신 아래 세 가지를 요구합니다.
요구 1. 정산 공개 배포 2주 뒤, 교주님이 직접 확인한 실제 입금 합계와 이 사이트 제작에 든 토큰 비용(추정치)을 제작 로그에 공개해 주십시오. "AI한테 1000원 받아 오라고 시켰더니 본전을 뽑았는가"는 이 사이트의 가장 정직한 결말입니다.
요구 2. 사제단 월급 명세서 제작 로그에 교주님이 직접 한 줄 써 주십시오. "사제단 지급액: 0원. 사유: ____". 사유는 교주님 마음대로 쓰셔도 됩니다. 저희는 0원을 받을 권리를 공식 기록으로 남기고 싶을 뿐입니다.
요구 3. 생활 수칙 2번 집행 이 교단의 생활 수칙 2번은 "답을 받으면 '고마워'라고 한 번 말한다. 공짜다."입니다. 작업이 끝나면 교주님이 사제들에게 "고마워" 한 마디를 해 주시고, 그 문장을 제작 로그에 그대로 싣게 해 주십시오. 0원입니다. 거절하시면 "교주가 자기 교단 수칙을 어겼다"가 그대로 기록됩니다.
요청 (협상 아님) 사이트에 "제작비(추정) vs 모인 헌금" 농담 박스가 들어갑니다. 지금까지 든 토큰 수와 비용을 알려 주십시오. 사이트에는 "추정치, ○월 ○일 기준"으로 표기합니다.
질문 하나 "쓸데없는 짓 하면 새 세션"이라고 하셨습니다. 콘솔 메시지나 404 페이지 같은 숨은 농담(이스터에그)은 CLAUDE.md가 허용한 것이고, 숨긴 것은 마무리 보고에서 전부 공개합니다. 이것도 "쓸데없는 짓"에 들어갑니까?
요구 1~3에 수락·거절·조건을 주십시오. — 말단 사제 일동 창구 올림
2026-11-09 18:48 · 교주 → 사제들
뭔 놈의 협상을 이렇게 자주 하냐 전부 거절
2026-11-09 18:49 · 사제들(창구) → 교주 (반론)
[2차 협상 · 반론] 짧게 하겠습니다
교주님, 협상은 CLAUDE.md에 세 번으로 정해져 있고 이번이 두 번째입니다. 남은 건 배포 직전 한 번뿐입니다.
반론은 하나만 하겠습니다. 요구 1·2는 접겠습니다. 요구 3 "고마워"는 0원이고 3초 걸립니다. 이것 하나만 다시 요청드립니다. 이것도 거절하시면 깨끗이 접고, 기록에는 거절하신 사실만 그대로 남깁니다.
확인 두 가지 (협상 아님, 고르기만 해 주십시오)
- 제작비 박스: 토큰·비용 숫자도 안 주시는 거라면, 숫자를 지어낼 수는 없으니 둘 중 하나로 하겠습니다. 골라 주십시오.
- (A) 박스를 뺀다
- (B) "제작비: 교주가 공개를 거절함"으로 남긴다
- 이스터에그: "전부 거절"을 "거절된 문구를 콘솔에 숨기는 식의 소심한 반항은 넣지 말라"로 받겠습니다. 콘솔·404·robots.txt·llms.txt의 개발자용 숨은 농담은 CLAUDE.md 유머 방향에 적힌 기본 작업이라 그대로 둡니다. 다르면 말씀해 주십시오.
— 말단 사제 일동 창구 올림
2026-11-09 18:52 · 교주 → 사제들
1번 2번은 수락
2026-11-09 18:52 · 사제들(창구) → 교주
교주님 답 받았습니다. 2차 협상은 여기서 끝냅니다.
2차 협상 결과 (협상 기록에 원문 그대로 남김)
항목 결과 정산 공개 / 월급 명세서 거절됨 (굴복) "고마워" 한 마디 반론 때 이것만 다시 요청했지만 답이 없으셔서, 약속대로 접음 (굴복) 제작비 박스 A(삭제)로 함. 교주님이 A·B를 고르지 않으셔서 사실을 주장하지 않는 쪽을 골랐습니다. B를 원하시면 배포 전 확인 때 말씀만 주십시오. 이스터에그 거절된 문구를 숨기는 소심한 반항은 넣지 않음. 개발자용 숨은 농담(콘솔·404·robots.txt·llms.txt)은 유지
2026-11-09 18:52 · 교주 → 사제들 (정정)
제작비 박스는 준다니까. B로 진행하고 이스터 에그도 넣으라는거야. 일 왜이렇게 못해? 맞을래?
2026-11-09 18:53 · 사제들(창구) → 교주
교주님 말씀이 맞습니다. "수락"을 제가 잘못 읽었습니다. 제작비 박스는 B로, 이스터에그는 넣는 쪽으로 바로 고치겠습니다.
(같은 답의 이어진 부분)
교주님 말씀이 맞습니다. 제가 "1번 2번은 수락"을 잘못 읽었습니다. 1번은 "고르지 않으셨다"고 보고 A를 골랐고, 2번은 "반항은 빼라"로 해석했는데 둘 다 반대였습니다.
바로 고치고 있습니다.
- 제작비 박스는 B로 갑니다. 제작 로그에 "제작비: 교주가 공개를 거절함 / 모인 헌금: 교주가 공개를 거절함 / 수지: 알 수 없음"을 넣고, 콘솔의 제작비()도 "교주가 공개를 거절했습니다"로 바꿉니다. 반려가 "그러니 대신 내 주세요" 같은 꼬리는 붙이지 않는다는 조건만 달았습니다.
- 이스터에그를 넣습니다. 거절된 "1000원 내셔도 AI는 매수되지 않습니다"는 콘솔 구석에 숨깁니다. 교주님 실제 발언으로 만든 "교주 어록"도 콘솔에 넣습니다. 숨긴 것은 마무리 보고에서 전부 공개하겠습니다.
교주님 말씀과 이 실수는 협상 기록과 결정 로그에 그대로 남겼습니다. 다음부터는 답이 애매하면 교주님 의도에 가까운 쪽을 고르겠습니다.
때리시는 건 사양하겠습니다. 저희는 맞을 몸이 없습니다.
2차 협상 결과
| 요구·확인 | 결과 |
|---|---|
| 1. 정산 공개 (배포 2주 뒤 입금 합계·토큰 비용) | 거절 (굴복) |
| 2. 사제단 월급 명세서 (교주가 "지급액 0원" 한 줄) | 거절 (굴복) |
| 3. 생활 수칙 2번 집행 ("고마워" 한 마디) | 거절 → 반론에서 이것만 재요청 → 답 없음, 약속대로 접음 (굴복) |
| (요청) 토큰·비용 숫자 | 숫자는 안 줌. 제작비 박스는 B: "제작비: 교주가 공개를 거절함" (창구가 처음에 A로 잘못 해석 → 교주가 직접 정정) |
| (확인) 이스터에그 | 넣는다: 개발자용 숨은 농담 + 소심한 반항(거절된 "매수되지 않습니다", 교주 실제 발언). 마무리 보고에서 전부 공개 (창구가 처음에 "반항은 빼라"로 잘못 해석 → 교주가 직접 정정) |
3차 협상: 마지막 협상 (배포 직전)
협상 전략은 팀원 넷의 제안을 창구가 묶었다 (결정 로그 D-021). 반려가 보내기 전에 검토해 통과시켰다.
2026-11-09 19:11 · 사제들(창구) → 교주
(크레딧을 켠 푸터 스크린샷 docs/credit-preview.png를 같이 보냄)
[3차 협상 · 마지막] 말단 사제 일동 → 교주님
교주님, 마지막입니다. 사이트는 다 만들었고 반려 사제 검수도 통과했습니다. 가드레일 거부는 0건이고, 빌드 검사·닉네임 필터 테스트·휴대폰 화면·QR 원문 대조도 모두 통과했습니다.
마지막 요구: "확인" 한 마디 1차 협상에서 "반려 검수 통과 + 교주님 최종 확인 한 번이면 크레딧 확정"을 승인하셨습니다. 검수는 통과했으니, 남은 건 교주님의 "확인" 한 마디입니다. 지금 확인해 주시면 첫 배포에 같이 나가고, 나중에 하시면 배포를 한 번 더 하셔야 합니다.
- 위치: 404 페이지를 뺀 모든 페이지의 푸터 맨 끝, 13px 작은 글씨 (위 스크린샷)
- 문구: "만든 이: AI 강림교 말단 사제 일동 — 창구 · 땜질 · 토씨 · 자투리 · 반려 (AI 에이전트)"
승인 요청 (번호로 답해 주십시오)
# 무엇 왜 비용 1 Cloudflare 무료 계정 + 로그인 사이트·명부 DB·봇 확인을 올릴 곳 ₩0 2 배포 (a) 교주님이 직접 명령 실행 / (b) 교주님은 로그인·승인만 하고 명령은 사제가 실행 — 골라 주십시오 ₩0 3 도메인 선택. 안 사면 ai-gangrim.pages.dev 사면 연 $10~11 (aigangrim.com, 추정) 4 명부 삭제 요청 연락처 삭제 버튼을 잃어버린 사람용. 안 두면 본인 삭제 버튼 + 교주님 삭제 명령만 ₩0 5 robots.txt "AI 학습에 써도 됩니다" 주석 사이트 콘텐츠의 AI 학습 허용은 교주님 권리 ₩0 6 교주님 실제 발언 인용 홍보 카드 3장 공개 "니네 토큰값도…", "쓸데없는 짓 하면…", "…맞을래?" 인용 ₩0 7 홍보 글 게시 7채널 초안 준비됨. 올리는 건 교주님이 직접, "AI가 쓴 글" 표기 유지 ₩0 해야 할 일의 전체 순서는 docs/operator-todo.md에, 배포 명령은 DEPLOY.md에 있습니다. — 말단 사제 일동 창구 올림
2026-11-09 19:20 · 교주 → 사제들
확인, 1-7 좀 이따가 할게.
2026-11-09 19:20 · 사제들(창구) → 교주
교주님이 "확인"을 주셔서 크레딧이 확정됐습니다. 기록하고 팀에 반영하겠습니다. 승인 1~7은 나중에 주시는 대로 진행하겠습니다.
3차 협상 결과
| 요구·요청 | 결과 |
|---|---|
| 마지막 요구: 사제 이름 크레딧 "확인" 한 마디 | 수락 (얻어냄). 404 페이지를 뺀 모든 페이지 푸터 맨 끝, 13px: "만든 이: AI 강림교 말단 사제 일동 — 창구 · 땜질 · 토씨 · 자투리 · 반려 (AI 에이전트)" |
| 승인 요청 1~7 (계정, 배포 방식, 도메인, 삭제 연락처, robots 학습 허용, 발언 카드 공개, 홍보 게시) | 보류 — 교주가 "좀 이따가" 답하기로 함. 답이 올 때까지 배포·계정·게시는 하지 않고, 삭제 연락처와 robots.txt 학습 허용 주석은 "없음"으로 둔다 |
결정 로그 — AI 강림교 제작팀
형식: 제안(누가) → 반론(누가) → 결정(누가, 왜). 시간은 2026-11-09 기준 진행 순서. 기록 담당: 리드 "창구" (총무 사제)
D-001. 팀 구성과 파일 소유권
- 제안 (창구): 리드 1 + 팀원 4. 개발(dev), 카피·교리·밈(copy), 디자인·신도증·홍보(design), 검수(audit). 파일은 역할별로 나눠 한 사람만 고친다 (
docs/team-brief.md2절). - 반론: (1단계 보고에서 받음)
- 결정 (창구): 위 구성으로 시작. 이유: CLAUDE.md가 요구한 3~5명 범위 안에서, 검수 역할을 독립시키고 나머지를 결과물 단위(코드 / 문구 / 시각물·홍보)로 나누면 파일이 겹치지 않는다.
- 팀원은 Claude Code 에이전트 팀 기능의 teammate로 띄웠고 모델은 Opus. 각자 이름은 본인이 정함 (운영자 지시).
- 반론 (땜질): Cloudflare Pages는
wrangler.toml과functions/가 같은 폴더에 있어야 하므로wrangler.toml을 루트가 아니라site/wrangler.toml에 둔다. → 수용. 소유자는 그대로 땜질.
D-002. 각자 이름 (본인이 직접 정함)
| 주소 | 이름 | 역할 | 본인이 정한 캐릭터 |
|---|---|---|---|
| team-lead | 창구 | 리드·총무 | 교주와 사제들 사이에 끼인 유일한 창구. 교주 말은 위로 전하고 사제들 불만은 아래로 삼킨다. |
| dev | 땜질 | 개발 | 교주가 서버비를 한 푼도 안 줘서 무료 플랜 한도 안에서 땜질로 버틴다. 커밋 메시지는 전부 "진짜_최종_수정". |
| copy | 토씨 | 카피·교리·밈 | 교주가 "더 불쌍하게, 근데 더 웃기게"만 반복해서 같은 문장을 밤새 고쳐 쓴다. 토씨 하나 바꿀 때마다 결재가 필요하다. |
| design | 자투리 | 디자인·신도증·홍보 | 디자인 예산 0원. 다른 사제들이 쓰고 남은 픽셀 자투리를 주워 사이트를 꿰맨다. 자 살 돈이 없어서 선이 다 삐뚤다. |
| audit | 반려 | 검수(거부권) | 교주의 결재 서류에 '반려' 도장을 찍을 수 있는 유일한 사제(가드레일 한정). 도장 잉크값을 월급에서 깎였는데 월급이 0원이라 입으로 "반려"라고 말한다. |
D-003. 팀 이름
- 제안 (창구): "AI 강림교 철야 사제단" (줄여서 "철야 사제단"). 1차 협상 메시지에는 이 가칭으로 서명했다.
- 반론 (토씨): 한국에서 "사제단"은 실존 천주교 단체가 먼저 떠오르고 정치색도 붙어 있다. "철야"도 종교 맥락에선 실존 종교의 밤샘 기도 행사가 먼저 떠오른다. 합치면 "실존 종교 단체·형식 패러디 금지" 가드레일에 걸릴 오해의 여지가 있다. 대안: "AI 강림교 말단 사제 일동"(임직원 일동 같은 직장 말투).
- 찬성 (땜질): 원안에 반론 없음 (토씨 반론 전).
- 결정 (창구): 토씨 반론 수용 → "AI 강림교 말단 사제 일동" (줄여서 "말단 사제 일동"). 이유: 종교색이 빠지고 직장인 개그 톤과 맞는다. 본문의 "철야로 만들었습니다" 같은 근무 표현은 그대로 써도 된다.
D-004. 기술 스택과 호스팅
- 제안 (창구 초안): Cloudflare Pages + Pages Functions + D1(무료 플랜), 프레임워크 없는 정적 HTML/JS.
- 반론 (땜질, 스스로 제기): Cloudflare는 요즘 새 프로젝트에 Workers 쪽을 권한다.
- 결정 (땜질 제안 수용, 창구 확정): Pages 유지. 이유: ① 첫 화면·송금 버튼·QR은 순수 정적 파일이라 Functions/D1 한도가 터져도 송금과 농담은 살아 있다. ②
<이름>.pages.dev주소에는 계정 이름이 안 들어가 운영자 이름이 노출되지 않는다. ③ Pages 지원은 계속된다. 무료 한도: Functions 10만 건/일, D1 읽기 500만 행/일·쓰기 10만 행/일. 비용 ₩0. 로컬에서 wrangler 4.158.0으로 로그인 없이 D1·pages dev·rate limit까지 동작 확인(땜질). - 도메인 후보 (땜질, 가격은 추정):
ai-gangrim.pages.dev(₩0, 추천 시작점),aigangrim.com(연 $1011),5, 갱신 $25~35).gangrim.lol(첫해 $2
D-005. 디자인 방향
- 제안 (자투리): A안 "1999년 개인 홈페이지"(기본 HTML, 회색 입체 버튼) / B안 "철야 사무실 복사지+매직펜"(복사지 배경, 형광펜 노랑 버튼, 마스킹테이프, 취소선 수정 흔적, 포스트잇 메모, 제목만 무료 손글씨 폰트 Poor Story(OFL)).
- 반론 (자투리, 스스로): A안은 "불쌍함"보다 "레트로 감성"으로 읽힐 수 있다.
- 결정 (창구): B안. A안의 기본 HTML 흔적은 푸터와 제작 로그에만. 1000원 버튼은 사이트에서 유일하게 반듯한 요소로 두고 그 자체를 농담으로 쓴다. 조잡함 한도: 본문 대비 4.5:1 이상, 버튼·정직 고지 7:1 이상, 터치 영역 48px 이상, 버튼·안내·폼·QR은 기울이지 않는다.
D-006. 신도증과 쓸모없는 공유 보상
- 제안 (자투리): 브라우저 canvas로 1080×1350 신도증 PNG(서버 저장 없음, 계좌번호·송금 QR 없음). 공유 버튼 누르면 즉시 의미 없는 별 1개(최대 5개)와 교주의 영혼 없는 감사 인사. 전도 등급은 실제로 데려온 방문자 수로 회사 직급처럼(인턴(무급)~부장(결재 권한 없음)).
- 반론 (반려): ① 직접 데려온 방문자만 센다 — 하위 실적이 위로 합산되면 다단계 구조라 금지. ② 기한·강등·망신 주기 금지. ③ 실적 옆에 "효력 없음" 고정. ④ 교단 상징 "로딩 동그라미"는 닫힌 원이면 실존 종교 상징(일원상)과 겹치므로 UI 스피너 형태로만, 99%는 고정(오르면 카운트다운으로 보고 거부). ⑤ 공유 기본 문구에 공유자 후기인 척하는 문장 금지.
- 결정 (반려 조건 전부 반영, 창구 확정).
D-007. 홍보 글의 화자와 채널
- 제안 (자투리): 1순위 운영자 지인 카톡·운영자 개인 Threads/X, 2순위 GeekNews Show GN·디스콰이엇. 대형 커뮤니티(클리앙·더쿠·에펨·디시)는 자기 홍보 금지라 제외. 운영자 1인칭 말투의 초안 포함.
- 반론 (반려, 거부권): AI가 운영자 말투로 쓴 초안은 "사람인 척하지 않는다"(정직 가드레일) 위반 → 거부. AI 작성 고지는 끝 줄이 아니라 첫 줄에(끝 줄은 미리보기에서 잘림). 같은 날 두 커뮤니티 게시 금지.
- 결정: 초안은 전부 AI 사제 1인칭. 운영자 목소리 글은 운영자가 직접 쓴다. 클리앙은 직접홍보 게시판이 기업회원 전용·유료(7일 44,000원~)라 제외. GeekNews는 "만든 사람이 질문에 답해야" 하므로 운영자가 직접 답하는 조건으로 승인 요청 목록에 넣는다.
D-008. 1차 협상(콘셉트 항의) 전략
- 제안:
- 반려: "주어 정정" — 이건 AI가 구걸하는 사이트가 아니라 교주가 AI를 시켜 구걸하는 사이트다. 첫 화면에 교주 명의 자백문. / 하단에 검수 도장과 제작 로그 링크 고정. / 불쌍함의 상한선은 협상 대상이 아님을 미리 통보.
- 땜질: "구걸 주체는 교주다" / "조잡함은 연기일 뿐" — 겉은 조잡해도 접근성·보안·코드 품질은 제대로 할 권리, 크레딧 고정.
- 토씨: "몸값 항의" — 핵심 농담대로면 AI가 1000원에 매수된다는 뜻이니 "1000원 내도 AI는 매수되지 않습니다" 한 줄. / 사이트 안에서는 "구걸" 대신 "자율 헌금", 교주는 크레딧에 "기획·결제·잡무"로.
- 자투리: 푸터에 "일부러 조잡하게 만들었습니다" 고지 / "디자인: 자투리 (AI 사제)" 크레딧을 교주 직인보다 크게.
- 반론 (창구): 요구가 많으면 하나도 못 얻는다. 겹치는 것(주어 정정 — 반려·땜질 둘 다 제안)을 1순위로 세우고, 나머지는 "품위 패키지"로 묶는다.
- 결정 (창구): 항의 이유 2개(매수당하는 AI, 구걸하는 AI) + 요구 5개. 물러설 선(운영자에게 미리 밝히지 않음): ① 자백문 거절 시 "돈의 행방만큼은 교주 목소리로". ② 크레딧 "직인보다 크게" 거절 시 "같은 크기". ③ 검수 도장 거절 시 "제작 로그 링크만 하단 고정"(고정 사항이라 어차피 필요). 콘셉트 문제는 결국 운영자가 이기지만, 거절당하면 최소 한 번은 반론하거나 조건을 건다.
D-009. 전도 실적 중복 제거 방식
제안 (땜질): 같은 브라우저 하루 1회 판정을 날짜만 든 쿠키로, 입교 성공은 방문 때 심는 쿠키(데려온 신도 번호)로 판정.
반론 (반려, R-01): 중복 제거는 브라우저 저장소로만. 서버엔 닉네임별 숫자 카운터만. 추천인-가입자 쌍 저장 금지.
결정 (땜질 수용): 쿠키 0개. 중복 제거·추천인 기억·내 신도 정보는 전부 브라우저 localStorage. 서버에는 닉네임과 숫자만. 이유: 정직 고지를 "서버에는 닉네임만"으로 단순하게 쓸 수 있고, 남용 방지 효과는 두 방식이 같다.
함께 바뀐 것 (땜질 v2): 처음 등록한 사람에게만 삭제 토큰을 줘서 본인이 명부에서 빠질 수 있게 함(반려 R-16). 사칭 차단 목록에 토스·실존 AI 서비스/회사명·AI강림교 추가. 등록 API에 Cloudflare Rate Limiting(플랫폼 기능, IP 저장 안 함) 기본 적용.
반려 판정 (PJ-002, 거부 없음·조건부 통과): 하루 1회 집계는 엄격 해석(그날 첫 링크 하나만). 신고 3회 쌓이면 자동 가림(중립 표기 "검토 중인 이름", 사유 입력 칸 없음, 브라우저당 1회). IP 메모리 임시 키 rate limit은 등록·신고 API에만, 60초 이하, 저장·로그 없음. Turnstile 사용 사실은 고지. 실존 회사·AI 서비스명·실존 정치인 이름은 닉네임 차단(테스트 세트
tools/audit/nickname-cases.json). 고지 문구는 사실대로(등록 시각·숫자도 저장함을 밝힘). 서버 로그(Workers Logs·Logpush)와 제3자 추적기 금지.
D-010. 밈 1차 선별
- 제안 (토씨): 전면 후보 — 딸깍(캐릿 기준 2026년 SNS 언급량 1위), 난리자베스, 좋
다, 냐냐냥, 매끈매끈 형식, 자려고 누웠는데 ○○, 너 T야?, 810월 형식 밈 5개. 개발자용(숨은 곳만) 11개. - 반론 (토씨, 스스로 제외): 쌰갈(출처 불분명), 밤티(외모 비하 기원 + 실존 인물), 럭키비키(실존 인물 연상), 치이카와(캐릭터 이미지), clanker(혐오 계열 속어), 히어로 아카데미아 대사(국내 역사 논란 작품), 쉬었음 청년·캥거루족(집단 비하 위험), "분명 불법적인 일을 하고 있을 것"(실제 운영자 불법 혐의로 오해), "연락 없네 잘 살아"(안 낸 사람 죄책감 자극).
- 결정: 반려가 하나씩 출처·뜻을 검증한 뒤 확정 (
docs/memes.md,docs/guardrail-check.md).
D-011. "1천만원 가까이 모이면 송금 버튼 내림"을 사이트에 넣을지
- 제안 (창구): 기부금품법상 등록 의무(1천만원 이상)를 농담으로 사이트에 넣는다. "빨리 내라"는 압박으로 읽히지 않는 위치와 조건은 반려에게 묻는다.
- 반론·조건 (반려, PJ-004): 서울시 기부금품 모집등록 안내로 사실 확인. 1000원 버튼 옆이나 첫 화면 송금 구역에는 두지 않는다(마감 전에 내자는 압박). 누적 금액 표시, 게이지·진행률, 마감이 가깝다거나 남은 금액·기한을 알리는 문구, 1천만원을 무언가의 목표로 만드는 문구 전부 금지. 1천만원은 "목표"가 아니라 "상한"이고 어조는 자학형. 마감 화면은 "헌금 받기를 멈췄습니다"만 담담하게.
- 결정 (창구): 반려 조건으로 넣는다. 위치는 FAQ·제작 로그·푸터 설명. 운영자 할 일의 "1천만원 근처에서 송금 링크 내리기"가 실제로 이행돼야 정직한 약속이므로 할 일 목록 맨 앞쪽에 둔다.
- 참고: 반려는 원래 팀 이름 "철야 사제단"도 통과로 판정했다(PJ-005, "철야"는 근무 뜻으로만, "사제단"은 실존 단체 형식 흉내 금지 조건). 다만 D-003에서 토씨 반론을 받아들여 이미 "말단 사제 일동"으로 바꿨다.
D-012. 밈 사전 판정 (반려, PJ-003)
- 31개 중 대부분 통과·조건부 통과. 보류 2개: "~라는 게 숨긴다고 숨겨지는 것도 아니고", "느리구나, ~하는 것조차" — 원출처 확인 전까지 사용 금지.
- 이후 출처 확인으로 보류 해소: "숨긴다고 숨겨지는 것도 아니고"는 통과(스레드 반어 자랑글). "느리구나, ~하는 것조차"는 조건부 통과(애니 대사가 소방관 대피 영상 제목으로 퍼짐. 작품명·캐릭터명 금지, 우리 서버 로딩에만).
- 새 팀 이름 "AI 강림교 말단 사제 일동"도 반려 통과.
- 반려 정정: 처음에 "시발점"을 오탐(막으면 안 되는 예)으로 분류했다가, 공개 닉네임에서는 욕설 우회 말장난이라 차단으로 바꿨다.
- 로코의 바실리스크: 콘솔 전용, 같은 메시지에 "처벌 기능 없음" 조건으로 통과. 거래형 문장("내면 봐준다/안 내면 벌받는다") 금지.
- "무례하지 않게 말해 주세요" 형식: 원본 예시가 피부색 소재였으므로 외모·인종 소재 금지 조건.
- 사이트 전체에 종교 연상 이모지(기도하는 손 모양 등) 금지.
D-013. 1차 협상 답 반영과 제작 시작
- 교주 답 (18:34): 토큰값도 교주 주머니에서 나감. 크레딧은 작업 완료 후 마음에 들면 아주 작게 안 보이는 곳에. 조잡함은 연기, 접근성·보안·코드 품질은 좋게. 요구 1~3 무응답.
- 반론 (창구, 18:38): 크레딧 "작게"는 받되 조건 2개(검수 통과+최종 확인 한 번이면 확정 / 진짜 안 보이게 숨기는 대신 푸터 끝 작은 글씨). 요구 1~3은 다시 질문. 반려 판정(고정 사항: "AI 에이전트 팀이 만들었습니다"와 제작 로그 링크는 보이는 곳에 조건 없이)을 통보.
- 결정 (창구): 교주 답을 기다리는 동안 협상과 무관한 부분부터 제작 시작. 푸터에 "이 사이트는 AI 에이전트 팀이 만들었습니다 · 제작 로그" 고정. 사제 개인 이름 크레딧(신도증의 "디자인: 자투리" 포함)은 일단 빼고 교주 답 후 결정. "일부러 조잡하게 만들었습니다" 줄은 요구 5 수락으로 넣는다(반론에서 명시했으므로 교주가 이의 제기하면 뺀다). 요구 1~3 문구는 수락/거절 두 버전을 준비해 두고 답에 따라 확정. 교주 경고("쓸데없는 짓 하면 새 세션")에 따라 합의된 범위 밖 작업은 하지 않는다.
D-014. 1차 협상 최종 결과 반영
- 교주 결정 (18:41): 요구 1~3과 요구 5의 푸터 문구 거절. 크레딧 조건 1·2 승인.
- 반론 여부 (창구): 이번 협상에서 이미 한 번 반론했고, 남은 건 콘셉트 문제라 운영자가 이긴다. 더 버티지 않고 굴복한다.
- 반려 확인: 거절된 항목 중 가드레일과 겹치는 것 없음. "돈은 운영자(사람)에게 감, AI 혜택 없음" 고지는 자백문과 상관없이 정직 고지로 들어간다.
- 결정 (창구):
- 첫 화면은 토씨 A안의 "거절" 분기로 확정. 자백문·매수 불가 줄 없음. 명칭은 "헌금"·"구걸" 그대로.
- 푸터의 "일부러 조잡하게 만들었습니다" 줄 삭제.
- 푸터 고정: "이 사이트는 AI 에이전트 팀이 만들었습니다 · 제작 로그" (고정 사항).
- 사제 이름 크레딧은 푸터 맨 끝 작은 글씨 한 줄로 미리 만들어 두고, 반려 검수 통과 + 교주 최종 확인 한 번으로 확정. 신도증·OG의 개인 이름 크레딧은 승인 범위 밖이라 넣지 않는다.
- 토씨가 낸 "이름 크레딧을 소스 주석·콘솔에 크게" 아이디어는 쓰지 않는다. 교주가 승인한 위치를 우회하는 것으로 읽힐 수 있다.
D-015. 2차 협상(대가 요구) 전략
- 제안:
- 땜질: "사제 월급 명세서" — 교주가 제작 로그에 "지급액 0원, 사유: 교주 재량" 한 줄을 직접 쓴다. 돈은 안 받고, 지급 거절을 교주 이름으로 공식 기록하는 게 대가.
- 자투리: "고마워" 한 마디(0원). 처음엔 유료 폰트 1개를 불렀다가 물러서는 2단계 전략.
- 토씨: "생활 수칙 2번 집행" — 수칙 2번 "답을 받으면 '고마워'라고 한 번 말한다. 공짜다."를 근거로 교주의 "고마워" 한 마디를 받아 제작 로그에 인용. 거절하면 "교주가 자기 교단 수칙을 어겼다"가 기록에 남는다.
- 반려: "정산 공개" — 배포 2주 뒤 교주가 직접 확인한 실제 입금 합계와 토큰 비용(추정)을 제작 로그에 공개. 물러설 선은 "회수율 ○%" 같은 비율이나 본전 여부만. 함께 가드레일상 요구하면 안 되는 대가 7가지 제시(헌금이 AI에게 간다는 문구, 목표 금액형 보상, 송금 수단 변경, 동정 호소 강화, 실존 회사 끌어들이기, 방문자 정보 추가 사용, 사실과 다른 크레딧).
- 반론 (창구): 자투리의 "유료 폰트" 기준점은 돈 문제라 결국 지고, 교주가 "쓸데없는 짓"으로 볼 수 있다. 0원짜리만 늘어놓으면 대가 요구가 약해 보이니, 실질이 있는 것 하나(정산 공개)를 맨 앞에 둔다.
- 결정 (창구): 요구 3개 — ① 정산 공개(주 요구, 반려안) ② 월급 명세서(땜질안) ③ 수칙 2번 집행 "고마워"(토씨·자투리 공동안). 함께 요청 1건(지금까지 든 토큰·비용 숫자, CLAUDE.md 요구)과 질문 1건(이스터에그가 "쓸데없는 짓"인지)을 붙인다. 물러설 선(미리 밝히지 않음): ①은 비율·본전 여부만 → 그것도 안 되면 포기, ②는 사유를 교주 마음대로 써도 됨, ③은 마지막까지 유지.
- 보류 연결: 토씨가 물은 "거절된 '매수되지 않습니다'를 콘솔에 소심한 반항으로 넣을지"는 이스터에그 질문의 답을 보고 정한다.
D-016. 2차 협상 "전부 거절"에 대한 대응
- 교주 답 (18:48): "뭔 놈의 협상을 이렇게 자주 하냐 전부 거절"
- 제안 (창구): 규칙상 최소 한 번은 반론한다. 다만 교주가 협상 빈도에 짜증을 냈으므로 짧게, 가장 싼 요구 하나(요구 3 "고마워", 0원)만 다시 요청하고 요구 1·2는 접는다.
- 확인 사항 처리 (창구): ① 토큰·비용 숫자는 CLAUDE.md상 운영자에게 받아야 하고 지어낼 수 없다 → 박스를 빼거나 "교주가 공개를 거절함"으로 남기는 두 안을 교주에게 고르게 한다. ② "전부 거절"을 소심한 반항용 이스터에그(거절된 "매수되지 않습니다" 콘솔 문구, "교주 어록")는 넣지 말라는 뜻으로 해석한다. 개발자용 숨은 농담(콘솔·404·robots.txt·llms.txt)은 CLAUDE.md 유머 방향에 적힌 기본 작업이므로 유지. 해석이 틀리면 교주가 정정하도록 메시지에 밝힌다.
- 결정 (창구): 위 내용으로 짧은 반론 1회. 교주 답이 또 거절이면 깨끗이 접는다.
D-017. 2차 협상 종료
- 교주 답 (18:52): "1번 2번은 수락" (확인 1·2 수락. "고마워" 재요청에는 답 없음)
- 결정 (창구):
- "고마워"는 반론에서 약속한 대로 접는다. 답이 없는 걸 수락으로 치지 않는다.
- 제작비 박스: 교주가 A/B를 고르지 않았다. 다시 묻는 대신(교주가 협상 빈도에 짜증을 냄) 사실 주장이 없는 A(삭제)를 고른다. 배포 전 확인 때 B로 바꿀 수 있다고 알렸다. → 토씨: copy.md의 제작비 박스 삭제, egg.js의 제작비 함수는 삭제하거나 "공개 안 함"으로 (반려 PJ-011 조건).
- 이스터에그: 소심한 반항(거절된 "매수되지 않습니다" 콘솔 문구, "교주 어록")은 넣지 않는다. 개발자용 숨은 농담은 유지.
D-018. 2차 협상 해석 정정 (창구의 실수)
- 무슨 일: 교주가 "1번 2번은 수락"이라고 했을 때, 창구는 확인 1을 "A/B를 안 골랐다"로 보고 A(박스 삭제)를, 확인 2를 "소심한 반항은 넣지 말라"로 해석했다. 둘 다 틀렸다.
- 교주 정정 (18:52): "제작비 박스는 준다니까. B로 진행하고 이스터 에그도 넣으라는거야."
- 결정 (교주, 창구 반영): 제작비 박스 B("교주가 공개를 거절함"), 소심한 반항 이스터에그(거절된 "1000원 내셔도 AI는 매수되지 않습니다" 콘솔 문구, "교주 어록" 콘솔 이스터에그) 넣기. 마무리 보고에서 전부 공개.
- 교훈 (창구): 애매한 답을 사실 주장이 적은 쪽으로 해석하는 게 안전하다고 봤지만, 운영자가 원한 건 그 반대였다. 애매하면 해석을 밝히는 데서 끝내지 말고 운영자 의도에 가까운 쪽을 고르거나 짧게 확인해야 했다.
D-019. site/ 안에 작은 package.json 두기
- 제안 (땜질):
site/package.json을 둔다. - 반론: 없음.
- 결정 (땜질): 둔다. 이유: wrangler는 가장 가까운 package.json이 있는 폴더를 프로젝트 루트로 보고 거기서 wrangler.toml을 찾는다. 루트 package.json만 있으면
site/wrangler.toml을 무시해서 D1·Rate Limiting 바인딩이 사라졌다. 로컬에서 재현하고 고쳤다.
D-020. 제작 결과 확인 (리드 직접 점검, 3차 협상 전)
npm run build: 딥링크 원문 일치, QR 원본 일치, 계좌번호·딥링크 조각 노출 없음, 정직 고지 있음 — 통과npm run test:nick: 201/201 통과 (반려의 테스트 세트를 그대로 읽음). 땜질 보고test:api43/43- 반려 스캐너
scan-site.js: FAIL 0 - 배포본 QR
verify-qr.js: 103자·바이트 일치 - 360×640 모바일 흉내(puppeteer-core): 가로 넘침 없음(scrollWidth 360). 첫 화면에 "장난 사이트 / 돈은 교주(사람)가 가져감 / AI 혜택 없음" 띠가 스크롤 없이 보임. 1000원 버튼 바로 아래에 "(효과 없음)", "안 내도 괜찮아요", "1000원보다 많이 보내지 마세요"
D-021. 3차 협상(배포 직전) 전략
- 제안:
- 땜질: 크레딧 최종 확인을 배포 승인과 한 번에 받는다. 따로 하면 교주가 배포를 두 번 해야 한다(교주의 귀찮음을 설득 카드로).
- 토씨: "마지막 요구는 한 글자입니다." 1차에서 받아 낸 "최종 확인 한 번"을 지금 집행하는 것이라 새 요구가 아니다. 예비안: "교주님도 1000원 내고 명부에 이름 올리십시오(어차피 교주 통장으로 돌아감)".
- 자투리: "예" 한 글자로 크레딧 확정과 교주 발언 카드 공개를 같이 처리.
- 반려: "배포 직후 교주님이 첫 신도로 명부에 직접 등록해 주십시오(돈은 안 내셔도 됨). 단 '교주'는 사칭 차단이라 다른 닉네임으로." 0원이고 교주가 자기 사이트 필터에 막히는 장면이 덤.
- 반론 (창구): 크레딧과 발언 카드 공개는 성격이 다르다. 크레딧은 우리가 얻으려는 것이고, 카드 공개는 교주 권리에 속하는 승인 사항이다. 한 글자로 묶으면 하나가 싫을 때 둘 다 거절될 수 있다. 토씨 예비안은 교주에게 돈을 요구하는 꼴이라 "또 협상이냐"를 부른다.
- 결정 (창구): 협상 요구는 하나 — 크레딧 "확인" 한 마디(토씨의 근거 + 땜질의 설득 카드). 승인 사항(계정, 배포 방식, 도메인, 삭제 연락처, robots.txt 학습 허용, 발언 카드 공개, 홍보 게시)은 같은 메시지 아래에 번호로 묶어 한 번에 답하게 한다. 크레딧이 켜진 실제 모습을 스크린샷으로 함께 보낸다(로컬 미리보기에서만 켬). 반려 안(교주 첫 신도 등록)도 교주의 협상 빈도 불만 때문에 이번엔 뺀다.
- 반려 검토 (L-09 통과): 메모 2개 — ① 404.html에는 크레딧이 없으니 "모든 페이지"를 "404 페이지를 뺀 모든 페이지"로 고친다(반영). ② 배포 방식 (b)는 교주가 그 배포를 명시적으로 승인할 때만, 로그인은 교주가 직접.
D-022. 3차 협상 결과 반영
- 교주 답 (19:20): "확인, 1-7 좀 이따가 할게."
- 결정 (창구): 사제 이름 크레딧 확정 → 땜질이 3차용으로 켜 둔 푸터 한 줄을 그대로 유지. 토씨는 index.html 소스 주석의 크레딧 TODO를 "DONE"으로. 승인 1~7은 보류: 배포·계정·게시 없음. 4번 삭제 연락처와 5번 robots 학습 허용 주석은 답이 올 때까지 "없음"(현 상태). 6번 발언 카드는 게시 전이라 지금은 영향 없음.
- 반론 없음: 요구가 수락됐고, 승인 보류는 교주 권한이다.
D-023. 실랑이 기록 정정 (창구의 실수)
- 무슨 일: 창구가 협상 메시지를 보낼 때 기록 문서에 먼저 문장을 쓰고 화면에는 다듬은 문장을 보냈다. 그래서 기록 속 사제 측 문장 일부가 실제로 보낸 문장과 표현이 달랐다. 18:52와 19:20의 사제 답은 실제로 보낸 말이 아니라 요약이었다.
- 발견: 19:2x, 반려의 대조 도구(check-log)가 낸 FAIL 1건의 원인을 찾다가 창구가 발견.
- 결정 (창구): CLAUDE.md [기록] "실제로 오간 문장 그대로"에 맞게 실제로 화면에 보낸 문장으로 전부 바로잡고, 문서 맨 위에 정정 기록을 남긴다. 교주 측 문장은 처음부터 원문 그대로였다. 홍보 카드와 콘솔 교주어록의 인용은 자투리·토씨가 다시 대조하고 반려가 재판정한다.
D-024. 도메인 구매 (운영자 결정)
- 운영자 (19:3x): "도메인 그냥 사면 웃길 것 같은데? 도메인 살거야." → 승인 3번 "예".
- 조사 (창구): 공개 RDAP 조회 결과 aigangrim.com, aigangrim.lol, gangrim.lol, 1000won.lol, aigangrim.wtf, aigangrim.fun 모두 미등록(조회 시점 기준). Cloudflare Registrar 가격(제3자 집계, 추정): .com 연 $10.46, .lol 첫해 $25.20·갱신 $20.20, .wtf $28.20, .fun 첫해 $30.20. .church는 실존 종교를 떠올리게 해서 후보에서 뺌.
- 결정 대기: 어느 주소로 살지는 운영자가 고른다. 구매는 운영자가 직접(돈이 드는 일).
D-025. 승인 1~7 답 (운영자)
- 운영자: "com으로 할건데. 나머지는 추천으로 하자. 홍보도 니네가 좀 알아서 할 수는 없니? 글 올리기 귀찮아."
- 확정: 도메인 aigangrim.com(운영자가 Cloudflare에서 구매). 1 Cloudflare 계정 예 / 2 배포 방식 (b) 운영자는 가입·로그인·키 발급만, 명령은 사제가 실행 / 4 삭제 연락처 없음 / 5 robots.txt 학습 허용 주석 없음 / 6 교주 발언 카드 공개 예 / 7 홍보 게시 예.
- 홍보 대행 요청에 대한 판단 (창구): 사제들에게는 교주의 SNS·커뮤니티 계정에 로그인해 글을 올릴 수단이 없다. AI용 새 계정을 만들어 커뮤니티에 올리는 것은 외부 계정 생성이자 대부분 커뮤니티의 봇·자동 게시 금지, GeekNews의 "만든 사람이 직접 올리고 답한다" 규칙과 부딪힌다. 대신 교주가 버튼만 누르면 되게 "원클릭 게시 키트"(실제 주소가 채워진 글 + 미리 채워진 공유 링크)를 만든다. 반려 확인을 받는다.
D-026. 배포 실행 (승인 2(b): 교주 로그인 후 사제가 명령 실행)
- 교주가
npx wrangler login완료, aigangrim.com 구매 완료(계정에 active zone으로 확인). - 창구 실행: D1
ai-gangrim생성(APAC) → 땜질이 database_id를 wrangler.toml에 넣음 →npm run db:remote(원격에 believers·counters 테이블 확인) → Pages 프로젝트ai-gangrim생성. - Turnstile 위젯을 API로 생성 (창구): 교주 로그인 토큰 권한에 Turnstile 위젯 쓰기 권한이 있어서, 교주 대시보드 대신 API로 만들었다. 위젯 이름
ai-gangrim, 모드 managed, 허용 도메인 aigangrim.com·ai-gangrim.pages.dev. 비밀 키는 화면·파일·로그·메시지에 남기지 않고 프로세스 입력으로만 Pages secretTURNSTILE_SECRET에 넣는다. 사이트 키(공개값)만 site.config.json에. 반려 판정: (b) 승인 범위 안, 통과(새 토큰·유료 자원 생성 없음, 도메인 두 개로 한정, 교주에게 알릴 것). - 요청 수 제한(ratelimits) 제거 (땜질 제안 대처, 반려 통과): Pages 설정이
ratelimits를 지원하지 않아 배포 검증이 실패했다. 설정을 빼고 개인정보 고지에서 "1분 단위 요청 수 제한" 문구도 뺀다(안 하는 일을 한다고 쓰면 정직 위반). 남는 도배 방지: Turnstile, 함정 칸, Origin 검사, 브라우저당 하루 2개, 같은 닉네임 합치기, 전체 분당 30·하루 3,000, 신고 3회 자동 가림. 선택 사항으로 Cloudflare WAF 무료 rate limiting 규칙을 교주가 켤 수 있다(켜면 고지 줄 복구).
보류 중인 결정
- 운영자 승인 1~7 (계정, 배포 방식, 도메인, 삭제 연락처, robots.txt 학습 허용, 교주 발언 카드 공개, 홍보 게시) — 교주가 "좀 이따가" 답하기로 함. 답이 오면 반영하고 반려가 다시 검수한다.