"문법을 빌려. 절대 DB 를 빌리지 마. 통합은 흡수가 아냐."
모든 재사용 아래의 규칙
이 트랙의 모든 재사용이 한 문장에 놓여 있어: 통합은 소유권을 절대 안 넘긴다. Waystone 는 Pippa·Rekindle·Recall·Lantern 과 깊이 통합해 — 그 통합 전부 후에도, 그 형제들 각자는 여전히 전에 소유하던 걸 정확히 소유해. 재사용은 이미 배운 계약을 이어가되 canonical 소유자가 canonical 로 남아. 실패 모드엔 이름이 있어: 흡수. 'X 랑 통합했다' 가 조용히 '이제 X 의 데이터를 우리가 갖는다' 나 'X 코드를 복사했고 이제 우리 거다' 가 되는 것.
가장 깔끔한 예: 저장 없는 문법
Waystone 의 breadcrumb 스트림은 가족의 기존 소셜형 스트림에서 영감받았어. interaction 문법을 재사용해 — compact composer, 스캔 가능한 타임라인의 짧은 포스트, 후속 조각용 reply, thread, 미디어 preview, draft 보존. 근데 자기 여행 semantics 를 부여해: 포스트는 Breadcrumb, reply 는 같은 발전 중인 순간의 또 다른 조각, thread 는 후보 event 클러스터(소셜 대화가 아니라), pin 은 Important Moment. 그리고 결정적 나머지 절반이 여기 있어: 스트림의 emotion·visibility·moderation·likes·공개 authorship·저장을 하나도 상속 안 해. Waystone 는 형태를 재사용하고 자기 데이터는 집에 둬. 기능 하나에 담긴 구별 전부야.
Extract 는 허용; Clone 은 안 돼
정당한 중간 길이 있어: 두 형제가 진짜 같은 UI primitive 를 필요로 하면, 명시적 소유자를 가진 진짜 generic 공유 조각으로 refactor 해. 그게 ledger 의 Extract 고, 건강해. 금지된 건 게으른 버전 — 구현을 네 repo 에 복사하고 로컬 편집. 그건 소유자 없는 fork 를 만들고, 어느 쪽이든 개선되는 날 drift 해. 제대로 하는 비용은 그 능력을 소유한 형제가 아니라 필요로 하는 형제가 흡수해. 재사용이 재사용인 건 그 후에도 그것의 canonical 구현이 정확히 하나 남아 있을 때뿐이야.