Skip to content

Implement Sweep & Cross UMDF trade subtype#527

Merged
pedrosakuma merged 3 commits into
mainfrom
feat/501-sweep-cross-wire-conformance
Jun 20, 2026
Merged

Implement Sweep & Cross UMDF trade subtype#527
pedrosakuma merged 3 commits into
mainfrom
feat/501-sweep-cross-wire-conformance

Conversation

@pedrosakuma

Copy link
Copy Markdown
Owner

Part of #501 (GAP-30).

Summary

  • mark Sweep & Cross AgainstBook sweep-phase UMDF Trade_53 frames with TrdSubType=SWEEP_TRADE (109)
  • keep regular/non-sweep trades at the UMDF NULL sentinel (255)
  • update GAP-30 compliance docs to record implemented vs remaining wire work

Notes

  • Matching behavior is unchanged.
  • Commands.cs enums and snapshot codec are unchanged.
  • EntryPoint ER crossType/crossPrioritization echo is deferred to a follow-up because clean implementation requires extending the Core↔Gateway outbound contract and buffered IOC ER context; this PR stays scoped to the primary UMDF conformance item.

Validation

  • dotnet restore SbeB3Exchange.slnx
  • dotnet build SbeB3Exchange.slnx --no-restore -c Release
  • dotnet test SbeB3Exchange.slnx --no-build -c Release
  • dotnet format SbeB3Exchange.slnx --verify-no-changes --no-restore --severity warn
  • dotnet test SbeB3Exchange.slnx -c Debug

@pedrosakuma pedrosakuma marked this pull request as ready for review June 20, 2026 20:20
@pedrosakuma pedrosakuma force-pushed the feat/501-sweep-cross-wire-conformance branch from 6835e82 to f3ab3cc Compare June 20, 2026 21:03
@pedrosakuma pedrosakuma changed the base branch from main to fix/514-parked-stop-cancel-er-fidelity June 20, 2026 21:03
Base automatically changed from fix/514-parked-stop-cancel-er-fidelity to main June 20, 2026 21:14
pedrosakuma and others added 3 commits June 20, 2026 21:15
Part of #501. Mark sweep-phase AgainstBook UMDF Trade_53 frames with TrdSubType=SWEEP_TRADE (109) while preserving NULL for regular trades. Update GAP-30 compliance notes and tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Scope sweep UMDF tagging and filled-quantity accumulation to trades whose aggressor identity matches the sweep order. This prevents triggered-stop cascades emitted during SubmitCrossSweep from receiving TrdSubType=SWEEP_TRADE or shrinking the phase-2 residual. Also clear sweep state in a finally block if the engine throws.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Classify sweep-phase trades by the engine-assigned aggressor OrderId instead of client ClOrdId/firm so triggered stops with reused client identities cannot be tagged or accumulated as sweep fills.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pedrosakuma pedrosakuma force-pushed the feat/501-sweep-cross-wire-conformance branch from f3ab3cc to 7a13f9e Compare June 20, 2026 21:15
@pedrosakuma pedrosakuma merged commit 767471b into main Jun 20, 2026
6 checks passed
@pedrosakuma pedrosakuma deleted the feat/501-sweep-cross-wire-conformance branch June 20, 2026 21:19
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.

1 participant