"itinerary 앱이 아냐. 여행이 끝난 뒤에도 그 여행을 기억하는 물건이야."
한 문장 버전
Waystone 는 구조화된 여행 state 를 소유하는 엔진이야 — journey, plan, day, place, route, 추천, 결정, 그리고 실제로 무슨 일이 있었는지의 살아있는 기록 — 그런데 그걸 전부 해석하는 뇌는 완전히 다른 데 있어. 이 분리를 소리 내서 말해봐. 이게 설계 전부니까. Waystone 는 여행 사실을 소유하고, cwkPippa 는 판단을 소유해. 이 퀘스트의 나머지 전부가 그 하나의 경계를 진지하게 받아들인 결과야.
Waystone 가 일부러 아닌 것들을 봐. 두 번째 Pippa 가 아냐 — 자기 soul 도, memory vault 도, model router 도 없어. rich-text 에디터가 아냐 — 긴 글은 Rekindle 로 왕복해. 미디어 아카이브가 아냐 — 바이너리는 그걸 소유한 시스템에 남아. 지도 앱이 아냐 — 지도는 canonical state 를 그릴 뿐 자기 데이터는 안 가져. 형제가 이미 소유한 걸 전부 벗겨내면, 남는 게 실제 제품이야: 정직하게 지켜진 여행 도메인.
세 정의 문장
Waystone 아키텍처 문서는 세 문장으로 열려. 그리고 이 퀘스트 전체가 그걸 얻어내려고 지어졌어:
문장 하나가 트랙 하나가 돼. 대화가 곧 계획은 Track 2 — 폼을 채우는 게 아니라 Pippa 랑 말해서 계획해. 구조화된 state 가 durable memory는 Track 4·5 — plan, revision, 실제 여정이 따로 보존되고, 네트워크가 존재하기도 전에 현장에서 캡처돼. 지리는 projection은 Track 3 — globe, journey map, place lens 가 전부 하나의 canonical state 의 view 이지 독립 marker DB 가 아냐.
왜 앱이 아니라 엔진인가
Waystone 를 앱 대신 엔진이라 부르는 건 허세가 아냐. 앱은 화면으로 정의되고, 엔진은 뭘 소유하느냐로 정의돼. 화면은 교체 가능해 — 모바일 캡처 표면, 데스크톱 plan 에디터, 지도가 전부 같은 여행 state 의 클라이언트야. Waystone 를 지금 UI 로 정의하면 화면 바뀔 때마다 정의를 다시 그려야 해. 소유로 정의하면 — 여정, 날, 결정, lineage — 모든 리디자인을 견디는 경계가 생겨. Ember 를 이미지 엔진으로, Bonfire 를 음악 엔진으로 만든 것과 같은 렌즈야: model 이 제품이고, view 는 output 이야.