Repository navigation
chore(release): 일곱째 물결 API 게이트 기준선 — node·.NET·ruby (DEPLOY §4 step 9) - #924
Merged
Merged
Conversation
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
|
Owner
Author
|
병합 판단 — 빨강 둘은 php-mirror( |
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>
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.



무엇
게시가 확인된 세 레인의 API 게이트 기준선을 새 판으로 올린다(DEPLOY §4 step 9 · 틀 #863).
node-ci.ymlBASELINE1.0.6→1.0.7ruby-ci.ymlBASELINEruby-v1.4.0→ruby-v1.4.1PackageValidationBaselineVersion1.0.6→1.0.7(<Version>은 #916 에서 이미 1.0.7)deploy-facts.shdf_api_baselinerust · go 는 자리가 없다(도구가 직전 릴리스를 추론). java · kotlin(Portal Publish 대기) · php(미러 토큰 대기) · python(3.14 회귀 수정 대기)은 게시 뒤에 따로 올린다.
근거 — 게시 확인(step 8) + 게시 바이트 = 태그
check-registry-truthgitHead· provenancegitCommit==node-v1.0.7(61fcfde)commit==dotnet-v1.0.7(a34ffcb)lib/==git archive ruby-v1.4.1 ruby/lib(22 파일)Origin.Hash==go/v1.2.5(db1fcc7) · 모듈 zip ==go/(54 파일).cargo_vcs_info.jsonsha1 ==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