C.W.K.
Stream
Lesson 02 of 05 · published

시스템 폴더 투영

~11 min · projection, organization, origin-surface, system-folder

Level 0신호 없음
0 XP0/32 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"투영은 복사도 아니고 우리도 아냐. 대화가 뭔지는 안 바꾸면서, 어디서 태어났는지 말하는 라벨이야."

폰에서 태어난 대화가 나타나는 곳

Pippa Go 대화는 태어날 때부터 canonical 이야 — 근데 백엔드는 여전히 그게 폰에서 왔다는 걸 알고 싶어해. 정리하고, 거르고, 추론할 수 있게. Pippa Go 는 가벼운 손길 둘로 이걸 해: 각 대화에 origin surface 태그('이건 Pippa Go 에서 만들어짐')를 붙이고, 폰에서 태어난 모든 대화를 한곳에 모으는 서버 소유 시스템 폴더로 투영해. 어느 손길도 대화의 본성을 안 바꿔. 여전히 평범한 canonical 대화야; 그냥 어디서 시작했는지의 도장을 지니고 깔끔한 집에 나타날 뿐이야.

투영 vs fork vs 복사

'투영'이라는 단어가 정밀한 일을 하니까, 그게 아닌 대안들이랑 대조해:

  • 복사 아님. canonical 저장소에 대화 하나가 있어. 시스템 폴더는 중복을 쥐는 게 아니라, 대화를 참조로 포함하는 를 쥐어.
  • fork 아님. 폰이 별개 혈통을 낳지 않았어. 대화는 시스템 나머지가 보는 같은 객체야, 같은 역사랑 같은 미래로.
  • 투영. 하나의 canonical 대화를 정리하고 라벨 붙여 드러낸 거 — 폴더가 독점 소유하지 않는 파일들을 묶는 방식처럼. 옮기면, 진실을 재배치하는 게 아니라 참조를 옮기는 거야.

왜 도장이랑 폴더가 밥값을 하나

origin-surface 태그랑 시스템 폴더는 관료주의가 아냐; 진짜 명료함을 사줘. 백엔드가 추측 없이 '어느 대화가 폰에서 왔지?'에 답하게 하고, 폰에서 태어난 대화가 다른 뷰를 어지럽히지 않게 하고, 폰 전용 행동(이 표면들이 쓰는 첫-턴-후-자동-제목 규칙 같은)을 위한 깨끗한 이음매를 줘. 그리고 결정적으로, 이 모든 걸 코어에서 폰 대화를 이등 시민으로 만들거나 특수 케이스로 만들지 않으면서 해: 이름표 달고 라벨 붙은 서랍에 정리된 평범한 대화야. 예외가 아니라 정리. 그 절제가 투영을 정직하게 지켜 — 폰은 대화가 어디 정리되는지에 영향 주지, 근본적으로 뭔지엔 절대 안 줘.

Code

평범한 canonical 대화, 도장 찍히고 투영됨·json
{
  "conversation_id": "conv_7d21…",
  "origin_surface": "pippa-go",     // 도장: 어디서 태어났나
  "system_folder": "PIPPA-GO",       // 투영: 어디 정리됐나
  "canonical": true,                  // 다른 어떤 것과 같은 일급 지위
  "turns": [ /* 평범한 턴, 평범한 리플레이, 평범한 브랜치 */ ]
}

// origin_surface 랑 system_folder 를 빼도 대화 진실은
// 아무것도 안 바뀌어 — 그것들은 정리하지, 정의하지 않아.

External links

Exercise

본성을 안 바꾸면서 폰에서 태어난 대화를 표시하는 메타데이터를 설계해봐: 어떤 태그가 origin 을 식별하고, 어떤 폴더가 그런 대화를 모으고, 어떤 표면 전용 행동(있다면)이 태그에 걸리는지. 그다음 '메타데이터 제거' 테스트를 통과하는지 검증해: 태그랑 폴더를 벗기면, 대화가 여전히 완전하고 유효한 canonical 대화야? 아니면, 진실을 정리에 밀수한 거야.
Hint
메타데이터는 순전히 덧붙이는 거여야 해. 올바른 설계는 origin_surface 랑 system_folder 를 지워도 완전히 유효한 대화가 남아 — 폰이 정리에만 영향 줬지 대화의 핵심 내용이나 지위엔 절대 안 줬다는 증거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.