piker/tests
Gud Boi 8eb85ad99e Add strict clearing schemas and `OrderState`
Introduce frozen, tagged `msgspec.Struct` payloads alongside the
legacy clearing protocol. Separate startup, request, event and
final result phases, with strict directional Tractor receive sets
and local validation before typed objects enter state or transport.

The pure reducer preserves cancel-before-ack intent, correlates
account/request IDs across edits, deduplicates identified fills and
retains bounded terminal dialogs for late events. Snapshot copies
cannot mutate previously published requests or statuses.

Also,
- require owned accounts, positions and an open-order completion
  barrier before a backend session accepts requests;
- refresh the migration plan against current Piker and Tractor
  branches, preserving the installed dependency pin;
- add 65 offline schema/state/phase tests and eight real actor
  tests for typed traffic, rejection, race handling and bounded
  teardown.
- include AGPL headers and apply the Python style guide across
  protocol code and qualification fixtures.

Ruff and all 73 targeted tests pass on installed Tractor
`5c98ab1f`. Eight IPC tests also pass against local main `5cb600a8`
with its pytest plugin isolated from Piker's duplicate `--ll`
option. Production paper/live adapters and EMS/UI consumers migrate
in subsequent paired changes; no existing endpoint switches here.

(this patch was generated in some part by `codex` using
`gpt-6` (`openai`))
2026-10-05 04:00:45 -04:00
..
_inputs Add first account cumsize test; known to fail Bo 2023-07-14 17:54:13 -04:00
providers Retry incomplete IB schedule coverage 2026-09-24 20:20:20 -04:00
conftest.py Clean test-owned SHM leaks in `pytest` 2026-07-27 18:09:03 -04:00
test_accounting.py Fix `SymbologyCache.search()` key matching 2026-08-27 23:11:43 -04:00
test_backfill_audit_snippet.py Add `xonsh` backfill qualification workflow 2026-07-28 19:41:55 -04:00
test_binance.py Fix Binance USD-M websocket routing 2026-08-26 19:24:37 -04:00
test_brokerd_protocol.py Add strict clearing schemas and `OrderState` 2026-10-05 04:00:45 -04:00
test_cli.py Skip CLI tests due to questrade dependency for now 2021-05-22 15:12:12 -04:00
test_docker_services.py Skip marketstore docker tests, we're gonna drop it.. 2023-06-27 13:42:08 -04:00
test_dpi_font.py fixed spacing 2026-03-17 21:15:19 -04:00
test_ems.py Port service+tests to latest `tractor` APIs 2026-06-10 13:11:05 -04:00
test_ems_ipc.py Add strict clearing schemas and `OrderState` 2026-10-05 04:00:45 -04:00
test_ems_messages.py Add strict clearing schemas and `OrderState` 2026-10-05 04:00:45 -04:00
test_ems_state.py Add strict clearing schemas and `OrderState` 2026-10-05 04:00:45 -04:00
test_feeds.py Update feed test fqmes to use `.<venue>` format 2026-03-24 20:21:29 -04:00
test_fsp_momo.py Formalize `FspStream` and fix builtin call contracts 2026-09-15 12:17:02 -04:00
test_fsp_sync.py Skip unchanged realtime FSP redraws 2026-09-15 12:49:42 -04:00
test_gap_overlays.py Test gap dialogs through a real `tractor` actor 2026-08-17 19:11:03 -04:00
test_history_backfill.py Factor and bound synthetic SHM null repair 2026-09-24 14:58:18 -04:00
test_ib_broker.py Fix string errors in `.ib.broker` relay 2026-08-28 02:52:12 -04:00
test_ib_history.py Preserve IB history request bounds on no data 2026-09-23 14:35:21 -04:00
test_ib_method_proxy.py Raise on IB socket disconnects in proxy and trades 2026-09-17 18:24:17 -04:00
test_ib_trade_events.py Raise on IB socket disconnects in proxy and trades 2026-09-17 18:24:17 -04:00
test_ldshm.py Own gap overlays in chart-local `GapOverlayMngr` 2026-08-14 19:03:11 -04:00
test_questrade.py Spurious first-draft of EG collapsing 2026-01-06 22:27:58 -05:00
test_services.py .data: cut feed layer over to `datad` actors 2026-06-10 13:13:44 -04:00
test_shm_cleanup.py Clean test-owned SHM leaks in `pytest` 2026-07-27 18:09:03 -04:00
test_storage_audit.py Repair first-slot OHLC sentinels in `NativeDB` 2026-07-29 13:30:51 -04:00
test_storage_nativedb.py Expose storage state through `piker store` 2026-07-31 17:26:11 -04:00
test_store_cli.py Simplify `store` series and SHM discovery 2026-08-01 00:34:55 -04:00
test_tsp_analysis.py .tsp: report non-positive timestamp steps 2026-07-24 18:33:06 -04:00
test_watchlists.py Capture the right logger 2019-02-10 17:29:08 -05:00