Skip to content

chore: re-vendor the canonical baseline from the current central bundle - #156

Merged
kcrmin merged 1 commit into
developfrom
chore/re-vendor-canonical-baseline
Aug 9, 2026
Merged

chore: re-vendor the canonical baseline from the current central bundle#156
kcrmin merged 1 commit into
developfrom
chore/re-vendor-canonical-baseline

Conversation

@kcrmin

@kcrmin kcrmin commented Aug 9, 2026

Copy link
Copy Markdown
Member

trading-engine #155 를 닫습니다.

무엇이 어긋나 있었나

벤더 사본이 조립된 번들보다 마이그레이션 8개 뒤처져 있었고, grants 파일은 grant 수정 3건 이전 상태였습니다.
그래서 이 저장소의 CanonicalBaselineContractTest어떤 브랜치에서든 실패해 CI 가 막혀 있었습니다.

db/canonical-baseline/README.md 절차대로 재벤더링했습니다 — 조립된 번들을 그대로 복사하고
baseline.manifest · baseline.sha256 을 재생성했습니다. 손으로 편집한 파일은 없습니다.

결과는 주장이 아니라 검증됩니다

재생성한 baseline.sha256 = 50ff03a9… 이고, 이는 루트 develop 8be256a
source-revisions.json이미 기록된 canonical_baseline_sha256 과 같습니다. 양쪽이 독립적으로
계산해 같은 digest 에 도달합니다.

실제 차이 (manifest 방식대로 CRLF 정규화 후)

  • 마이그레이션 8개가 여기 아예 없었습니다 — backtest run outcome detail 부터 production RSI
    timeframe seed 까지
  • R__database_runtime_grants.sql — backend #241·#246·#249 가 하나도 반영되지 않은 상태였습니다
    (배치 역할의 쓰기 권한, backtest 역할의 operations·bot 읽기)

저를 속인 것도 기록해 둡니다

바이트 단위 비교는 공통 45개 전부가 다르다고 보고했습니다. 줄바꿈 차이뿐이었습니다. manifest 가
CRLF→LF 를 정규화하는 이유가 정확히 이것이고, 같은 방식으로 비교하니 실제 차이는 1개 + 없는 8개로
줄었습니다. 이슈에 "복사할 파일은 하나뿐" 이라고 적었던 것은 틀렸고 이 커밋이 그 정정입니다.

검증

CanonicalBaselineContractTest  통과
./gradlew test (전체)          BUILD SUCCESSFUL in 7m 22s

이 저장소는 2026-08-09 2인 재분배로 kcrmin 소유가 되었고, 그래서 이 재벤더링이 더 이상 다른 소유자를
기다리지 않습니다.

🤖 Generated with Claude Code

The vendored copy had drifted eight migrations behind the assembled bundle, and its
grants file predated three grant fixes. CanonicalBaselineContractTest was failing on any
branch here, which blocked this repository's CI regardless of what the change was.

Re-vendored per db/canonical-baseline/README.md: the assembled bundle copied verbatim,
baseline.manifest and baseline.sha256 regenerated. Nothing was hand-edited.

The result is checkable rather than asserted: the regenerated baseline.sha256 is
50ff03a9…, which equals canonical_baseline_sha256 already recorded in the root bundle's
source-revisions.json at root develop 8be256a. Both sides now agree on the same digest,
computed independently.

What actually differed, after normalising CRLF the way the manifest does:

- eight migrations absent here entirely, from backtest run outcome detail through the
  production RSI timeframe seeds
- R__database_runtime_grants.sql, which had none of backend #241, #246 or #249 — the
  grants for the batch role's writes and the backtest role's operations and bot reads

Worth recording because it misled me first: a raw byte comparison reported all 45 shared
files as different. That was line endings alone. The manifest normalises CRLF to LF for
exactly this reason, and comparing the same way reduced the real difference to one file
plus the eight absent ones. I had told the trading-engine issue that a single file needed
copying; that was wrong, and this commit is the correction.

Verified: CanonicalBaselineContractTest passes, and the full ./gradlew test suite passes
in 7m22s.

This repository moved to kcrmin in the 2026-08-09 two-owner split, which is why the
re-vendor no longer waits on another owner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kcrmin
kcrmin merged commit 01e5531 into develop Aug 9, 2026
2 checks passed
@kcrmin
kcrmin deleted the chore/re-vendor-canonical-baseline branch August 9, 2026 03:24
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