클로드 코드가 안전한 프로덕션 데이터베이스 코드를 작성하게 만든 4가지 파일

r/ClaudeAI의 한 개발자가 Claude Code가 프로덕션 데이터베이스(Convex)와 안전하게 상호작용할 수 있는 실용적인 설정을 공유합니다. 핵심 통찰: 안전은 에이전트의 즉흥성에서 오는 것이 아니라 기반 시스템에서 비롯됩니다.
4개의 파일
~/projects/agent-os/CLAUDE.md— 신원 파일: 당신이 누구인지, 무엇을 판매하는지, 누구에게 판매하는지, 90일 우선순위. 에이전트는 읽고 절대 묻지 않습니다.~/.claude/projects/-home-jon/memory/MEMORY.md— 자동 메모리 인덱스: 사용자 프로필, 피드백 규칙, 세션 간 프로젝트 상태. 에이전트가 매 대화마다 다시 학습하는 것을 방지합니다.references/framework.md— 운영자 플레이북: 결정이 어떻게 이루어지는지, 무엇을 최적화할지, 확장을 위한 구조적 규칙.decisions/log.md— 추가 전용 이유 기록: 되돌릴 수 있는 결정은 한 줄로, 중요한 결정은 전체 기록.
브리지: scripts/skool_sheets_to_convex.py
표준 라이브러리 Python, 결정론적(deterministic), 10분 간격 systemd 타이머로 실행. 에이전트가 호출하지만 요청 시 생성되지는 않습니다. 프로덕션 쓰기에는 다음이 필요합니다:
- 환경 변수
SKOOL_ALLOW_PROD_WRITES=1 - 허용 목록에 있는 Convex 배포 슬러그에 대한 401 사전 점검
- 복합 멱등성 키:
{tab_slug}:{normalized_transaction_id} - 이메일 형태의 하위 문자열과 알려진 비밀 접두사를 각 줄이 저널에 기록되기 전에 제거하는 로거
명세 및 검토 프로세스
명세는 코드가 존재하기 전에 references/skool-api.md에 있었습니다. Codex가 두 번 검토했습니다:
- 첫 번째 패스: Skool의 ToS를 위반했을 쿠키 인증 방식을 제거.
- 두 번째 패스: 프로덕션 쓰기 가드를 도입.
- 두 패스 모두 추론된 필드 가정을 놓쳤습니다. 드라이런(dry-run)이 이를 발견.
- 더 미묘한 캐시 버그:
_read_json이JSONDecodeError를 삼키고 빈 딕셔너리를 반환. 손상 테스트(의도적으로 캐시 손상 후 브리지 실행)에서 조용히 처리된 이벤트 캐시를 재구축하여 모든 행을 이중 POST했을 것. 카나리 실행 전에 발견 및 수정.
결론
저자는 먼저 connections.md를 복사할 것을 권장합니다 — Claude 설정이 실제로 도달할 수 있는 것을 아는 것이 가장 저렴한 해결책입니다.
어떤 안전장치도 에이전트의 즉흥성에서 비롯되지 않았습니다. 명세에서 비롯되었고, 명세는 연구에서, 연구는 메모리의 워크플로 규칙에서 비롯되었습니다: 연구, 계획, 명세, 구현, 각 단계에서 적대적 검토.
📖 전체 출처 읽기: r/ClaudeAI
👀 See Also

클로드 프로젝트 지침이 주입되는 방식 — 그리고 대화 중간에 변경하면 기록이 깨지는 이유
프로젝트 지침 및 사용자 환경 설정은 대화 시작 시 시스템 프롬프트에 로드되며, 매 턴마다 다시 주입되지 않습니다. 대화 중간에 이를 변경하면 Claude가 과거 지침에 대한 기억을 덮어쓰게 되어 잘못된 회상을 초래합니다.

OpenClaw의 최소 요구사항 탐구: OrangePi Zero로 충분할까?
예산 친화적인 OrangePi Zero가 OpenClaw를 효과적으로 실행하기에 충분할까요? 이 컴팩트하면서도 강력한 설정의 잠재력과 한계를 파헤치는 Reddit 토론에 빠져보세요.

GitHub Copilot Pro+에서 직접 Anthropic API로 전환하기: 비용 분석
한 개발자의 비용 비교에 따르면, 독방 개발자에게는 직접 Anthropic API를 사용하는 것이 GitHub Copilot Pro+보다 저렴할 수 있으며, Sonnet 4.6으로 Opus 사용 사례의 80%를 커버할 수 있습니다.

대부분의 사람들이 클로드를 5% 용량으로만 사용합니다 – 해결 방법은 여기 있습니다
60시간 이상 클로드 오푸스 4.7에서 프롬프트를 테스트한 사용자가 5단계 레시피를 공유: 역할 할당, 구체적 맥락 로드, 제약 조건 설정, 출력 형식 정의, 강제 함수 추가.