bibimbap/docs
이정수 e28fa60ca6 feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합)
- keyset 페이징: GamesMapper.listVisibleKeyset/searchVisibleKeyset 신규 — 커서 (sort_order,created_at,id) 3-튜플 OR 분해(혼합방향 ASC/DESC/DESC), LIMIT #{limit}, #{} only. 기존 getVisibleGames/searchVisibleGames 보존(회귀 0)
- WebMvcController: cursor 파라미터 + nextCursor 산정 + parseCursor/encodeCursor(형식오류→첫페이지 폴백, throw 0) + HubCursor record + HUB_PAGE_SIZE=24. 검색/비검색 동일 커서 규약(공통 헬퍼)
- 진행중 잼 배너(단계2): JamsMapper.listActive/countActive 신규(status IN RECRUIT/DEV/EVAL, is_visible). 최신 1건 + "외 N-1개" 라벨, N=0 미렌더. CTA → W3-1 /games/search?jam={slug}
- index.jsp: 더보기 링크(hasNextPage, q+cursor URLEncoder) + 잼 배너(title HtmlUtils.htmlEscape, slug URLEncoder). 기존 렌더루프+W3-1 태그 UI 보존
- docs/games-hub-ddl.sql: idx_games_visible_keyset 멱등(games 컬럼 0변경) + schema.sql 동기
- BibimbapApplicationTests 무변경(JamsMapper/GamesMapper @MockBean W2-1 기등록 재사용)

검증: 컨테이너 ./mvnw -o test 243/243 GREEN(신규 8: WebMvcControllerTest), 회귀 0. L2 격리 throwaway DB contract PASS(혼합방향 keyset 경계 무중복/무누락·동일 sort_order/created_at tie-break·검색 keyset·잼 status 필터). 정렬키 5곳 동일·${} 0. 실 dev DB 무접촉.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 10:59:17 +09:00
..
adr fix: harden auth csrf handling 2026-06-16 15:38:44 +09:00
analysis docs: 고도화 로드맵 목적축 재구조 (게임잼 단일프레임 → W1~W4 워크스트림) 2026-06-17 17:20:53 +09:00
architecture fix: harden auth csrf handling 2026-06-16 15:38:44 +09:00
backlog docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
changes docs(jam): W2 게임잼 변경 이력 기록 + 설계 구현추적 갱신 2026-06-24 14:19:14 +09:00
contracts docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
development docs(dev): W2 회고 교훈 3건 반영 — (검증)태그·케이스폴딩 기준·공유헬퍼 grounding 2026-06-24 14:23:12 +09:00
domain docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
feedback docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
graph chore(graph): graphify 양 scope 재생성 메타 갱신 — W1 RBAC + W2 게임잼 (b9d836d→a74bf74) 2026-06-24 14:19:14 +09:00
issues docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
maintenance docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가 2026-06-16 12:18:56 +09:00
security fix(reviews): game_review_stats 집계 버그 2건 수정 + W3-2 L3 검증 완료 2026-06-22 17:54:19 +09:00
usage docs(dev): 검증 회고 교훈 반영 — DB-방언 계약 L2 + stale 빌드 가드 2026-06-22 17:58:47 +09:00
work-log docs(jam): W2 게임잼 변경 이력 기록 + 설계 구현추적 갱신 2026-06-24 14:19:14 +09:00
db-update-query-generator.md Merge PR #1 (docs/project-analysis): ATP 문서 체계 + 프로젝트 종합 분석 2026-06-17 10:00:39 +09:00
game-reviews-ddl.sql fix(reviews): game_review_stats 집계 버그 2건 수정 + W3-2 L3 검증 완료 2026-06-22 17:54:19 +09:00
games-hub-ddl.sql feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합) 2026-06-29 10:59:17 +09:00
index.md fix: harden auth csrf handling 2026-06-16 15:38:44 +09:00
jam-ddl.sql feat(jam): W2-1 게임잼 엔티티/라이프사이클 — jams/entries/teams + GAME_JAM_MANAGE enforcement + 공개 목록·상세 2026-06-24 10:50:12 +09:00
jam-eval-ddl.sql feat(jam): W2-3 잼 평가 동결 스키마 — jam_criteria/scores/votes/awards + jam_score_stats VIEW (⚠️클러스터 단일권위) 2026-06-24 11:33:19 +09:00
jam-judge-ddl.sql feat(jam): W2-2 심사위원 역할 — jam_judges + JamRoleGate(잼 스코프 게이트) + 자기출품 충돌 2026-06-24 11:15:22 +09:00
profile-management-prompt.md Prepare public repository 2026-05-03 16:13:32 +09:00
rbac-ddl.sql feat(rbac): W1 거버넌스/RBAC — 관리자 콘솔·권한 게이트·세션 epoch 전파 2026-06-23 10:38:57 +09:00
recruit-posts-ddl.sql 페이지 개선 2026-06-13 15:05:12 +09:00
security-hardening-ddl.sql 페이지 개선2 2026-06-13 15:05:18 +09:00
tag-ddl.sql feat(search): W3-1 게임 태그 + 검색 확장 — tags/game_tags/jam_tags/game_views + 다중태그·정렬키·방문수·리뷰 정렬 2026-06-29 10:44:23 +09:00
user-signup-schema.md Merge PR #1 (docs/project-analysis): ATP 문서 체계 + 프로젝트 종합 분석 2026-06-17 10:00:39 +09:00