Skip to content

Feat/genesis fix: deterministic genesis tie-break and topic reset#4

Open
St4NNi wants to merge 8 commits into
mainfrom
feat/genesis-tiebreak
Open

Feat/genesis fix: deterministic genesis tie-break and topic reset#4
St4NNi wants to merge 8 commits into
mainfrom
feat/genesis-tiebreak

Conversation

@St4NNi

@St4NNi St4NNi commented Jul 7, 2026

Copy link
Copy Markdown
Member

This is a genesis collision issue where two genesis blocks are created on different nodes preventing them from ever merging.

Related: arunaengine/aruna#309, arunaengine/aruna#310

Summary

  • Add deterministic genesis collision handling so nodes pick the smaller valid genesis op id and converge on the same topic chain.
  • Add storage reset primitives for memory and fjall, including atomic reset-and-admit for adopting the winning genesis.
  • Surface evicted losing-chain payloads through TopicEviction and optional iroh eviction sinks so embedders can re-emit them on the winning chain.
  • Purge losing pending ops and clear stale per-topic sync state so ack clocks can converge after reset.
  • Add coverage for tie-break symmetry, reset completeness, pending-op edge cases, fjall reset behavior, and iroh eviction forwarding.

@St4NNi St4NNi force-pushed the feat/genesis-tiebreak branch from 2e90cfa to 8d447a8 Compare July 7, 2026 11:58

@das-Abroxas das-Abroxas left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice changes that strengthen the sync and collision-handling path so the system behaves more predictably and safely under competing topic histories. lgtm.

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.

2 participants