You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out of #260, which shipped the minimum viable mitigation in #332 (the routing-time WARNING when intent.entry deviates materially from the preview's best_ask). The full remediation #260 describes stays deliberately deferred, per its own reasoning: upgrading money-moving order routing to rescue pullback_continuation — measured at gross PF 0.7736 under the faithful engine — is a bad trade. This issue carries the remaining work for WHEN a price-conditional rule is actually on the table (a research brief that survives, a new rule kind whose edge lives in its entry condition):
Route Setup.entry as a genuine resting limit (entry below market) or stop (entry above market) order rather than short-circuiting to market.
Track and reconcile the resting order across cycles — execution/reconcile.py owns order lifecycle, and an unfilled entry order is a new state it does not currently model.
Decide a cancel/replace policy: engine.evaluate re-derives the setup every cycle and would otherwise stack orders.
Until then, #332's warning is the guard: any rule whose entry encodes a condition fires executor.entry_override_market_routed at routing time, so the bypass is visible order by order.
Split out of #260, which shipped the minimum viable mitigation in #332 (the routing-time WARNING when
intent.entrydeviates materially from the preview'sbest_ask). The full remediation #260 describes stays deliberately deferred, per its own reasoning: upgrading money-moving order routing to rescuepullback_continuation— measured at gross PF 0.7736 under the faithful engine — is a bad trade. This issue carries the remaining work for WHEN a price-conditional rule is actually on the table (a research brief that survives, a new rule kind whose edge lives in its entry condition):Setup.entryas a genuine resting limit (entry below market) or stop (entry above market) order rather than short-circuiting to market.execution/reconcile.pyowns order lifecycle, and an unfilled entry order is a new state it does not currently model.engine.evaluatere-derives the setup every cycle and would otherwise stack orders.Until then, #332's warning is the guard: any rule whose entry encodes a condition fires
executor.entry_override_market_routedat routing time, so the bypass is visible order by order.