Skip to content

Fence startup recovery phases before entering live mode #1684

Closed

Description

@hmzakhalid

Audit reference: I40

What can go wrong

Startup phases could overlap: recovered events might run before effects were safely enabled, or live mode might begin before all recovery history was observed.

When it happens

The race sits between schema/snapshot recovery, EffectsEnabled, event replay, and SyncEnded during every restart.

What changed

The event system now flushes at each phase boundary: effects enablement, recovered history, then live synchronization completion.

Why the change works

A later phase cannot overtake queued work from the previous phase, so actors see one stable startup sequence.

Checks

The observable startup-phase ordering regression passes.

Activity

  1. added
    bugSomething isn't working
    ciphernodeRelated to the ciphernode package
    on Jul 11, 2026
  2. hmzakhalid commented on Jul 13, 2026

    @hmzakhalid
    CollaboratorAuthor

    Fixed in 165774580a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingciphernodeRelated to the ciphernode package

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions