Commit 6fb1482
committed
Rebase missing-order reconciliation gate onto monotonic receipt time
`handle_missing_order` had a recency gate comparing the order's venue
`ts_last` against `self.clock` now - a cross-axis compare that #4376
hardened against underflow but left on the trading clock. Under a
custom live/sandbox clock factory the trading clock is not wall-paced
(it can run accelerated or sit on a foreign epoch), so that window did
not measure the real settling time it was meant to, and a corrupt
far-future `ts_last` could stall the order's reconciliation.
Drop the venue-`ts_last` gate. The missing-order settling window is now
solely the monotonic `order_local_activity` recency gate (the
`RecencyMap` from the recency-map consolidation), which measures real
receipt-time elapsed at any clock speed. This also removes the
warn-and-defer arm #4376 added for a far-future `ts_last`: with the
cross-axis gate gone there is no longer a failure mode to warn about -
the order simply reconciles once the real grace expires.
Audit of the remaining live timers for the same class: the cache-purge
intervals are deliberately left on the ExecutionEngine clock-timer path
so they stay controlled by the injected Clock for custom-clock callers;
a comment and a conversion test now pin that. Data-engine, order
emulator, and core timing stay domain/deterministic, and
`snapshot_positions_interval_secs` is left as-is (no live monotonic
replacement).
The missing-order test becomes a differential paused-time case: with a
far-future venue `ts_last` present throughout, recent local activity
defers, and after the monotonic grace expires reconciliation proceeds.
Coded by an LLM.1 parent e1f9f36 commit 6fb1482
3 files changed
Lines changed: 50 additions & 38 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1670 | 1670 | | |
1671 | 1671 | | |
1672 | 1672 | | |
1673 | | - | |
1674 | | - | |
1675 | | - | |
1676 | | - | |
1677 | | - | |
1678 | | - | |
1679 | | - | |
1680 | | - | |
1681 | | - | |
1682 | | - | |
1683 | | - | |
1684 | | - | |
1685 | | - | |
1686 | | - | |
1687 | | - | |
1688 | | - | |
1689 | | - | |
1690 | | - | |
1691 | | - | |
1692 | | - | |
1693 | | - | |
1694 | | - | |
1695 | | - | |
1696 | | - | |
1697 | | - | |
1698 | | - | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
1699 | 1676 | | |
1700 | 1677 | | |
1701 | 1678 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
501 | 501 | | |
502 | 502 | | |
503 | 503 | | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
504 | 508 | | |
505 | 509 | | |
506 | 510 | | |
| |||
1285 | 1289 | | |
1286 | 1290 | | |
1287 | 1291 | | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
1288 | 1298 | | |
1289 | 1299 | | |
1290 | 1300 | | |
| |||
1293 | 1303 | | |
1294 | 1304 | | |
1295 | 1305 | | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
1296 | 1312 | | |
1297 | 1313 | | |
1298 | 1314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7617 | 7617 | | |
7618 | 7618 | | |
7619 | 7619 | | |
7620 | | - | |
7621 | | - | |
7622 | | - | |
7623 | | - | |
7624 | | - | |
| 7620 | + | |
| 7621 | + | |
| 7622 | + | |
| 7623 | + | |
| 7624 | + | |
| 7625 | + | |
| 7626 | + | |
| 7627 | + | |
7625 | 7628 | | |
7626 | | - | |
| 7629 | + | |
7627 | 7630 | | |
7628 | 7631 | | |
7629 | 7632 | | |
7630 | 7633 | | |
7631 | 7634 | | |
7632 | 7635 | | |
7633 | 7636 | | |
7634 | | - | |
| 7637 | + | |
7635 | 7638 | | |
7636 | 7639 | | |
7637 | 7640 | | |
7638 | 7641 | | |
7639 | 7642 | | |
7640 | 7643 | | |
7641 | 7644 | | |
7642 | | - | |
| 7645 | + | |
| 7646 | + | |
7643 | 7647 | | |
7644 | | - | |
| 7648 | + | |
| 7649 | + | |
| 7650 | + | |
| 7651 | + | |
| 7652 | + | |
7645 | 7653 | | |
7646 | 7654 | | |
7647 | 7655 | | |
| |||
7654 | 7662 | | |
7655 | 7663 | | |
7656 | 7664 | | |
7657 | | - | |
7658 | | - | |
| 7665 | + | |
| 7666 | + | |
| 7667 | + | |
7659 | 7668 | | |
7660 | 7669 | | |
7661 | 7670 | | |
| |||
7664 | 7673 | | |
7665 | 7674 | | |
7666 | 7675 | | |
7667 | | - | |
| 7676 | + | |
| 7677 | + | |
| 7678 | + | |
| 7679 | + | |
| 7680 | + | |
| 7681 | + | |
| 7682 | + | |
| 7683 | + | |
| 7684 | + | |
| 7685 | + | |
| 7686 | + | |
7668 | 7687 | | |
7669 | 7688 | | |
7670 | 7689 | | |
| |||
0 commit comments