Skip to content

feat: beta-tester 배지 추가와 mode 축 enum 개조 - #16

Merged
kobenlys merged 3 commits into
mainfrom
develop
Aug 25, 2026
Merged

kobenlys merged 3 commits into
mainfrom
develop

Conversation

@kobenlys

Copy link
Copy Markdown
Contributor

🏷️ 작업 유형

  • 🐛 버그 픽스
  • ✨ 개발
  • 📝 문서 추가 및 수정
  • ♻️ 리팩터링
  • 🔧 ETC

📋 변경 사항

베타 테스터 배지(?theme=beta-tester)를 추가하고, 이를 위해 색상 모드 축을 boolean 에서 enum 으로 바꾼다. develop 에 머지된 #15 를 main 으로 올린다.

beta-tester 배지 (고정 스냅샷 방식)

  • badge_snapshot(github_id, badge_code, payload JSONB) 신설 — 렌더 시점 집계 대신 미리 계산된 payload 를 복합 PK 로 한 번 읽는다
  • V6 배지 카탈로그 등록 + badge_compact_number(BIGINT) 함수, V7 스냅샷·부여·이력 적재
  • V7 은 고정값을 박지 않고 users 기준 INSERT ... SELECT 로 동적 적재 (베타 기간 컷오프 2026-08-09 00:00:00+09)
  • 부여자는 TKPG-ADMIN
  • 마스코트 픽셀 42개와 로고 path 2개는 프로토타입에서 스크립트로 추출 (좌우대칭·round-trip diff 0 검증)

mode 축 리팩터링

  • boolean isDark → BadgeMode enum (light dark cyan green purple)
  • 테마마다 supportedModes() / defaultMode() 를 선언해 Redis 캐시 키 카디널리티를 제한한다
  • 기존 테마 3종은 패밀리 베이스에서 boolean isDark 를 그대로 유지 — build() 시그니처만 바뀌어 렌더 결과는 무변경

버전

  • pom.xml 26.08.12 → 26.08.26

✅ 테스트

  • ./mvnw test — 전체 통과. 신규 유닛 테스트 6개 클래스 추가 (BadgeModeTest, BadgeSnapshotIdTest, BetaTester{BadgeTheme,Mascot,ProviderMark,Snapshot}Test)
  • ./mvnw verify — Testcontainers 통합 테스트 통과. BadgeSnapshotRepositoryIntegrationTest 12케이스로 jsonb 왕복·복합키 격리·badge_compact_number 계약 검증
  • 기존 배지 3종 무변경 확인 — 기존 테마 테스트의 단언을 한 줄도 고치지 않고 통과 (호출부 시그니처만 수정)
  • 마이그레이션 검증 — 일회성 postgres:16-alpine 컨테이너에 V1~V7 적용, 경계 사용자(2026-08-01 / 2026-08-20)로 컷오프와 스냅샷·부여·이력 행수 확인
  • 렌더 결과는 .claude/tokenphage-preview.html 로 cyan/green/purple 3종 육안 확인

리뷰 시 볼 지점

  • V7 은 적용 후 수정 불가(체크섬)다. 스테이징 반영 후 실제 payload 를 눈으로 확인해야 한다.

kobenlys and others added 3 commits August 26, 2026 00:37
클로즈드 베타 기여자용 터미널 창 배지를 추가한다. 표시 값이 마감된 구간의
집계라 렌더마다 변하면 안 되므로, badge_snapshot 테이블에 미리 계산한 JSON을
복합 PK로 저장하고 렌더는 그것만 읽는다. V7이 스냅샷·자격·이력을 함께 적재한다.

악센트 3색(cyan/green/purple)을 ?mode= 축에 노출하기 위해 boolean isDark를
BadgeMode enum으로 바꿨다. 기존 배지 3종은 패밀리 훅에서 boolean을 유지해
렌더 결과가 바뀌지 않는다.
feat: beta-tester 배지 추가와 mode 축 enum 개조
@kobenlys kobenlys self-assigned this Aug 25, 2026
@kobenlys
kobenlys merged commit fe7e624 into main Aug 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant