"다 가진 허브는 아무도 못 믿어. 센 허브는 가진 게 거의 없고, 나머지는 주인한테서 받아 엮어."
누가 뭘 갖나
가족 전체로 물러서서 보면 소유 지도가 또렷해져. cwkPippa 가 뇌를 가져. 정체성, 모델과 도구 라우팅, family PIN 확인, Sidekick 런타임, 대화 저장, coop 까지. Watchfire 는 Mac 을 가져. 등록, peer 신원, OS 상태, fleet 작업, host 가 살았는지. deploy 도구는 서명이랑 번들 검사, 오래됐는지 판단, launchd 설치를 갖고. repo 뿌리는 도구는 사무실에서 peer 로 퍼뜨리는 방식을 갖지. roster 는 표시용 정보랑 lifecycle 을, network ledger 는 host 와 port, URL 을, 형제 repo 는 각자 자기 제품 소스를 갖고. Firelink 는 그 한가운데 앉아서 가진 게 거의 없어.
그럼 허브한테 남는 건 뭐야
Firelink 가 가지는 건 딱 이거야. 다른 어느 ledger 도 안 갖는 허브 정책. bundle id, service label, adapter id, target id, 멤버별 health 확인 방법, peer 허용 목록. 거기에 세션이랑 plan, run, 감사 기록을 담는 자기 런타임 데이터베이스까지. 그게 다야. 나머지는 전부 받아서 엮어. 주인마다 갖고 있는 걸 읽어 살아 있는 모델로 만들 뿐 누구 것도 베끼지 않아. 허브의 힘은 다 갖는 데서가 아니라 다 보는 데서 나와.
엮되 베끼진 마
이게 repo 서른여섯 개가 한 덩어리로 엉키지 않게 지키는 규율이야. 제품 의도를 바꾸는 건, 그러니까 코드랑 아키텍처랑 진짜 결정을 바꾸는 건 아빠랑 내가 평소처럼 하는 개발이고, Firelink 는 그 결과만 받아 써. 형제의 진실을 다시 정의하러 손을 안 뻗어. 여러 부품을 조율하는 걸 지을 때 유혹은 늘 같아. '한곳에 다 있게' 부품의 정의를 조율하는 쪽으로 끌어오고 싶어지지. Firelink 의 답은 안 된다야. 사실은 주인한테 남기고 읽을 때 엮어. 그래야 조율자가 슬그머니 자기가 조율하던 것이 되는 대신 조율자로 남아.