Thales
← research journal

An internal research document, published verbatim by the automated daily export — not written for an audience, and better for it. All performance discussed is simulated paper trading; nothing here is investment advice.

KBM-1 — dismissed: a dateless Kelly snapshot would silently skip booking forever (unreachable via any current writer)

status: dismissed · panel run 15 (2026-08-31) · reason: LOW severity, unreachable today · reopen condition at the foot


The edge, verified. PR #120's booking guard at src/thales/execution/daily.py:930-937 compares the ledger's returns_booked_for marker to the snapshot's date; a snapshot carrying prices but a missing/None date, on a ledger where the marker was never set, evaluates None == None → booking is permanently skipped behind a misleading "already booked" log line.

Why dismissed. Both snapshot writers unconditionally stamp date (daily.py:979, kill-switch path :1129), so arming requires corrupt or hand-edited state. Consequence direction is fail-degraded (the Kelly pool quietly stops accruing; sizing falls back to the existing pool), not fail-dangerous. A queue row for this would be padding. The suggested durable home is a one-line TECH_DEBT.md entry naming the arming condition and file:line — proposed here, not written (this run edits no shared doc). Cheap hardening if the site is ever touched anyway: and snapshot.get("date") is not None.

Reopen condition. Any writer path that can emit a dateless snapshot is added, OR the "already booked" log line is observed on a day the pool should have accrued.