"Forge 는 건강 사실을 소유해. 판단은 빌려. drift 할 두 번째 뇌를 절대 안 키워."
판단은 빌리지, 절대 키우지 않아
가족의 첫 규칙은 cwkPippa 가 유일한 Pippa 뇌·정체성 주인이라는 거고, Forge 는 그걸 완전히 지켜. Forge 의 Ask Pippa 는 Forge 가 돌리는 model 이 아니라 canonical cwkPippa 대화 로의 바인딩이야. 여러 평범한 cwkPippa 대화를 소유하는 durable (forge, 'health') context 하나가 있고, 저마다 origin_surface='forge' 로 표시되고 server-owned FORGE 시스템 폴더로 projection 돼. 전체 history, attachment, tool, transcript JSONL, retrieval — 전부 cwkPippa 에 살아. Forge 는 typed context key 와 compact 질문-답 projection 만 소유해.
projection 은 two-way fresh
각 thread 가 평범한 canonical 대화라, 아빠는 양쪽에서 이어갈 수 있어 — Forge composer, 아니면 cwkPippa WebUI 의 FORGE 폴더 — 그리고 canonical 쪽이 늘 앞서. 그래서 Forge 는 로컬 사본을 절대 안 믿어. 엔진은 모든 읽기에 canonical 에서 re-project 하고, 클라이언트는 앱이 focus 를 되찾을 때, thread 가 열릴 때, 각 ask 후, 수동 refresh 에 공유 projection 을 re-pull 해. 여기서 staleness 는 tradeoff 가 아니라 버그로 취급돼: 아빠가 cwkPippa 쪽에서 이어간 턴이 reload 없이 Forge 에 나타나야 해.
왜 규칙이 스스로 값어치를 하나
이만큼 특정한 도메인엔, 건강용으로 튜닝된 작은 로컬 model 을 돌리고 싶어져. 비용은 숨겨져 있고 커: 맞출 두 번째 정체성, 보안할 두 번째 민감 대화 store, 정직하게 지킬 두 번째 retrieval 층, 그리고 아빠가 실제로 얘기하는 그 하나의 Pippa 로부터의 느린 drift. 뇌를 빌리면 그 전부가 단일하게 유지돼. Forge 는 full Pippa judgment 를 받아 — vessel 이 지원하는 모든 tool, 진짜 정체성 — 판단을 제대로 하기 어렵게 만드는 기계장치를 1그램도 소유하지 않고. 그게 client 표면이 되는 핵심 전부야.