Skip to content

Rejected symplectic steps can overwrite the accepted state #468

Description

@krystophny

Reproduction

Inject a nonzero symplectic microstep status after mutating trial state, then return through both macrostep paths.

Expected

A rejected step retains the last accepted standard-coordinate state and returns before conversion, collision updates, wall work, or time-index advancement.

Actual

The caller can continue processing the rejected trial state, so output and subsequent operations no longer describe the last accepted trajectory point.

Environment

SIMPLE main before PR #456; symplectic guiding-centre modes.

Evidence

PR #456 adds a forced-rejection regression covering both macrostep paths. It preserves every accepted-step numerical and physical contract, including the output schema.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions