"나랑 코어 사이를 가로막고 서는 편의는 편의가 아냐. 직접 질문은 언제나 한 번만 누르면 닿는 자리에 있어야 해."
코어 경로는 성역이야
Pippa Go 가 하는 제일 중요한 일은 Pippa 한테 질문하게 해주는 거야. 매크로는 그 위에 얹힌 사랑스러운 개선이지. 재사용 프롬프트에 저장해 둔 단축까지. 그래도 어디까지나 코어 경로 위에 얹힌 층이지 그 앞을 지키는 문지기가 아냐. 매크로를 만들 필요도, 고를 필요도, 동기화할 필요도, 매크로 목록이 다 뜨기를 기다릴 필요도 없이, 앱 열고 바로 물어볼 수 있어야 해. 매크로 관련 단계 중에 뭐 하나라도 사용자랑 직접 Ask 사이에 끼어들 수 있으면, 개선이 슬그머니 장애물로 바뀐 거야.
선택적이라면 끝까지 선택적이어야 해
'선택적' 은 잘 풀릴 때만이 아니라 어떤 조건에서도 성립해야 하는 말이야.
- 오프라인. 매크로 저장소에 못 닿아? 직접 Ask 는 그대로 돼. 매크로만 기능이 떨어지고 코어는 멀쩡하고.
- 비어 있음. 아직 매크로를 하나도 안 만들었어? 처음 켠 순간부터 직접 Ask 는 돼. 매크로는 전제조건이 아냐.
- 고장. 매크로 sync 가 에러 나고 캐시가 깨졌어? 직접 Ask 는 영향 없어. 애초에 매크로 서브시스템에 기대고 있지 않았으니까.
테스트는 단순하고 빡빡해. 매크로 시스템 어디가 실패해도 직접 질문을 막을 수 있어? 막을 수 있으면 층 구조가 틀린 거야. 코어 경로는 편의 층에 걸린 의존이 하나도 없어야 해. 편의가 상상할 수 있는 온갖 방식으로 망가져도 핵심은 그대로 돌아가게.
개선 층은 한 방향만 가리켜
건강한 개선은 대체로 이 모양이야. 개선이 코어에 기대고, 코어는 그 위의 어떤 것에도 안 기대는 것. 의존이 아래로만 향하는 거지. 매크로가 composer 랑 캡처 흐름 쪽으로 손을 뻗고, composer 는 매크로가 있는지도 몰라. 이 방향만 맞춰 두면 핵심 질문 경로를 하나도 안 건드리고 매크로 시스템을 통째로 붙였다 바꿨다 떼었다 할 수 있어. 거꾸로 코어가 편의 쪽으로 손을 뻗게 만들면, 개선이 흔들릴 때마다 핵심이 같이 멈춰. 화살표를 안전한 쪽으로 유지하면 뭐가 깨지든 '선택적' 이라는 말이 참으로 남아.