HoldemDNA | CANONICAL BASE v34 LOCKED
CANONICAL BASE
HoldemDNA Engineering Contract · v34 LOCKED
단일 베이스 1개만 유지. 패치는 PATCH ID로만 증가. (파일 섞기 금지)
Updated: 2026-01-11
1) 운영 규칙 (지옥 탈출 규약)
  • 베이스는 1개: 이 파일만 기준. 다른 HTML은 “참고/폐기”로 분류.
  • 한 번에 하나: 1 PATCH = 1 변경. (워크스트림 섞지 않음)
  • 분업 고정: JACKP1은 HTML 코어만, JACKP2는 SSOT(JSON)만.
  • 완료 기준(DOD): 완료는 스샷 1장(또는 재현 스텝)으로만 인정.
베이스 파일명: HDNA_CANONICAL_BASE_v34_LOCKED_v1.html 패치 파일명: HDNA_PATCH_###__{WS}__{SHORT}.html
2) QID 계약 (SSOT)
  • UI 표시용: Q20 (suffix 없음)
  • 엔진키(QID_KEY): Q20-MTT 또는 Q20-CG
  • 금지: 어떤 곳은 Q20, 어떤 곳은 Q20-MTT 같은 “혼종” 상태
  • 원칙: 저장/트리거/SSOT lookup은 무조건 QID_KEY로만.
주의: suffix(-MTT/-CG)는 “한 함수(한 지점)”에서만 붙인다. (재발 방지)
3) 워크스트림 체크리스트 (진행/완료/아카이브)
WS 설명 Owner Status Next Patch
WS-A MiniReport 챕터 종료 미니리포트 트리거 단일화 + QID_KEY strict + CTA 뒤 저장(confirm 이동) JACKP1 IN PROGRESS PATCH-001
WS-B Free10 FREE10 OneCard 라벨 엔진. (SSOT 라벨 ID 계약 잠금 완료, 이제 show 트리거만 고정) JACKP2/1 PENDING PATCH-0B1
WS-C Limits 무료/유료 리포트 1일 2회 제한(00:00 KST 리셋) 게이트 JACKP1 PENDING PATCH-0C1
WS-D Premium Entry 프리미엄 진입: “1–10 재응시?” 모달 + 모드(MTT/CG) 고정 + 올인원(79) JACKP1 PENDING PATCH-0D1
완료되면 해당 항목은 아래 “DONE ARCHIVE”로 이동하고 PATCH Ledger에 기록한다.
4) PATCH Ledger (append-only)
  • PATCH-000 (BASE) v34를 Canonical로 잠금 + 운영 규약/체크리스트 삽입
  • PATCH-001 (WS-A QID) EngineKey Factory 단일화: HDNA_getEngineKey() 도입 + HDNA_qkey는 alias로 유지
DONE ARCHIVE (완료 항목은 여기로 이동)
완료 항목은 “언제/무엇/PATCH”를 남기고 아래로 이동. 상단 체크리스트는 항상 ‘진행중’만 남긴다.
5) 편집 구역(필수)
  • JACKP1(HTML 코어): HDNA_nextQuestionCore(), HDNA_handleChapterEnd(), MiniReport 렌더/트리거
  • JACKP2(SSOT): FREE10 라벨팩/맵핑 JSON만 수정 (HTML 코어 금지)
  • 금지: 다른 방에서 만든 HTML을 그대로 덮어씌우기(파일 섞기)

DNA Snapshot

HoldemDNA
진행: 0%
0장 · DNA Snapshot Chapter 0
문항 1 / 10

AI 패턴 수집 중
내 직감 확신 (Self-Check) 50%
정답만 보는 게 아니라, 결정이 얼마나 흔들렸는지를 기록합니다.