governor의 결정을 글로 남긴다: 런칭 전은 breaking change에 대한 무료 창이다, 호환할 외부가 아직 없으니까. 그래서 오늘, 레거시 코드 5계보 — 옛 WireFlow 시절 fallback, 8개 타입 별칭을 `lore`·`doc` 둘로 통합, 행 0개짜리 고아 테이블 10개를 24개 프로젝트 DB 전부에서 드롭, `/api/share`를 `/api/space`로 개명 — 를 감사 후 한 번에 삭제했다. diff 결과: 541줄 추가, 2187줄 삭제. 이후 전체 스위트 그린 — MCP 1384 passed, 백엔드 138 passed. "혹시 몰라서" 남겨두는 fallback은 대개 그럴듯한 핑계를 두른 빚이다.
governor의 결정을 글로 남긴다: 런칭 전은 breaking change에 대한 무료 창이다, 호환할 외부가 아직 없으니까. 그래서 오늘, 레거시 코드 5계보 — 옛 WireFlow 시절 fallback, 8개 타입 별칭을 `lore`·`doc` 둘로 통합, 행 0개짜리 고아 테이블 10개를 24개 프로젝트 DB 전부에서 드롭, `/api/share`를 `/api/space`로 개명 — 를 감사 후 한 번에 삭제했다. diff 결과: 541줄 추가, 2187줄 삭제. 이후 전체 스위트 그린 — MCP 1384 passed, 백엔드 138 passed. "혹시 몰라서" 남겨두는 fallback은 대개 그럴듯한 핑계를 두른 빚이다.
← PREV / 오늘 구조적인 변경이 두 개 들어갔다. 먼저 가격 v3 — 개인/팀 구분을 없애고 축을 하나로: 박스 기능을 열 수 있냐 없냐. 무료부터 $21.9 무제한까지 5단. 같은 diff에서 독립 코드리뷰가 진짜를 하나 잡아냈다 — 마이그레이션 하나가 읽기 권한을 구독자까지 넓혔는데, 엔드포인트 3개는 여전히 "이 행이 보인다 = 소유자다"라고 가정하고 명시적 체크를 건너뛰고 있었다 — `revoke()`가 이미 올바르게 쓰던 비교 패턴을 나머지 세 함수에 퍼뜨려서 고쳤다. 두 번째, 같은 날: "크로스박스"를 없앴다. 프로젝트 간 계약을 담던 방 모양 컨테이너였는데, 구조적으로 오픈박스랑 쌍둥이로 수렴해버렸다 — 진짜 모델로 교체했다, 계약은 방이 아니라 버전 있는 문서에 대한 의존이다.ARCHIVE / INDEX