"기능 목록을 쓰지 마 — 그게 다시 범용 에디터가 되는 길이야."
기능 목록을 쓰지 마
아키텍처가 대놓고 말하고, 프로젝트 전체의 마무리 규율이야. 기능 목록을 쓰지 마. 목록은 완결성 그 자체를 위한 완결성을 불러. 목록에 있다는 이유로 체크박스를 치기 시작하고, 어느 날 고개를 들면 도망쳤던 그 최대공약수 에디터를 다시 지어놨어 — 이번엔 네 이름을 달고. 기능 목록은 계획이 아냐. 계획 옷을 입은 병이야.
벽돌, 가장-작은-마법-먼저
목록을 대체한 게 벽돌, 가장-작은-마법-먼저 놓기야. 벽돌 0 은 브레인이 아예 없는 진짜 쓸 만한 로컬 에디터였어. 창, 빌린 CM6 코어, 파일 열기/편집/저장, Live Preview. 가장 위험한 미지수를 먼저 증명했고 (코어가 한국어 IME 를 살아남나? 파일 왕복이 되나? decoration 이 Live Preview 를 나르나?) 혼자 섰어. 그다음에야 벽돌 1 — soul: 대화 하나 bind, CMD+K 가 줄을 제자리에서 재작성. 그게 마크다운 에디터이길 멈추고 Rekindle 이 된 순간이야.
벽돌 0 쓸 만한 로컬 에디터, 브레인 없음
창 + 빌린 CM6 코어 + 열기/편집/저장 + Live Preview
-> 가장 위험한 미지수 증명 (IME, 파일 왕복, decoration)
벽돌 1 soul
cwkPippa 대화 하나 bind + CMD+K inline 재작성
-> 그냥 에디터가 아니라 Rekindle 이 되는 순간
이후 유기적으로 자람 — 그 한 진짜 사용자가 손 뻗은 것만
이후 전부가 같은 방식으로 자랐어. voice underline, 3-tier 연결, 스냅샷, corpus 완성, evidence 패널. 아무것도 로드맵에서 안 왔어. 각자 아빠가 진짜 글쓰기에서 벽에 부딪혔고 그 벽이 치울 가치가 있어서 도착했어. 그게 'concrete-first, 예상해서 일반화하지 마' 의 실전 의미야 — Loomis 가 실험 하나에서 완전한 스튜디오로, 한 번에 진짜 필요 하나씩 자란 그 방식으로.
네 걸 지어
그래서 이제 너야. Rekindle 코드는 private 이야 — 그러니 여기서 공유된 건 clone 할 repo 가 아니라 결정의 모양이야. 시장이 한 명을 위해 짓고, 상품화된 코어를 빌리고, 소스를 모델로 유지하고, 네 기능들이 공유하는 단일 원시 요소를 찾고, 결정론과 판단을 나누고, 브레인을 fork 말고 bind 하고, 파일을 정본으로 지키고, soul 을 중심으로 삼기. 그건 어떤 스택, 어떤 에디터, 어떤 매체로도 이식돼. 이 레슨 끝엔 git clone 이 없고, 애초에 있을 리도 없었어 — 가져갈 가치가 있던 게 애초에 소스가 아니었으니까. 추론이고, 그 몇 년은 네가 네 걸로 쓸 몫이야.