Skip to content

fix(fork): explicitly pin fork profile to base = "cobalt" - #217

Closed
rayyan224 wants to merge 1 commit into
mainfrom
fix/beryl-harness-for-shared-anvil
Closed

fix(fork): explicitly pin fork profile to base = "cobalt"#217
rayyan224 wants to merge 1 commit into
mainfrom
fix/beryl-harness-for-shared-anvil

Conversation

@rayyan224

Copy link
Copy Markdown
Collaborator

Summary

base = true in [profile.fork] relied on the base-anvil's DEFAULT_BASE_UPGRADE at build time. As of base-anvil PR #71 that default is Cobalt — correct today — but a future default bump would silently break Cobalt fork tests.

Pins to base = "cobalt" to make the intent explicit.

Context

This is the same fix pattern applied to the frozen Beryl snapshot (beryl-harness-patch), where base = "beryl" was required because the new shared base-anvil defaults to Cobalt. Pinning both snapshots to their explicit hardfork name removes the fragile implicit dependency.

Test plan

  • Cobalt fork tests continue to pass (behavior unchanged today, just explicit)

🤖 Generated with Claude Code

base = true resolved to the base-anvil's DEFAULT_BASE_UPGRADE at
build time. As of base-anvil PR #71, that default is Cobalt — which
happens to be correct today — but relying on an implicit default is
fragile. Pinning to "cobalt" makes the intent explicit and ensures a
future DEFAULT_BASE_UPGRADE bump doesn't silently change test behavior.

Mirrors the same fix applied to the frozen Beryl snapshot
(beryl-harness-patch), where base = "beryl" is required.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Interface Coverage

✅ All interface functions have test coverage.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

📊 Forge Coverage (src/lib/)

🟡 ≥95% across all metrics — some metrics below 99%.

File Lines Stmts Branches Funcs
🟡 B20FactoryLib.sol 97.70% 98.00% 100.00% 95.00%
🔴 test/lib/ForceFeeder.sol 0.00% 0.00% 100.00% 0.00%
🔴 test/lib/PrecompileProbe.sol 0.00% 0.00% 0.00% 0.00%
🟢 MockActivationRegistry.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockActivationRegistryStorage.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20Asset.sol 100.00% 100.00% 100.00% 100.00%
🟡 MockB20Factory.sol 98.96% 99.10% 100.00% 100.00%
🟢 MockB20Stablecoin.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20Storage.sol 100.00% 100.00% 100.00% 100.00%
🟡 MockPolicyRegistry.sol 100.00% 99.54% 97.67% 100.00%
🟢 MockPolicyRegistryStorage.sol 100.00% 100.00% 100.00% 100.00%
Total 97.07% 97.52% 98.16% 97.00%

Full report: download artifact. To browse locally: make coverage (runs forge coverage + genhtml + opens the HTML report).

@rayyan224

Copy link
Copy Markdown
Collaborator Author

Closing — no change needed on main. base = true correctly tracks the current default and will be updated intentionally when a new hardfork becomes the default. The pinning fix only applies to the frozen beryl-harness-patch snapshot.

@rayyan224 rayyan224 closed this Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

✅ Fork tests: all 725 passed

base/base is fully in sync with the base-std spec.

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