Skip to content

chore(release): 일곱째 물결 API 게이트 기준선 — node·.NET·ruby (DEPLOY §4 step 9) - #924

Merged
xzawed merged 1 commit into
mainfrom
chore/wave7-baselines-node-dotnet-ruby
Oct 31, 2026
Merged

xzawed merged 1 commit into
mainfrom
chore/wave7-baselines-node-dotnet-ruby

Conversation

@xzawed

@xzawed xzawed commented Oct 31, 2026

Copy link
Copy Markdown
Owner

무엇

게시가 확인된 세 레인의 API 게이트 기준선을 새 판으로 올린다(DEPLOY §4 step 9 · 틀 #863).

자리 전 → 후
node-ci.yml BASELINE 1.0.6 → 1.0.7
ruby-ci.yml BASELINE ruby-v1.4.0 → ruby-v1.4.1
.NET csproj PackageValidationBaselineVersion 1.0.6 → 1.0.7 (<Version> 은 #916 에서 이미 1.0.7)
deploy-facts.sh df_api_baseline node · dotnet · ruby 같은 값

rust · go 는 자리가 없다(도구가 직전 릴리스를 추론). java · kotlin(Portal Publish 대기) · php(미러 토큰 대기) · python(3.14 회귀 수정 대기)은 게시 뒤에 따로 올린다.

근거 — 게시 확인(step 8) + 게시 바이트 = 태그

언어 check-registry-truth 바이트 대조
node 1.0.7 LIVE npm gitHead · provenance gitCommit == node-v1.0.7(61fcfde)
dotnet 1.0.7 LIVE nuspec commit == dotnet-v1.0.7(a34ffcb)
ruby 1.4.1 LIVE gem lib/ == git archive ruby-v1.4.1 ruby/lib(22 파일)
go 1.2.5 LIVE proxy Origin.Hash == go/v1.2.5(db1fcc7) · 모듈 zip == go/(54 파일)
rust 1.1.5 LIVE .cargo_vcs_info.json sha1 == rust-v1.1.5(dfd4af5) · src/(11 파일)

계측기 대조군: 여섯째 물결 판으로 양성 7/7 MATCH · 레지스트리 판을 직전 태그와 맞춘 음성 7/7 DIFF.

가드: test-deploy-facts 184/0 · test-publication-claims(dash) 241/0 · check-versions rc 0 · test-check-versions 99/0 · check-docs rc 0 · test-changelog-landing 15/0. 진짜 검증은 이 PR 에서 세 레인의 API 게이트가 새 기준선과 비교하는 실행이다.

🤖 Generated with Claude Code

https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo

step 8 확인 뒤(node scripts/check-registry-truth.mjs, 2026-10-31, main db1fcc7 에서):
  LIVE node 1.0.7 · dotnet 1.0.7 · ruby 1.4.1 · go 1.2.5 · rust 1.1.5
  java 1.2.4 · kotlin 1.0.8 은 Central Portal Publish(사람) 대기, php 1.5.1 은 미러 토큰(사람) 대기,
  python 1.0.7 은 3.14 회귀 수정 뒤에 요청 — 그 셋의 기준선은 게시 뒤에 따로 올린다.
게시 바이트 ↔ 태그(내려받아 대조, autocrlf 끈 git archive — scratch bytes.sh):
  node  npm gitHead · provenance gitCommit == node-v1.0.7 커밋(61fcfde)
  .NET  nuspec repository commit == dotnet-v1.0.7 커밋(a34ffcb)
  ruby  gem lib/ == git archive ruby-v1.4.1 ruby/lib(22 파일)
  go    proxy .info Origin.Hash == go/v1.2.5 커밋(db1fcc7) · Origin.Ref refs/tags/go/v1.2.5 · 모듈 zip == git archive go/(54 파일)
  rust  .cargo_vcs_info.json git.sha1 == rust-v1.1.5 커밋(dfd4af5) · crate src/ == git archive rust/src(11 파일)
  계측기 대조군: 여섯째 물결 판(go 1.2.4 · dotnet·node·python 1.0.6 · php 1.5.0 · ruby 1.4.0 · rust 1.1.4)에서
  양성 7/7 MATCH, 같은 레지스트리 판을 직전 태그와 맞춘 음성 7/7 DIFF.
선행 조건(DEPLOY §4 step 9): ruby 는 태그만 — 있다; node·.NET 은 원격 아티팩트 — npm 1.0.7 · NuGet 1.0.7 LIVE.
.NET csproj <Version> 은 범프(#916)에서 이미 1.0.7 이라 새 기준선과 같다(CP0003). rust·go 는 자리가 없다.
틀: 8671075(#863).

가드: test-deploy-facts 184/0 · test-publication-claims(dash, LANG=) 241/0 · check-versions rc 0 ·
test-check-versions 99/0 · check-docs --strict rc 0. 진짜 검증은 세 언어 CI 의 API 게이트가 새 기준선과
비교하는 이 PR 의 실행이다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo
@sonarqubecloud

Copy link
Copy Markdown

@xzawed

xzawed commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

병합 판단 — 빨강 둘은 php-mirror(미러에 v1.5.1 태그가 없다)이고 PHP 미러 토큰(사람)이 교체되기 전까지 설계상 빨갛다. 세 게이트는 새 기준선과 비교했다: node api-extractor 가 keycloak-sdk-1.0.7.tgz · ruby yard diff BASELINE: ruby-v1.4.1 · .NET Xzawed.Keycloak.Sdk.1.0.7.nupkg (각 레인 로그).

@xzawed
xzawed merged commit 3f15187 into main Oct 31, 2026
50 of 52 checks passed
@xzawed
xzawed deleted the chore/wave7-baselines-node-dotnet-ruby branch October 31, 2026 06:21
xzawed added a commit that referenced this pull request Oct 31, 2026
step 8 확인 뒤(node scripts/check-registry-truth.mjs, 2026-10-31): LIVE python keycloak-sdk 1.0.7.
게시 바이트 ↔ 태그(내려받아 대조, autocrlf 끈 git archive — scratch bytes.sh): wheel · sdist 의 keycloak_sdk/
== git archive py-v1.0.7 python/src/keycloak_sdk(42 파일 — #925 의 3.14 수정 포함). 선행 조건: python 은 태그만 — 있다.
python 은 3.14 회귀(#925) 수정 뒤에 요청했다(#926 → py-v1.0.7 = 9b68dd7). node·.NET·ruby 는 #924.
java · kotlin(Portal Publish) · php(미러 토큰)는 게시 뒤에 따로 올린다. 틀: #863 의 python 줄.

가드: test-deploy-facts 184/0 · test-publication-claims(dash, LANG=) 241/0 · check-versions rc 0 ·
test-check-versions 99/0 · check-docs --strict rc 0. 진짜 검증은 이 PR 의 griffe 가 py-v1.0.7 과 비교하는 실행이다.


Claude-Session: https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
xzawed added a commit that referenced this pull request Nov 1, 2026
…1.5.1 (DEPLOY §4 step 9) (#929)

step 8 확인 뒤(node scripts/check-registry-truth.mjs, 2026-11-01):
  LIVE java io.github.xzawed:keycloak-sdk 1.2.4 · kotlin keycloak-sdk-kotlin 1.0.8(사람이 Central Portal 에서 Publish)
  LIVE php xzawed/keycloak-sdk 1.5.1 — PHP_SPLIT_TOKEN 교체(2026-11-01T22:17Z) 뒤 php-release 의 실패한 split 잡만 재실행
  (attempt 2 success). 미러는 첫 시도에서 아무것도 받지 않았다(main·v1.5.0 = c9716859, v1.5.1 없음 — 재실행 전 확인).
게시 바이트 ↔ 태그:
  php   Packagist source.reference == 미러 태그 v1.5.1 == 6d6beb0b(첫 시도 로그의 split 커밋과 같다) ·
        미러 커밋 트리 == php-v1.5.1:php == 5fd72da (scratch bytes.sh — 양성 7/7 · 음성 7/7 대조군)
  JVM   check-published-jvm-floor rc 0 — java 1.2.4 네 모듈(core 18 · auth 26 · admin 13 · keycloak-sdk 1 클래스) ·
        kotlin 1.0.8(87 클래스) 전부 major ≤ 61. gh attestation verify(--signer-workflow release.yml/kotlin-release.yml ·
        --source-ref refs/tags/v1.2.4·kotlin-v1.0.8 · --source-digest 89e035c·e7804fa · --deny-self-hosted-runners)
        15/15 jar(java 4 모듈 × main·sources·javadoc + kotlin 3) 통과. 한 변수씩 바꾼 대조 넷 모두 거부 — 잘못된 ref
        (SourceRepositoryRef) · 잘못된 커밋(SourceRepositoryDigest) · 잘못된 워크플로(issuer 검증 실패) · 1 바이트 덧붙임(404).
선행 조건(DEPLOY §4 step 9): php 는 태그만 — 있다; java·kotlin 은 원격 아티팩트 — repo1 LIVE. 틀: b877aec(#865) · 90c1c98(#853).
이로써 아홉 기준선이 모두 게시판이다(#924 node·.NET·ruby · #927 python · 이 커밋).

가드: test-deploy-facts 184/0 · test-publication-claims(dash, LANG=) 241/0 · check-versions rc 0 ·
test-check-versions 99/0 · check-docs --strict rc 0. 진짜 검증은 이 PR 의 japicmp(java·kotlin)와 php-semver-checker 실행이다.


Claude-Session: https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
xzawed added a commit that referenced this pull request Nov 1, 2026
…dev 전용 빨강 둘을 남긴다 (#930)

「지금 상태」 문단(머리의 날짜·PR 범위 포함)만 바꾼다.
- 아홉 LIVE: main faafc20 에서 node scripts/check-registry-truth.mjs → 아홉 줄 모두 LIVE(2026-11-01).
  php 는 PHP_SPLIT_TOKEN 교체(22:17Z) 뒤 split 잡만 재실행 — 미러 v1.5.1 = 6d6beb0b · Packagist source.reference 일치 ·
  미러 트리 == php-v1.5.1:php. java·kotlin 은 사람의 Portal Publish 뒤 jvm-floor rc 0 · attestation 15/15(대조 넷 거부).
- 기준선: #924(node·.NET·ruby) · #927(python) · #929(java·kotlin·php) — 이 PR 들에서 각 게이트가 새 판과 비교해 통과.
- security-audit(run 41356799874, 2026-11-01): 14 잡 중 둘 빨강 — ruby bundler-audit 의 addressable 2.9.0(GHSA-4w5q-wg7v-w6gp
  외, 2.9.1 에서 고침; ruby/Gemfile.lock 에서 webmock 아래에만 있다) · Dependabot #55 minimatch(node/package-lock.json,
  development). 둘 다 게시본에 들지 않는다(gem 런타임 의존 사슬 밖 · npm 은 dist 만).
433 B(432 → 433) · 원본 199,138 → 199,139 B(상한 199,140).

가드: check-docs --strict rc 0 · test-check-docs 299/0 · test-remaining-work-shape 28/0 · test-check-known-gaps 91/0 ·
test-integration-coverage 100/0.


Claude-Session: https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
xzawed added a commit that referenced this pull request Nov 2, 2026
DEPLOY.md §4 step 1 — 태그 **전** 커밋(틀: a10a0af/#916). SSOT·매니페스트·랜딩 README·함대 문서·CHANGELOG 절을 한 커밋에서
옮긴다. `.github/release-request.json` 은 건드리지 않았다(이 커밋은 태그를 자르지 않는다 — 요청 PR 이 언어마다 따로 간다).
`df_api_baseline` 과 기준선 사본(kotlin-ci `BASELINE` · php-ci 의 `git archive php-v1.5.1`)도 그대로다 — 기준선은 게시 확인
뒤(step 9)에만 움직인다.

대상 판정 — 레인별 `git rev-parse <마지막 태그>:<dir>` 대 `origin/main:<dir>`(56115d5):
- 같음 넷: python(py-v1.0.7) · node(node-v1.0.7) · go(go/v1.2.5) · rust(rust-v1.1.5).
- 다름 다섯 중 소비자 비가시 셋: java `japicmp.baseline` 1.2.3 → 1.2.4(#929) · dotnet `PackageValidationBaselineVersion`
  1.0.6 → 1.0.7(#924) · ruby `Gemfile.lock`(#931 — gemspec `files` 는 lib/**·LICENSE·README.md).
- 대상 둘: php(src 세 파일 — #935) · kotlin(build.gradle.kts 의 POM description — #933).

버전 판정(계측 셋 — PM 픽을 먼저 적고 Grok 을 읽었다):
- 레인 CI 의 API 게이트(main): kotlin japicmp 0.26.1 대 게시본 1.0.8 「No changes.」(run 41463449424, 20065c6) ·
  php-semver-checker 대 php-v1.5.1(run 41467650833, 678294c) — 남은 MAJOR 0: V016(final 클래스에 protected 추가 → 필터가
  MINOR) · V014 Class was added(`Internal\TokenResponseUnusable`) · PATCH 셋.
- PM 추출: php/src 에서 public/protected 멤버·클래스 선언이 바뀐 줄 — Internal 밖 0 · Internal 포함 3(대조 — 필터가 산다).
  새 클래스의 docblock 은 `@internal`. 선례: Internal 클래스가 처음 나간 patch 둘(ResponseStalled 1.4.1 · BearerToken 1.5.1).
- 사실만 받은 독립 Grok 레그: K 1.0.9 · P 1.5.2(결정 사실 — Internal 밖 공개 선언 변화 0). 이견 0.
→ php 1.5.2 · kotlin 1.0.9, 둘 다 patch(DEPLOY §4 step 0 — 게시된 공개 API 표면 기준).

바꾼 것:
- SSOT: scripts/lib/deploy-facts.sh — df_published_version php 1.5.2 · kotlin 1.0.9(df_api_baseline 그대로).
- 매니페스트: kotlin/build.gradle.kts `version` 1.0.9. php 는 편집 없음(태그가 SSOT, composer.json 에 version 키 없음).
- 하네스: harness/apps/kotlin/build.gradle.kts 1.0.9(주석 + 선언 — check-versions 가 대조한다).
- 랜딩 README 둘: 새 배너(버전 · 설치 해석 · 이번 릴리스 요약 — 그 언어의 [Unreleased] 항목에서만 옮겼고 ⚠️ 행동 변화를
  옮겼다). 지금 배너는 「`<old>` was a patch release on top of …」로 내렸다 — 머리만 바꿨고, kotlin 은 꼬리의 상투 문장(버전
  없는 좌표 · 소비자 하한)을 새 배너로 옮겼다(#916 과 같다). php 의 내린 1.5.1 문단에서 「the latest version `1.5.1`」의
  버전만 뺐다 — 1.5.2 가 나가면 Composer 경고가 이름하는 판이 1.5.2 라 거짓이 된다(같은 문장의 「`1.5.1` 을 지정한 제약 ·
  그 lock」은 1.5.1 에 대해 여전히 참). Requirements 의 ext-curl 줄(없으면 1.5.0 에 머문다)은 1.5.2 도 ext-curl 을 요구하므로
  그대로 참. kotlin 은 Requirements 「published `1.0.9`」 · 「The published `1.0.9` reuses」 · Install 펜스도.
- 함대 문서(가드 test-publication-claims 가 dash 에서 이름한 20 곳): CLAUDE.md 현재 상태 표 두 행 · README 영·한의 함대 문장과
  Install 펜스(kotlin) · SECURITY.md · getting-started 의 함대 문장 · 설치 헤딩과 펜스(php·kotlin) · DEPLOY.md `- Install:`(kotlin) ·
  compatibility 두 행 · language-support 두 행. 가드 밖 같은 부류: getting-started 의 「is live」 둘 · php 「now resolves
  `1.5.2` where `ext-curl` is enabled (else `1.5.0`)」 · kotlin 로컬 좌표 셋(jar 이름 · mavenLocal 선언 · `~/.m2` 경로 —
  매니페스트가 1.0.9). 길이가 같은 치환이라 doc-budget 문서의 바이트 변화는 0.
- CHANGELOG: [Unreleased] 의 두 항목을 `[1.5.2] - 2026-11-03 (PHP)` · `[1.0.9] - 2026-11-03 (Kotlin)` 으로(번호 내림차순).
  첫 절 머리말 — 물결 · 번호와 왜 patch 인가. 같은 번호의 앞 절은 없다(`^## \[(1\.0\.9|1\.5\.2)\]` 가 CHANGELOG·changelog/ 에서 0).
  게시 라이브러리 소스는 건드리지 않아 착지 게이트 대상이 아니다(`[no-changelog]` 면제 불요).

검증(구현과 다른 수단):
- test-publication-claims.sh(dash, debian:bookworm): SSOT 만 올린 상태 221 passed, 20 failed → 241 passed, 0 failed.
- check-docs --strict(78 facts · 26 anchors) rc 0 · check-versions rc 0(경고 1 은 main 과 같은 「기저 버전 갈림(5종)」) ·
  test-deploy-facts 184/0 · test-changelog-ledger 68/0.
- CHANGELOG 이동 검사기(scratch cl-move-check.sh): 항목 2 = 2 바이트 동일 · [Unreleased] 내용 0 줄 · [1.5.1] 이후 37,734 B
  동일 · 머리 동일 · 새 머리 2. 대조 둘(옮긴 항목 1 바이트 · 꼬리 1 바이트)은 모두 FAIL 로 잡혔다.
- 배너 숫자 추적: php {200, 503} · kotlin {1.0.1, 1.0.8, 17, 2.2, 21} 이 각 항목 안에 있다 — 미추적 0, 대조(4,321) → UNTRACED 1.
- 두 README 의 한글 0 · "not yet" 0(대조 파일 → 1).

php-mirror(비필수)는 이 SSOT 범프부터 PHP 태그가 생길 때까지 빨갛다(예상 — 오류 문구를 확인한다). 예약 harness-kotlin 감사는
Central 이 1.0.9 를 낼 때까지 빨갛다(DEPLOY §4 step 8 — 예상). 요청 PR 은 PHP → Kotlin 하나씩, 태그를 확인한 뒤 다음.


Claude-Session: https://claude.ai/code/session_01R4jYS4tpj7usahf8MK5dXo

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant