System study / 02 · SHAD0W
When is a decision
allowed to act?
Chronology is a contract. A decision cannot execute against the closing observation that made it possible.
Source and tests inspected at published main ed773c5. Project tests were not rerun in this portfolio pass.
Live-data support is implemented; an observed live session is not established here.
Availability comes before eligibility.
A completed bar becomes an observation; a strategy derives a signal from it. Even if the event ordering places the signal before an execution opportunity, equal timestamps remain ineligible. The opportunity must be strictly later than signal availability.
-
01 / Observation available
The bar completes.
Its closing data can now inform a decision.
-
02 / Signal created
Record availability.
The signal carries the time its inputs became available.
-
03 / Same timestamp
Execution ineligible.
That same close cannot execute the decision it just informed.
-
04 / Strictly later
Eligibility opens.
A later opportunity may qualify. A fill and risk admission are separate decisions.
Chronological eligibility implementation · Timeline regressions
Eligibility is not a fill.
The timeline records whether an opportunity is chronologically legal. Lifecycle simulation separately tracks pending actions and execution outcomes. A fill can consume an action; merely becoming eligible does not.
Execution economics model costs and slippage separately from signal creation. Keeping those boundaries explicit makes a replay inspectable without treating a signal as an executed trade.
Lifecycle transitions · Lifecycle tests · Execution economics
Risk admission has its own authority.
A strategy proposal does not authorize its own execution. Independent paper-risk admission checks the proposal against risk state and limits. Chronological eligibility, risk authorization, and a simulated fill remain separate decisions.
Risk authority decision · Admission gate · Adversarial risk tests
External data still needs a boundary.
Market-data shadow ingestion records observations and control events for replay. Application receipt time stays distinct from provider time. The adapter observes market data; it has no live-capital order-submission surface.
A sparse acknowledgement exposed an assumption.
A provider can omit unused subscription channels. Requiring those empty fields rejects an otherwise valid acknowledgement. The adapter accepts their absence while requiring exact requested bar and quote symbols and rejecting unexpected populated channels. Regression tests cover the sparse response.
Subscription boundary · Ingestion and replay entry point · Stream and replay tests
Implemented support. Bounded evidence.
This study is based on source and test inspection at ed773c51c9a75bb2ae2a00a4222c5992329d441f. It
does not establish a successful live session, profitability, real execution quality, or live-capital safety.