"Waystone 가 ship 하는 최고의 코드는 안 쓴 코드야. 형제가 이미 그걸 잘 소유하니까."
생태계가 라이브러리야
Waystone 는 모든 능력 결정을 의도적 자세에서 시작해: CWK 생태계 전체가 자기 컴포넌트·패턴 라이브러리다. 새 걸 쓰기 전에, 형제가 이미 이걸 잘 소유하는지 물어. Pippa 가 판단을 소유해. Rekindle 이 산문 편집을 소유해. Recall 이 미디어 발견을 소유해. Lantern 이 검색을 소유해. 공개 사이트가 publishing 을 소유해. 'Waystone 는 X 를 어떻게 해야 하나?' 의 기본 답은 종종 '안 해야 해 — 이미 X 를 하는 형제를 재사용하고, 자기 노력은 여행-특화 부분에만 써야 해.'
Adopt, Extract, Adapt, Invent
reuse ledger 는 명시적 선호 순서고, 순서가 중요해:
- Adopt — 소유권과 semantics 가 이미 맞으면 존재하는 canonical API 나 컴포넌트. 가장 싸고, 최고.
- Extract — 두 형제가 같은 걸 필요로 하고 소스 소유자가 명시적으로 남을 수 있으면 진짜 공유 primitive. 일 더 많고, 여전히 공유.
- Adapt — 도메인 semantics 가 다르면 검증된 interaction 이나 storage 패턴. 코드가 아니라 형태를 재사용.
- Invent — 남은 여행-특화 틈만. 여기가 Waystone 의 실제 노력이 가야 할 곳.
그 목록을 내려가며 맞는 첫 단에서 멈춰. Invent 는 첫 본능이 아니라 최후 수단이고 — 거기 도달할 때쯤 발명하는 걸 여행에 대해 진짜 새로운 것만으로 좁혔어.
재사용은 틀린 테이블로 데이터 라우팅이 아냐
이름 붙일 가치 있는 재사용의 가짜 버전이 있어: 테이블이 이미 있으니까 Waystone 도메인 record 를 형제의 기존 저장소에 쑤셔넣기. 그건 재사용이 아냐 — 소유권 혼동이야. 진짜 재사용은 이미 배운 계약(API, 패턴, ID)을 이어가되 canonical 소유자를 canonical 로 지켜. 사이트 date-slot 문법 재사용이 여행 데이터를 공개 사이트 DB 에 저장한다는 뜻이 아니고; 스트림의 interaction 문법 재사용이 breadcrumb 을 스트림 테이블로 라우팅한다는 뜻이 아냐. 형태와 인터페이스를 재사용해; 네 것인 데이터의 집을 절대 빌리지 마.