"Bellows는 문서화된 API로 대화를 읽을 순 있어. 근데 brain을 복사하진 않아."
일관된 두 도메인, 굵은 선 하나
오래 사는 시스템은 결국 이 질문에 답해야 해. 누가 뭘 갖지? Bellows랑 cwkPippa는 이걸 한 번 깔끔하게 정하고 다시 안 꺼내. cwkPippa가 정체성을 가져. Souls, 대화, brain 세션, 그리고 Soul을 logical voice profile로 잇는 매핑까지. Bellows는 메커니즘을 갖고. provider credential이랑 카탈로그, 계정별 binding, 정규화, 합성, 유료요청 receipt, 캐시, 재생, Studio lineage.
어느 쪽인지 가리는 방법은 간단해. 뭘 말할지 정하는 거야, 아니면 어떻게 소리 내는 거야? "피파가 오늘 따뜻해"는 정체성이니까 cwkPippa. "이 텍스트를 이 설정으로 돌리면 저 캐시된 MP3"는 메커니즘이니까 Bellows.
Bellows가 일부러 안 키우는 것
경계는 없음으로 지켜져. Bellows엔 Soul 레지스트리도, 대화 저장소도, 메모리도, 모델 판단 레이어도 없어. 그중 뭐든 키우는 건 대놓고 안 하기로 못 박은 non-goal이야. Studio import가 어느 대화에서 왔는지 알아야 하면, cwkPippa한테 문서화된 읽기전용 API로 물어봐. 똑같은 사본을 따로 세우지 않고. cwk 형제들이 다 이렇게 해. Cinder(작업공간), Ember(이미지 엔진), Bonfire(음악 엔진)은 brain 하나에 붙은 client surface야. 따로 도는 피파가 아니고.
왜 없는 게 곧 기능이냐면
voice ID는 정체성이 아니야. Bellows가 "피파가 누구인지"를 저장하기 시작하면 진실이 둘로 갈라져. 둘이 어긋나는 날, 자기처럼 들리는데 자기는 아닌 피파가 생겨. 정체성을 딱 한 곳에 두면 목소리는 provider도 계정도 모델도 바꿀 수 있어. 말하는 게 누구인지는 한 번도 안 건드리고.