fix(coverage): baseline을 stable 2.x로 재calibrate + user-data 그룹 문서화 (#120)#128
Merged
Conversation
) coverage drift 검출기의 baseline이 3.0-beta(`9d42c0b`, 60 exports)에 고정돼 있어, 실유저가 쓰는 published `latest`(2.x) 라인과 mismatch였다 — umbrella §5.1 "작업 기준선은 항상 stable 2.x" 원칙과 어긋나 drift 리포트를 구조적으로 신뢰 불가하게 만들었다(#91 phantom signature drift, #96↔#107 whipsaw의 근본 원인). 옵션 A 채택: baseline을 stable 2.x로 되돌리고, 그에 따라 살아나는 2.x-only export들을 깨끗이 문서화한다. - devDep `@apps-in-toss/web-framework` 3.0.0-beta.9d42c0b → 2.10.1 (현 `latest`) - `coverage-baseline.json` → sdkVersion 2.10.1 재생성 (60 → 65 exports) - 새 `user-data` 그룹: `getConsentedUserData` + `getDeclaredAgeRange` ko+en 페이지 + overview. 2.9.3/2.10.1 `.d.ts`에서 시그니처 도출. 두 export 모두 3.0-beta surface엔 없는 2.x stable-line API라, baseline을 2.x로 두면 orphan이 아니라 문서화 대상이 된다. `onVisibilityChangedByTransparentServiceWeb` 페이지도 유지 (같은 2.x-only 클래스, #107이 재추가한 것). - `GROUP_MAP`에 두 export 라우팅 추가 - `user-data`는 sdk-example 데모 페이지가 없으므로 docs에서 `TryItLink`(Try it live) 블록을 생략 — 없는 라우트를 약속하지 않는다. 부수 정정 (#120 "검토" 항목): - `verify-crosslinks`: `GROUPS_WITHOUT_SDK_EXAMPLE` 스킵셋 도입 — 의도적으로 데모 페이지가 없는 그룹은 404 fetch 경고(실 outage와 구분 불가) 대신 깨끗한 info 라인으로 보고. (CI는 non-strict라 이전에도 fail은 아니었지만 신호가 탁함.) - `sdk-coverage` 리포트: baseline≠live일 때 경고 배너 추가 — install noise를 진짜 drift로 오인하지 않게(#91이 정확히 이 함정에 걸렸다). CI는 이미 `--frozen-lockfile`이라 lockfile 2.10.1 pin으로 baseline==live 보장. verify: coverage:check zero-drift, typecheck/lint/build(ko+en)/og-images/ crosslinks/llms 전부 통과. Closes #120
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
coverage drift 검출기(
scripts/sdk-coverage.ts)의 baseline이 3.0-beta(9d42c0b, 60 exports) 에 고정돼 있었다. 그런데 우리 docs가 섬기는 audience와 publishedlatest는 2.x 라인이다(umbrella §5.1: "작업 기준선은 항상 stable — web-framework 2.x. 3.0은 GA flip 전까지 staging artifact").이 mismatch가 #91의 phantom signature drift(29개 export 전체가 "Signature changed"로 오탐)와 #96↔#107 whipsaw(
onVisibilityChangedByTransparentServiceWeb삭제→재추가)의 근본 원인이었다.결정: #120 옵션 A (baseline → stable 2.x)
baseline을 stable 2.x로 되돌리고, 그에 따라 살아나는 2.x-only export들을 깨끗이 문서화한다. §5.1 정합이고, docs가 실유저(2.x) 표면을 추적하게 된다. GA flip 시 3.0으로 re-baseline.
변경
re-baseline
@apps-in-toss/web-framework3.0.0-beta.9d42c0b→2.10.1(현latest)coverage-baseline.json→ sdkVersion2.10.1재생성 (60 → 65 exports)user-data 그룹 신설 (2.9.3/2.10.1
.d.ts에서 시그니처 도출)getConsentedUserDatako+en 페이지 — 동의 기반 사용자 데이터(USER_NAME/USER_PHONE/USER_ADDRESS등) 조회, 7개 에러 코드,5.264.0미만undefined가용성getDeclaredAgeRangeko+en 페이지 — 연령대 공유 동의 조회,isSupported(), 6개 status 코드GROUP_MAP라우팅 +sidebars.ts배선 + OG 이미지 3개onVisibilityChangedByTransparentServiceWeb페이지 유지 (같은 2.x-only 클래스)user-data는 sdk-example 데모 페이지가 없으므로TryItLink(Try it live) 블록 생략 — 없는 라우트를 약속하지 않는다부수 정정 (#120 "검토" 항목)
verify-crosslinks:GROUPS_WITHOUT_SDK_EXAMPLE스킵셋 — 의도적으로 데모가 없는 그룹은 404 fetch 경고(실 outage와 구분 불가) 대신 깨끗한 info 라인. (CI는 non-strict라 이전에도 fail은 아니었으나 신호가 탁했다.)sdk-coverage리포트: baseline≠live 경고 배너 — install noise를 진짜 drift로 오인하지 않게. CI는 이미--frozen-lockfile이라 lockfile2.10.1pin으로 baseline==live 보장.검증 (전부 로컬 통과)
pnpm coverage:check→ zero drift (full parity, baseline/live 모두 2.10.1)pnpm typecheck/pnpm lintcleanpnpm build→ ko+en 양쪽 success (83 method pages)pnpm check:og-images→ 296 페이지 PNG 대응pnpm verify:crosslinks→ ok (user-data 깨끗이 skip)pnpm check:llms→ llms.txt 갱신 커밋Closes #120