Skip to content

Conformance: align safe-target + migration ordering with leanSpec PR #680 #229

@dimka90

Description

@dimka90

Spec gap

leanSpec PR #680 (leanEthereum/leanSpec#680) tightens the interval-3 safe-target contract: update_safe_target reads from the new pool only (availability signal). Counting the merged new + known view lets safe target advance on stale evidence from earlier slots.

zeam was the reference implementation the spec was aligned to (see blockblaz/zeam#779); lean and nlean already follow that pattern. This issue tracks gean's adoption.

Where gean diverges

node/tick.go:158updateSafeTarget calls ExtractLatestAllAttestations (the merged new + known accessor). Should use the new pool only.

Acceptance criteria

  • updateSafeTarget reads from the new pool only.
  • LEAN_SPEC_COMMIT_HASH bumped to a leanSpec commit including PR #680.
  • Spec test fixtures regenerate cleanly; all existing spec tests still pass.
  • Regression test mirroring leanSpec test_safe_target_ignores_known_pool_at_interval_3 is added.
  • Implementation pattern mirrors zeam's tickIntervalUnlocked for cross-client consistency on the interval-0 / interval-3 / interval-4 sequencing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions