chore(deps): bump signet-sdk family to gouda cohort#277
Merged
Conversation
Captures the approved design for bringing the builder into the gouda rollup cohort alongside signet PR #105: dep pins switch to git-rev against the 0.19-family cohort SHAs, inline API porting for the 0.16→0.19 jump, local arm64 image build pushed to ECR. K8s manifest changes and CI workflow arch audit are explicitly out of scope. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7-phase plan (A through G): worktree verify, Cargo.toml dep bump, iterative API porting against the 0.16->0.19 jump, lint/fmt/doc/test gates, local arm64 buildx image, ECR push with dual arch verification, draft PR + parmigiana progress doc update. Includes explicit stop-and- surface triggers for transitive dep conflicts, structural API changes, arm64 manifest poisoning, and unknown ECR repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- init4-bin-base @ b2f92e4 (bin-base#149)
- signet-{constants,sim,tx-cache,types,zenith} @ ecce6a4 (signet-sdk#236)
- signet-{block-processor,genesis} @ 752fa4a (node-components#144)
- signet-bundle (dev-dep) @ ecce6a4
Matches the lockstep pin set used by signet#105 cut 4. Build/test fixes
follow in subsequent commits.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Unify signet-sdk git revs to full hash (ecce6a48…) so they match node-components and bin-base transitive deps; bump rust-version to 1.92; add [patch.crates-io] to redirect crates.io 0.18 signet-sdk packages to the git 0.19 versions (not effective yet — resolved via direct usage); remove signet-block-processor dep (revm_spec removed upstream); bump roaring 0.11.3→0.11.4 to fix Clone bound on Iter. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cfg.rs: remove dependency on signet_block_processor::revm_spec (removed upstream); inline equivalent spec-ID logic using EthereumHardforks trait directly from reth_chainspec. bundle.rs: replace init4_bin_base::perms::tx_cache::BuilderTxCache (wraps crates.io signet-tx-cache 0.18) with local BundleClient using signet-tx-cache 0.19 git types; this eliminates the nominal type mismatch between 0.18 CachedBundle/TxRequirement and signet-sim 0.19 check_bundle_tx_list. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Restore `pub` visibility on `BundleCacheError` and `BundlePoller::check_bundle_cache` — Phase C narrowed both to `pub(crate)` which broke the integration test in `tests/`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… doc) - Cargo.toml: add comment block above [patch.crates-io] explaining why it's active (init4-bin-base's transitive deps pull crates.io 0.18 copies of signet-evm/extract/journal; patch redirects our direct resolution to the 0.19 git rev). Patch does not bridge init4-bin-base's own internal 0.18 sub-graph, which is why BundleClient is needed. - src/tasks/cache/bundle.rs: switch BundleClient::get_bundles from #[instrument(skip_all)] to #[instrument(skip(self))] to match the repo CLAUDE.md tracing convention. - .claude/CLAUDE.md: bump documented MSRV from 1.88 to 1.92 to reflect the actual change forced by init4-bin-base @ b2f92e4. - Cargo.lock: drop orphan full-SHA pin (kept short-rev b2f92e4 to match node-components @ 752fa4ad which itself references bin-base by the short rev — using the full rev would split the lock into two init4-bin-base entries despite resolving to the same commit). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase C's replacement of signet_block_processor::revm_spec used reth's
ChainSpec-based hardfork lookup, which requires per-chain genesis
registration. The chainspec() match arm only listed parmigiana and
mainnet rollup chain ids; constructing a SignetCfgEnv with the gouda
rollup chain id (792669) fell through to the catch-all
unimplemented!("Unknown chain ID: 792669"), crashing the simulator
on first block environment update.
- Add gouda::RU_CHAIN_ID to the rollup match arm.
- Add gouda::RU_CHAIN_ID -> GOUDA_GENESIS in initialize_ru_chainspec.
- Add gouda_cfg_env_does_not_panic regression test.
Host chain id is unchanged from parmigiana (3151908) so the host arm
already covers gouda's host without modification.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Evalir
requested changes
May 21, 2026
Member
Evalir
left a comment
There was a problem hiding this comment.
there's a bunch of unnecessary code this pr added—can we roll this back?
Replaces the git-rev pins added earlier in this PR with the now-published
releases:
- init4-bin-base 0.23.1 (was git b2f92e4)
- signet-{constants,sim,tx-cache,types,zenith,bundle} 0.19.0
(was git ecce6a4 on init4tech/signet-sdk)
- signet-genesis 0.19.0 (was git 752fa4a on init4tech/node-components;
v0.19.0 lifts GOUDA_GENESIS into the published release)
Drops the active [patch.crates-io] block — bin-base 0.23.1 now pins
signet-tx-cache 0.19.0 itself, so the diamond-dep duplication that
motivated the patch no longer exists. The commented dev-local patch
block (path = …) is preserved unchanged.
Bumps the builder package version 1.0.0 -> 1.3.0.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ache The shim was a workaround for init4-bin-base pinning signet-tx-cache 0.18.0 while we ran 0.19.0 from a git rev. With init4-bin-base 0.23.1 now itself pinning signet-tx-cache 0.19.0, the type mismatch is gone and the shim adds nothing — reverting to BuilderTxCache / BuilderTxCacheError keeps this PR a pure dep bump. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
main moved while this PR was open (now at v1.2.0 with signet-sdk 0.18.0 and SSE-streaming bundle/tx pollers). Resolutions: - Cargo.toml: keep our 1.3.0 + 0.19.0 cohort; carry over from main the `sse` feature on init4-bin-base, `signet-evm` as a direct dep, and `metrics-util` dev-dep. - src/tasks/cache/bundle.rs: take main's SSE-streaming BundlePoller as-is. The shim revert from 76b4534 is moot — main already migrated away from the polling-based BuilderTxCache shape that the shim was working around. - src/tasks/block/cfg.rs: take main's `EthereumHardfork::active_hardforks` spec_id (signet-evm 0.19.0 still ships this API); keep our gouda chainspec arm and GOUDA_GENESIS import; update the gouda regression test for the new 3-arg `SignetCfgEnv::new` signature. - Cargo.lock: regenerated by cargo build. Also drops `docs/superpowers/{plans,specs}/2026-05-18-gouda-builder-deps-bump*.md` — working artifacts from the original implementation that don't belong in the merged history. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Evalir
approved these changes
May 21, 2026
Address PR review comment to use semver-compliant 2.0.0 for the breaking changes in the gouda cohort dependency bump. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI runs with test-all-features: false, so the integration tests in tests/ (all gated behind #![cfg(feature = "test-utils")]) don't compile, and nothing in the unit test job needs anvil/forge/cast. Meanwhile foundryup's "nightly" tag rotation broke the install step upstream and was failing the job before any tests ran. Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Summary
Bumps the signet-sdk family to the gouda cohort (now published on crates.io) and adds a Gouda rollup chainspec arm.
init4-bin-basesignet-{constants,evm,sim,tx-cache,types,zenith,bundle}signet-genesisGOUDA_GENESIS)builderpackageCode changes
src/tasks/block/cfg.rs— addgouda::RU_CHAIN_IDarm to the rollup chainspec match (previously panicked at simulator startup withunimplemented!("Unknown chain ID: 792669")) and wireGOUDA_GENESISintoinitialize_ru_chainspec. Adds agouda_cfg_env_does_not_panicregression test.MSRV bump
rust-versionraised1.88→1.92— forced byinit4-bin-base 0.23.1, which declares the same. Reflected in.claude/CLAUDE.mdtoo.Deployment
The previously-pushed image for this PR (
gouda-c19ce64) predates the merge with main and the dep cutover. A re-cut is required before deploying intoparmigiana.Test plan
cargo build --release --bin zenith-builder-examplecargo fmt --all(no diff)make clippy(passes with-D warnings)RUSTDOCFLAGS="-D warnings" cargo doc --no-depsmake test(20/20 unit tests pass)cargo test --features test-utils(binaries compile; 1 runtime testtest_handle_buildrequires live host RPC — pre-existing skip, not a regression)parmigiananamespace (owned by node-ops; out of scope)🤖 Generated with Claude Code