본문 바로가기
C.W.K.
Stream
Lesson 05 of 07 · published

Zero Ancestor Touch — Rule 2 의 가장 순수한 형태

~9 min · council, rule-2

Level 0호기심
0 XP0/69 lessons0/17 achievements
0/100 XP to next level100 XP to go0% complete

diff 봐

Family Council ship 됐을 때, pre-council master 대비 diff: 새 backend/council/ 디렉토리, 새 frontend/src/components/council/ 디렉토리, 새 <app-data>/councils/ 영속화 디렉토리. 없음backend/adapters/, backend/routes/chat.py, backend/store/conversations.py, 어느 변형 디렉토리에도 변경.

왜 중요

Council 이 Three Rules 의 crown — 완전 새 feature surface 가 canonical 두뇌 endpoint 안 건드리고 빌드 가능 증명. council (multi-party orchestration 이 가장 어려운 case) 에 가능하면, 다른 무엇이든 가능.

원칙: 새 feature 추가 전, 물어: '기존 layer 안 건드리고 위에 빌드 가능?' yes 면 그렇게 해. no 면 왜? 가끔 옳은 move 가 Rule 2 ancestor 터치 (드물게), 대부분 답이 '잘못된 abstraction 손 댐'.

Zero touch는 diff 자랑이 아니라 dependency test야. 새 feature가 기존 route와 adapter를 수정해야만 붙는다면, 그 feature가 ancestor의 사정을 너무 많이 알고 있는지 먼저 의심해. Council은 평범한 conversation API를 client처럼 사용하고 자기 orchestration state만 소유했기 때문에 경계를 통과했어.

물론 숫자 0을 지키려고 잘못된 contract를 우회하면 안 돼. 여러 downstream feature가 같은 구멍 때문에 비슷한 hack을 만든다면 ancestor contract가 실제로 빠진 걸 수 있어. 그때는 뿌리를 고치되, 한 variant의 편의를 공통 요구로 위장하지 않았다는 증거를 대.

이 원칙의 수익은 rollback에서도 보여. Council folder와 route를 걷어 내도 1:1 chat, JSONL, brain adapter는 그대로 돌아야 해. additive feature가 실패해도 집 전체가 같이 넘어지지 않는 것, 그게 zero ancestor touch의 실전 의미야.

Progress

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

댓글 0

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

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