QUARANTINEZ

treating an outcome the venue never confirmed as terminal rather than as a retry.

An outcome nobody can confirm is not a failure to retry. It is a terminal state, and no code path here escapes it except to a quarantine record naming a person.

Tests
91
Python
3.11 to 3.13
Release
v0.1.0
Licence
MIT

The demo, as it really ran

$ uv run python examples/venue_session.py

Five orders against five venues. Only one of them ends with an answer.

>>> place(order, venue='well behaved')
    FILLED

>>> place(order, venue='accepts then goes quiet')
    UNKNOWN via SILENCE

>>> place(order, venue='acknowledges twice')
    UNKNOWN via DOUBLE_ACK

>>> place(order, venue='answers about something else')
    UNKNOWN via FOREIGN_ID

>>> place(order, venue='fills a quantity nobody sent')
    UNKNOWN via UNASKED_QUANTITY

4 of 5 ended unconfirmed. None of them is a failure to retry:
each is a terminal state, and each is handed to a person by name.

The breaker, walked over the committed marks. Every number below is invented.

  date        mark    drawdown  breaker   obligation
  2026-01-15   108.4     0.000  ARMED     NONE
  2026-01-26    96.1     0.113  TRIPPED   OPEN
  2026-01-27    94.7     0.126  TRIPPED   OPEN
  2026-01-28    93.2     0.140  TRIPPED   OPEN
  2026-01-29    92.1     0.150  TRIPPED   UNKNOWN
  2026-01-30    93.4     0.138  TRIPPED   UNKNOWN
  2026-02-02    94.8     0.125  TRIPPED   UNKNOWN
  2026-02-03    95.6     0.118  TRIPPED   UNKNOWN
  2026-02-04    96.9     0.106  TRIPPED   UNKNOWN
  2026-02-05    97.7     0.099  TRIPPED   UNKNOWN

The breaker tripped on 2026-01-26 and the position stayed open past the window, so the obligation is UNKNOWN.
Flattening afterwards leaves it UNKNOWN.
A window that closed with exposure open is a fact about the past, and closing the
position later does not reach back into it.

Output captured on 2026-08-26. It is committed to the repository and a test fails when it stops matching a live run, so this page cannot quietly drift from the code it describes.

Read it

The rest of the toolset