Skip to content

종목 이름과 표시명

이름은 식별자가 아니다 — 정체성은 brid.md가 소유한다. 이 문서는 그 위에서 사람에게 보여줄 이름을 다루는 오너 결정 4건(2026-08-20 확정)의 정본이다.

1. 인입 실패분의 표시명 — 사전 기반 자동 음차

매핑에 실패해 실체화된 외부 종목(source <> 'barbelic', 소유자 있음)의 표시명은 지금은 원문 그대로다. 파생은 단일 훅 함수 exercise_display_name_for_external_v1(text)로 모은다(현재 구현 = identity).

목표 상태: 사전 기반 자동 음차(런타임 AI 호출 없음). 음차 사전은 오프라인으로 구축해 오너 승인 후 시드하며, 랜딩되면 훅 함수만 갈아끼운다.

  • 전 토큰이 사전에 히트하면 음차 결과를 쓴다.
  • 한 토큰이라도 미스면 원문 + 정비 대기 폴백이다. 부분 음차를 만들지 않는다.

2. 승격 작명 — 제안-승인

외부 종목을 정식 카탈로그로 승격할 때의 정식 이름(name_ko·name_en)은 자동으로 짓지 않는다. 제안을 만들고 오너가 승인해야 정식 이름이 된다.

3. 커스텀 생성 가드 (구현 완료)

  • 신규 커스텀 이름이 활성 정식(owner_user_id is null) 종목과 compact 동일이면 생성을 거부한다. 에러 detail에 기존 종목의 id와 이름을 담아 클라이언트가 안내할 수 있게 한다. 비교 대상은 정식 활성 행의 name_ko·name_en 양쪽 키다.
  • 자기 소유 커스텀과 compact 동일이면 거부가 아니라 멱등이다 — 같은 BRID → 같은 UUID → 기존 행 반환.
  • compact 정의는 brid_compact_name_key_v1 단일 소유다. 새 정규화 정의를 만들지 않는다.

"정식과 동일 = 거부, 내 커스텀과 동일 = 멱등"이 최종 시맨틱이다.

4. name_en 표기 관례

name_en은 관례적 하이픈 표기를 따른다 (예: push-up, chin-up). 슬러그 규칙이 아니라 표시명 표기 관례이며, BRID tail의 slug 문법과는 무관하다.

관련 문서