feat(release): 메뉴 노출 키로 출시 전 기능을 서버에서 여닫는다 메뉴 · 기능을 숨김 · 내부 검수자만 · 전체 공개 셋으로 여닫는 노출 제어의 서버 쪽이다 (stg 축). 키와 기본값은 코드 등록부, 운영자가 바꾼 값은 새 표 tn_release_flag 에 둔다. - 등록부(release.registry.ts): 출시 키 넷(site.case-report · site.loss-analysis · MNU_LOSS_ANALYSIS · MNU_LOSS_ANALYSIS_LOG)과 사이트 상시 키 14. 사이트 키에는 사이트 메뉴 문구 그대로의 화면 이름을 둔다. 등록부에 없는 메뉴 코드는 상시 키다. - 판정(release.decide.ts): 출시 키는 행 없음 · 읽기 실패 · 셋 밖 상태에 숨고 상시 키는 보인다. hidden 은 최고관리자에게도 숨는다. onlyHidden 은 internal 을 통과시킨다. - API: GET /release/visible(회원, 실패해도 기본값으로 채움), GET · PATCH /admin/release (최고관리자, 바뀐 키만 한 트랜잭션). PATCH 는 감사 줄에 키 · 전후 상태 · 검수자 수를 싣고 번호는 싣지 않는다. 판정 지도 두 행은 rbac.manage. - @Release + ReleaseGuard: 출시 키 경로는 가드에서 404 다. 보장·청구 분석 회원 30 · 고객 링크 4, 의료비·보험금분석 회원 3 · 고객 링크 6(onlyHidden), 관리자 실손 두 칸. 기존 env 스위치는 그대로 AND 다. - 사이드바: 노출 값이 숨긴 메뉴 코드를 URL 숨김과 같은 규칙(자손 · 빈 부모)으로 뺀다. 권한 설정용 전체 트리에는 남는다. 캐시 없이 요청마다 표를 한 번 읽는다. - 접근 계약: 등록표 release 칸과 R1 ~ R7 대조(실제 AppModule). 도입 때의 회원 · 공개 171행은 release-golden.txt 가 동결한다. - 시험: 판정 표 · 등록부 형식 · 정리 기한 · SQL 이 넣는 메뉴 코드 대조(추출기 자기 검사 포함) · 서비스 쓰기 검증 · 사이드바 제외. CI SPECS 에 새 spec 셋. drizzle/0042_release_flag.sql 은 손으로 적용한다. stg 는 서버 배포 전에 시드 4행을 먼저 넣어야 지금 열린 기능이 닫히지 않는다.