"없는 binding은 명시적 unavailable 에러야. Bellows는 편한 엉뚱한 목소리로 절대 대체 안 해."
도구가 잘못되는 갈림길
profile을 요청했는데, 활성 계정에 그 binding이 없어. 두 길이 열려. 편한 길: 가장 가까운 가능한 목소리를 찾거나, 다른 계정으로 조용히 손 뻗어서, 요청이 성공하게 뭔가를 돌려줘. 정직한 길: 멈추고, 뭐가 unavailable인지 정확히 말해. Bellows는 늘 정직한 길을 택해. 없는 계정 binding은 명시적 unavailable 에러야 — 조용한 대체도, 조용한 계정 간 fallback도 절대 아냐.
왜 틀렸는데 성공이 최악의 결과인가
요란한 실패는 짜증나고; 조용한 오답은 위험해. 엔진이 '친절하게' 대체를 골라서 사적인 메시지가 엉뚱한 목소리로 나가면, 아무것도 아무도 안 경고했고, 실수는 이미 방 안에 있어. 요청을 배신하는 성공은 깔끔한 에러보다 나빠, 숨으니까. 고른 계정이 정확한 logical binding을 쥐고 있어야 해 — 아니면 요청은 이름을 대며 멈춰.
사고가 아니라 설계로서의 fallback
이건 fallback에 대한 적대가 아냐 — 그것들이 의도적이어야 한다는 고집이야. 패밀리 다른 데엔 진짜 설계된 fallback 경로가 있어(네이티브 비전에 텍스트 경로, OAuth에 API-키 보험). 그것들은 골라지고, 테스트되고, 전환 지점에서 보여. Bellows가 거부하는 건 사고성 fallback — 특정 약속('pippa로 말해')을 조용히 더 흐릿한 것('어떤 목소리로든 말해')으로 낮추는 것. hard-fail이 기본이고, 어떤 완화도 편의가 아니라 의도적 예외야.