feat(execution): reconcile timed-out orders safely
This commit is contained in:
@@ -64,6 +64,11 @@ class Slot:
|
||||
# across ticks and restarts.
|
||||
cancel_state: Optional[str] = None
|
||||
cancel_requested_at: Optional[datetime] = None
|
||||
# Immutable dispatch clock and original KST order date. Unlike updated_at,
|
||||
# these survive polling/cancel bookkeeping and anchor deadline/recovery.
|
||||
order_submitted_at: Optional[datetime] = None
|
||||
order_date: Optional[str] = None
|
||||
cancel_attempts: int = 0
|
||||
|
||||
|
||||
# Canonical column contract for `Slot` (dcy-001 OQ-2 / FR-5).
|
||||
@@ -95,6 +100,9 @@ EXPECTED_SLOT_FIELDS: frozenset[str] = frozenset({
|
||||
"venue",
|
||||
"cancel_state",
|
||||
"cancel_requested_at",
|
||||
"order_submitted_at",
|
||||
"order_date",
|
||||
"cancel_attempts",
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user