--- tags: - leanSpec - weekly-report - ethereum/consensus created: "2026-05-02" period: "2026-04-25 ~ 2026-05-02" repo: leanEthereum/leanSpec pr_count: 13 --- # leanSpec Weekly Report (Apr 25 – May 2, 2026) > Auto-generated weekly summary of merged PRs in [leanEthereum/leanSpec](https://github.com/leanEthereum/leanSpec) ## Overview This is an automated summary of 13 merged PRs. ## Merged PRs ### Other | PR | Title | Author | Merged | Changes | |----|-------|--------|--------|---------| | [#700](https://github.com/leanEthereum/leanSpec/pull/700) | refactor(forks): rename GOSSIP_DIGEST from devnet0 to 12345678 | @Andrurachi | May 2 | +5 -5 | | [#695](https://github.com/leanEthereum/leanSpec/pull/695) | refactor(forks): move fork-stable types to lean_spec.types (Stage 2 of #686) | @tcoratger | May 1 | +269 -395 | | [#691](https://github.com/leanEthereum/leanSpec/pull/691) | feat: add BlocksByRange req/resp protocol | @akronim26 | Apr 30 | +1946 -43 | | [#694](https://github.com/leanEthereum/leanSpec/pull/694) | refactor(forks): tighten ForkProtocol surface (Stage 1 of #686) | @tcoratger | Apr 30 | +77 -45 | | [#638](https://github.com/leanEthereum/leanSpec/pull/638) | feat: add multi-fork architecture with ForkProtocol and SpecRunner | @tcoratger | Apr 30 | +1190 -800 | | [#692](https://github.com/leanEthereum/leanSpec/pull/692) | test(fc): tighten non-zero finality and equivocation test vectors | @tcoratger | Apr 29 | +60 -16 | | [#690](https://github.com/leanEthereum/leanSpec/pull/690) | test: add fork choice and block production test vectors for non-zero finality and equivocation | @uink45 | Apr 29 | +417 -0 | | [#682](https://github.com/leanEthereum/leanSpec/pull/682) | forkchoice: tighten validate_attestation future-slot bound | @tcoratger | Apr 28 | +411 -49 | | [#687](https://github.com/leanEthereum/leanSpec/pull/687) | refactor(client): split event_source.py into a package | @tcoratger | Apr 27 | +630 -577 | | [#684](https://github.com/leanEthereum/leanSpec/pull/684) | refactor: order Checkpoint by slot to drop max() lambda noise | @tcoratger | Apr 26 | +82 -12 | | [#683](https://github.com/leanEthereum/leanSpec/pull/683) | chore: sweep dead helpers across subspecs | @tcoratger | Apr 26 | +43 -1197 | | [#678](https://github.com/leanEthereum/leanSpec/pull/678) | test(fc): store from anchor rejects mismatched state root | @mananuf | Apr 26 | +104 -2 | | [#680](https://github.com/leanEthereum/leanSpec/pull/680) | forkchoice: use only the "new" pool for update_safe_target | @ch4r10t33r | Apr 25 | +38 -63 | **Summary**: PRs could not be automatically categorized. ## Key Themes Unable to generate themes due to analysis error. ## Stats - Total PRs: 13 - Contributors: 6 - Lines changed: +5272 / -3204