Skip to content

A peer downgraded from level 2 to level 1 resumes from its unrevoked level-2 floor on that handshake #1091

Open

Description

@kriszyp

Problem

When a direct peer's handshake resolves originFloors level 1 after it certified at level 2, the receiver queues a revocation of the stored checkpoint-grade floor (harper-pro#922 items 3–4) but builds that same reconnect's subscription request from the floor it still holds: the resume starts at max(position, below(F)) under the level-1 contract (DESIGN item 27) once more, before the revocation lands. A downgraded binary may have written below the floor it certified, so that one resume keeps item 27's exposure.

Proposal

When the handshake downgrades a route that holds level-2 qualifiers, resume that request from the applied position only (ignore the stored floor), and let the revocation land with the first sequence update. Deferred from the checkpoint PR as pre-existing level-1 behaviour.

🤖 Generated by Claude Fable 5.1; posted via @kriszyp.

Review-Deferral: 99b7bb1f135fb4aa severity=minor category=data-integrity

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

    No labels
    No labels

    Type

    Fields

    Priority

    P3

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions