Riftbound · Wuhan·Barcelona · 출하 영수증 · 2026-09-06 KST

메타 탐색기 128 스탠딩·106 덱리스트, 실측으로 낸다

Wuhan·Barcelona Top 64 두 대회, 공개 덱리스트 106개와 미공개 22개를 하나의 정적 탐색기로 묶은 /meta/의 출하 영수증이다. 데이터 계약, 두 뷰포트 실측, 다이얼로그 RED→GREEN, 로컬 게이트, 3-엔진 리뷰, 그리고 첫 배포 커밋 8fedfd0에 대한 프로덕션 실측(HTTP 200·바이트·sha256·듀얼뷰포트 재측정·다이얼로그 재현·랩퍼 iframe stable·progressive materialization·Wuhan#48 incomplete)까지 하나의 영수증에 담았다.

Explorer/meta/
Data/meta/data.json
Wrapper/post/2026-09-06-riftbound-meta/
Productioncommit 8fedfd0 · /meta/ 200 · data.json 200 · sha256 6fa483da…5c099a
01

하이레벨 판정

로컬 리시트(데이터 계약·UI 계약·결정론 재빌드·가시성 스캔·Hugo 최소 빌드·로컬 HTTP 200·듀얼뷰포트 실측·다이얼로그 실측)와 3-엔진 만장일치 APPROVE가 모두 그린이고, 첫 배포 커밋 8fedfd0에 대한 프로덕션 실측(라이브 URL 200·바이트 수·/meta/data.json sha256 6fa483da…5c099a·듀얼뷰포트 재측정·다이얼로그 재현·랩퍼 iframe stable·Wuhan#48 incomplete 보존)도 모두 그린이다.

출하 결론

로컬 리시트와 프로덕션 실측이 모두 그린으로 정렬돼 Shipped. 첫 배포 커밋은 8fedfd0407c1540b413b03c78d9507243f783d1f. 배포 ID나 정확한 배포 시각은 캡처하지 않았으므로 이 영수증에 상상해서 넣지 않는다.

Standings128 (Wuhan 64 + Barcelona 64)
Public decks106
Unavailable22
Card occurrences3,385
Total quantity6,925
Unique collector numbers365
data.json bytes3,688,598
data.json sha2566fa483da…5c099a
02

수용 대조 — 요구와 실측

유저 요구 원문과 산출물의 실측치를 한 줄씩 대조한다. 각 행은 요구·실측·근거 파일이 함께 있어야 통과다.

요구실측근거판정
Wuhan Top 64 + Barcelona Top 64 = 128 스탠딩standings.length = 128static/meta/data.jsonOK
공개 106 / 미공개 22공개 106, 미공개 22static/meta/data.jsonOK
카드 등장 총계 3,385 · 수량 총계 6,9253,385 / 6,925static/meta/data.jsonOK
고유 collector number 365365static/meta/data.jsonOK
미공개 데이터는 발명하지 않는다Wuhan 48위 (deckId 267853)만 소스 total 65인 미완결로 보존, 발명 카드 0플레이어 猫岛巡礼神切天意 · 제목 感受雷霆吧!OK
390px 페이지 가로 오버플로 0clientWidth=scrollWidth=390, cardsOutside=0scratchpad/riftbound-meta-20260904/browser-qa-postfix-responsive.jsonOK
1440px 페이지 가로 오버플로 0clientWidth=scrollWidth=1440, cardsOutside=0동일 파일OK
다이얼로그 390에서 링크 44px 이상, 컨테이너 안links 9, minHeight 62, maxRight 365.19, allInside=true, all44=truescratchpad/riftbound-meta-20260904/browser-qa-dialog-postfix-390.jsonOK
Trinity 3-엔진 만장일치 APPROVERound 2 = anthropic·grok-4.5·gpt-5.6-sol 모두 APPROVE본 문서 §06OK
프로덕션 검증커밋 8fedfd0에서 /meta/·data.json·랩퍼 200, data.json 3,688,598 bytes, sha256 6fa483da…5c099a, 듀얼뷰포트 재실측 그린, 다이얼로그 재현 그린, 랩퍼 iframe stable=true본 문서 §07OK
03

출처와 산출물

탐색기(/meta/)는 세 파일로 구성된다. 데이터는 결정론적으로 리빌드해도 동일한 해시가 나와야 하며, 미공개 항목은 발명 없이 소스 상태를 보존한다.

메인 탐색기
static/meta/index.html
데이터
static/meta/data.json · 3,688,598 bytes · sha256 6fa483da8adfda236436c14ea33c64cb7f6371b80e57c60e27172ab71f5c099a
블로그 랩퍼
content/post/2026-09-06-riftbound-meta.md/post/2026-09-06-riftbound-meta/
정직한 미공개 사례
Wuhan 48위, deckId 267853, 플레이어 猫岛巡礼神切天意, 제목 感受雷霆吧!, 소스 total 65 — 미완결 그대로 보존, 카드 발명 0
데이터 결정론
재빌드 결과가 위 해시와 바이트 완전 일치 (로컬 실측)
04

반응형 실측 — 390 / 1440

두 뷰포트에서 페이지 가로 오버플로 없음, 33/33 이미지가 loaded·eager·high, 히어로/워크스페이스 레이아웃이 뷰포트에 맞게 전환된다.

지표390px1440px
viewport3901440
clientWidth / scrollWidth390 / 3901440 / 1440
cardsOutside00
initial / loaded / eager+high33 / 33 / 3333 / 33 / 33
hero width171.59295
hero directioncolumnrow
workspace left / width0 / 390320 / 1120

원본 리시트: scratchpad/riftbound-meta-20260904/browser-qa-postfix-responsive.json

스크린샷 · /meta/ @ 390 × 3000 (모바일 전체)
viewport 390×3000 · cardsOutside 0 · 33/33 loaded · hero column
/meta/ 페이지 모바일 캡처 (390×3000)
스크린샷 · /meta/ @ 1440 × 2400 (데스크톱 전체)
viewport 1440×2400 · cardsOutside 0 · 33/33 loaded · hero row · workspace 320/1120
/meta/ 페이지 데스크톱 캡처 (1440×2400)
05

다이얼로그 RED → GREEN

gpt-5.6-sol의 Round 1 REJECT를 근거로 다이얼로그 오버플로와 히트 타깃을 실측 계약으로 고정하고, 최소 CSS 수정으로 GREEN을 만들었다.

지표수정 전 (RED)수정 후 (GREEN, 390)
body scrollWidth1189372
facts scrollWidth1157340
링크 min height17px62px
document client/scroll390 / 390
dialog client/scroll372 / 372
links count9
maxRight365.19
allInside / all44falsetrue / true
RED 계약 위반정확히 4건OK UI contract holds — static/meta/index.html

근본 원인과 최소 수정

파일: static/meta/index.html

  • .body 그리드 컨테인먼트 — 라인 450–459 근방: body에 min-width:0, 데스크톱 트랙에 minmax(0,1fr).
  • 중첩 dl.kv — 라인 490–503 근방: 좌우 트랙 모두 minmax(0,1fr)으로 축소 가능하게.
  • URL 앵커 — 라인 1179–1183, 1243–1245 근방: overflow-wrap:anywhere + word-break:break-word, 링크 최소 히트 44px.
  • RED 컨트랙트: scripts/test-riftbound-meta-ui.py 라인 975–1084.

원본 리시트: scratchpad/riftbound-meta-20260904/browser-qa-dialog-postfix-390.json

스크린샷 · 다이얼로그 열림 @ 390 × 844
viewport 390×844 · dialog 372/372 · body 372/372 · facts 340/340 · links 9, min 62px, allInside/all44
다이얼로그 오픈 상태 캡처 (390×844)
06

로컬 게이트와 3-엔진 리뷰

로컬 게이트는 데이터 계약·UI 계약·인라인 JS syntax·재빌드 결정론·가시성 스캔·Hugo 최소 빌드·로컬 HTTP·git diff --check가 모두 그린. Trinity는 Round 1에서 REJECT 하나가 있었으나 근거 기반 CSS 수정 후 Round 2에서 만장일치 APPROVE.

로컬 게이트 (모두 그린)

  • Data contractOK
  • UI contractOK — static/meta/index.html
  • Inline JSnode --check exit 0
  • Rebuild determinism재빌드 산출물이 커밋된 data.json과 바이트 완전 일치
  • Visibility scancheck-visibility: OK — 155 file(s) scanned
  • Hugo build (minified)exit 0
  • Local HTTPraw / data / wrapper / home 모두 200
  • Whitespacegit diff --check exit 0

Trinity 리뷰 원장

라운드anthropicgrok-4.5gpt-5.6-solMUST-FIX
Round 1APPROVEAPPROVEREJECT (dialog overflow / hit targets)다이얼로그 실측 계약 + 최소 CSS 수정
Round 2APPROVEAPPROVEAPPROVE없음
07

프로덕션 검증 — 첫 배포 커밋 8fedfd0 실측 영수증

라이브 URL·바이트·해시·듀얼뷰포트·다이얼로그·랩퍼 iframe·progressive materialization·미공개 항목 보존까지 프로덕션에서 재측정한 결과다. 배포 ID나 정확한 배포 시각은 캡처하지 않았으므로 이 영수증에 상상해서 넣지 않는다.

라이브 라우트

URLHTTPbytes비고
/meta/20043,160탐색기 SPA 셸
/meta/data.json2003,688,598sha256 6fa483da8adfda236436c14ea33c64cb7f6371b80e57c60e27172ab71f5c099a — 커밋 바이트와 정확히 일치
/post/2026-09-06-riftbound-meta/20011,033탐색기 랩퍼(embed)
/riftbound-meta-delivery/2003,042,698첫 배포 시점 리시트 페이지 크기(본 업데이트 이전 기준)
/post/2026-09-06-riftbound-meta-delivery/20011,241리시트 랩퍼(embed)
홈페이지 /20045,663리스트에 두 포스트 노출

프로덕션 브라우저 재측정 — 두 뷰포트

항목390 (mobile)1440 (desktop)
clientWidth / scrollWidth390 / 3901440 / 1440
cardsOutside (viewport 외부)00
herodirection=column · width 171.59375direction=row
workspaceleft 320 · width 1120
초기 이미지 로드33/33 (eager/high)33/33

다이얼로그 프로덕션 재현 (390)

body 372/372, facts 340/340, links=9, 최소 링크 높이 62px, 모두 컨테이너 안. Escape 키가 다이얼로그를 닫고 열기 전 트리거로 포커스가 복원된다.

랩퍼 iframe stability

랩퍼(/post/2026-09-06-riftbound-meta/)의 iframe src=https://dosi.dev/meta/. 로드 직후 height=14206, 약 3.2s 대기 후 다시 14206 — stable=true.

Progressive materialization

동일 identity 보존: Barcelona rank 4 = HXN Gonkrа, Kennen, Heart of the Tempest, 66 cards. 같은 details 노드가 닫혀 있을 때 이미지 0개, 열면 34개가 생성되고 그 34개 전부 loading=lazy.

Barcelona 미공개 항목 (fabricate=0 재확인)

UI 행 22개 — 사유는 Submit Deck 21, Under Review 1. 미공개 행은 details/summary/이미지/버튼/링크가 모두 0. 런타임 교차확인: standings 64, 미공개 22, data.decks에서 일치하는 레코드 0, deckUrl 필드 0. 어떤 덱리스트도 발명하지 않았다.

Wuhan rank 48 incomplete 정확 상태

플레이어
猫岛巡礼神切天意
deckId
267853
제목
感受雷霆吧!
Champion
Jayce, Defender of Tomorrow
source total / card total
65 / 65 · incomplete=true
렌더링
occurrence 버튼 28개, 이미지 28개, 수량 합 65
경고 문구(원문)
이 덱은 upstream에서 incomplete로 표시되었습니다 (기대 카드 수 미달). 원본 그대로 표시합니다.
소스 링크
https://riftdecks.com/riftbound-metagame/deck-gan-shou-lei-ting-ba-267853
미기록

Cloudflare 배포 ID와 정확한 배포 시각은 이 영수증 캡처에 포함되지 않았다. 향후 별도 캡처가 있어야 첨부한다 — 상상해서 채우지 않는다.

08

QA 단계 — 이 문서를 그대로 재현하려면

  1. /meta/를 데스크톱과 모바일 각각 열어 가로 스크롤바가 없음을 확인한다.
  2. 임의의 카드/링크를 눌러 상세 다이얼로그를 열고, 다이얼로그 내부가 뷰포트를 넘지 않으며 내부 링크가 손가락으로 눌리는 크기임을 확인한다.
  3. /meta/data.json의 sha256이 6fa483da8adfda236436c14ea33c64cb7f6371b80e57c60e27172ab71f5c099a임을 확인한다.
  4. 랩퍼 /post/2026-09-06-riftbound-meta/가 임베드로 렌더링되고 상단 카드/태그 chrome이 없는 embed 레이아웃임을 확인한다.
  5. Wuhan 48위 항목이 미완결로 표시되고 카드 리스트에 발명이 없는지 확인한다.

문서 유형 data-report · ui-ux-ref openai · 로컬 리시트 + 프로덕션 실측 · 첫 배포 커밋 8fedfd0407c1540b413b03c78d9507243f783d1f · data.json sha256 6fa483da8adfda236436c14ea33c64cb7f6371b80e57c60e27172ab71f5c099a