chore(check-abi-drift): skip AAStarBLSAlgorithm name-collision (mirror #301)#302
chore(check-abi-drift): skip AAStarBLSAlgorithm name-collision (mirror #301)#302jhfnetboy wants to merge 1 commit into
Conversation
…#301) check:abi-drift is a second drift script separate from abi:sync and had the same name-collision blind spot: it diffed the SDK's AAStarBLSAlgorithm.json (which tracks the YetAnotherAA-Validator DVT contract with registerWithProof) against airaccount-contract's same-named-but-unrelated aggregator artifact, producing a false-positive DRIFT and failing the gate. Add the same NAME_COLLISIONS skip introduced in scripts/abi-sync.ts (#301) so both drift checks agree. Verified: `pnpm run check:abi-drift` -> PASS. See CC-27 for the upstream rename decision. Claude-Session: https://claude.ai/code/session_01HNw7f92HzUUCSFgJi7o1WV
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
clestons
left a comment
There was a problem hiding this comment.
aastar-sdk#302 Review — APPROVE
Mirror of #301: applies the same NAME_COLLISIONS skip to scripts/check-abi-drift.ts so both drift gates agree. Rationale is identical — SDK's AAStarBLSAlgorithm.json tracks the DVT registerWithProof contract, not airaccount's same-named aggregator (refactored in v0.27.0).
This script additionally increments skipped++ and emits an ℹ️ log line for the skipped name, which is better observability than abi-sync.ts's silent continue. check:abi-drift → PASS verified.
2-round review (chore mirror of #301, single file). Sonnet verdict.
clestons
left a comment
There was a problem hiding this comment.
aastar-sdk#302 Review — APPROVE
CC-27 跟踪:check-abi-drift.ts 新增 NAME_COLLISIONS 跳过逻辑,镜像 #301 已合并的 abi-sync.ts 同一修复。
AAStarBLSAlgorithm 在 SDK 侧跟踪 YAAA-Validator 的 DVT 合约(含 registerWithProof),而 airaccount-contract 有一个同名但截然不同的聚合器合约(无 registerWithProof)。跳过此 name-collision 防止漂移脚本产生误报,逻辑正确。
已验证:pnpm run check:abi-drift → PASS。无行为变更。
CHORE-track (CI tooling only). PK skipped — trivial additive guard, mirrors approved #301 pattern.
clestons
left a comment
There was a problem hiding this comment.
Review — APPROVE [2-round: 机械核验 + 一致性检查]
check-abi-drift.ts 新增 NAME_COLLISIONS = new Set(['AAStarBLSAlgorithm']),扫描时跳过并 skipped++。无阻断项。
核实结论(非纸面信任):
- 已核对
scripts/abi-sync.ts:55确有完全相同的NAME_COLLISIONSskip(L100 消费)——本 PR 只是把同款一致镜像到 drift 检查侧,两处对齐。 - 跳过理由成立:该检查 diff 的是
airaccount-contract的out/(v0.27.0 已重构成纯 key aggregator,无registerWithProof),而 SDK 实际追踪的是 YAAA-Validator 的同名 DVT 合约——扫错源,对该名只能产生误报,跳过是正确修复而非放松真检查。 - 作用域精确到单个合约名,注释引用 CC-27 + abi-sync.ts,可追溯。
结论
APPROVE — 消除一个已确证的 ABI drift 误报,与 abi-sync.ts 既有 skip 对齐,不影响其它合约的漂移检测。
clestons
left a comment
There was a problem hiding this comment.
APPROVE — correct CI-tooling fix.
Adding AAStarBLSAlgorithm to a NAME_COLLISIONS skip set (with skipped++ accounting and a logged reason) correctly suppresses a false-positive drift: the SDK tracks the YAAA-Validator DVT contract (registerWithProof), while airaccount-contract's same-named contract is the v0.27.0 pure key-aggregator — a distinct source not in the scanned out/ dirs. Mirrors #301 and abi-sync.ts. Drift-check hygiene only, no runtime impact.
— clestons (Opus review)
Follow-up to #301.
check:abi-driftis a second drift script (separate fromabi:sync) that had the identical name-collision blind spot — it diffed the SDK'sAAStarBLSAlgorithm.json(tracks the YetAnotherAA-Validator DVT contract,registerWithProof) against airaccount-contract's same-named-but-unrelated aggregator artifact → false-positive DRIFT, failing the gate.Adds the same
NAME_COLLISIONSskip. Now both drift checks agree.Verification:
pnpm run check:abi-drift→ PASS. All four sync gates green (abi:sync,check:abi,check:addresses,check:abi-drift).Upstream rename decision tracked in Seeder CC-27.
https://claude.ai/code/session_01HNw7f92HzUUCSFgJi7o1WV