{"items":[{"level":"info","phase":"queue","message":"Run queued","sequence":1,"timestamp":"2026-10-04T07:26:24.385Z","hasDetails":true,"revision":2,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/1"},{"level":"info","phase":"lifecycle","message":"Run started","sequence":2,"timestamp":"2026-10-04T07:26:24.394Z","hasDetails":false,"revision":4,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/2"},{"level":"info","phase":"snapshot","message":"Restoring clean snapshot","sequence":3,"timestamp":"2026-10-04T07:26:24.394Z","hasDetails":true,"revision":5,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/3"},{"level":"success","phase":"snapshot","message":"Snapshot restored and server is ready","sequence":4,"timestamp":"2026-10-04T07:26:29.714Z","hasDetails":true,"revision":7,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/4"},{"level":"info","phase":"build","message":"Testing STTrader 1.25.250 (built Oct  2 2026)","sequence":5,"timestamp":"2026-10-04T07:26:29.797Z","hasDetails":true,"revision":8,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/5"},{"level":"info","phase":"license","message":"Waiting for trading license readiness","sequence":6,"timestamp":"2026-10-04T07:26:29.803Z","hasDetails":true,"revision":10,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/6"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trading-readiness-startup","sequence":7,"timestamp":"2026-10-04T07:26:29.813Z","hasDetails":false,"revision":12,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/7"},{"level":"success","phase":"assertion","message":"Trading license ready: startup","sequence":8,"timestamp":"2026-10-04T07:26:29.819Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/1","revision":14,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/8"},{"level":"success","phase":"license","message":"Trading license is ready","sequence":9,"timestamp":"2026-10-04T07:26:29.819Z","hasDetails":true,"revision":15,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/9"},{"level":"info","phase":"fixture","message":"Provisioning deterministic trading configuration","sequence":10,"timestamp":"2026-10-04T07:26:29.819Z","hasDetails":false,"revision":16,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/10"},{"level":"success","phase":"fixture","message":"Configured and verified global trading hours: 24x7","sequence":11,"timestamp":"2026-10-04T07:26:29.827Z","hasDetails":true,"revision":17,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/11"},{"level":"success","phase":"fixture","message":"Using existing test brand","sequence":12,"timestamp":"2026-10-04T07:26:29.834Z","hasDetails":true,"revision":18,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/12"},{"level":"success","phase":"fixture","message":"Created symbol category","sequence":13,"timestamp":"2026-10-04T07:26:29.841Z","hasDetails":true,"revision":19,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/13"},{"level":"success","phase":"fixture","message":"Created deterministic test symbol","sequence":14,"timestamp":"2026-10-04T07:26:29.849Z","hasDetails":true,"revision":20,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/14"},{"level":"success","phase":"fixture","message":"Created deterministic trading group","sequence":15,"timestamp":"2026-10-04T07:26:29.857Z","hasDetails":true,"revision":21,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/15"},{"level":"success","phase":"fixture","message":"Trading configuration is ready","sequence":16,"timestamp":"2026-10-04T07:26:29.860Z","hasDetails":true,"revision":22,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/16"},{"level":"info","phase":"feeder","message":"Preparing deterministic quote source","sequence":17,"timestamp":"2026-10-04T07:26:29.864Z","hasDetails":false,"revision":24,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/17"},{"level":"success","phase":"assertion","message":"Test quote source is listening","sequence":18,"timestamp":"2026-10-04T07:26:30.889Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/2","revision":26,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/18"},{"level":"success","phase":"assertion","message":"st_feeder authenticated and subscribed to the test quote source","sequence":19,"timestamp":"2026-10-04T07:26:30.890Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/3","revision":28,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/19"},{"level":"success","phase":"assertion","message":"Probe quote reached STTrader through st_feeder","sequence":20,"timestamp":"2026-10-04T07:26:30.890Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/4","revision":30,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/20"},{"level":"info","phase":"scenario","message":"Scenario execution started","sequence":21,"timestamp":"2026-10-04T07:26:30.892Z","hasDetails":false,"revision":31,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/21"},{"level":"info","phase":"preflight","message":"Authenticating manager and reading server version","sequence":22,"timestamp":"2026-10-04T07:26:30.898Z","hasDetails":false,"revision":34,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/22"},{"level":"success","phase":"assertion","message":"GetServerVersion returns HTTP-style status 2xx over TCP","sequence":23,"timestamp":"2026-10-04T07:26:30.903Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/5","revision":36,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/23"},{"level":"success","phase":"assertion","message":"Server version is present","sequence":24,"timestamp":"2026-10-04T07:26:30.903Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/6","revision":38,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/24"},{"level":"success","phase":"assertion","message":"GetGroups returns HTTP-style status 2xx over TCP","sequence":25,"timestamp":"2026-10-04T07:26:30.907Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/7","revision":40,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/25"},{"level":"success","phase":"assertion","message":"GetSymbols returns HTTP-style status 2xx over TCP","sequence":26,"timestamp":"2026-10-04T07:26:30.912Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/8","revision":42,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/26"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: basic-fixture","sequence":27,"timestamp":"2026-10-04T07:26:30.919Z","hasDetails":false,"revision":44,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/27"},{"level":"success","phase":"fixture","message":"Trading fixture selected","sequence":28,"timestamp":"2026-10-04T07:26:30.923Z","hasDetails":true,"revision":45,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/28"},{"level":"info","phase":"account","message":"Creating isolated test account","sequence":29,"timestamp":"2026-10-04T07:26:30.923Z","hasDetails":true,"revision":46,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/29"},{"level":"success","phase":"assertion","message":"MngAddAccount returns HTTP-style status 2xx over TCP","sequence":30,"timestamp":"2026-10-04T07:26:30.986Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/9","revision":48,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/30"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-1-new-account","sequence":31,"timestamp":"2026-10-04T07:26:31.000Z","hasDetails":false,"revision":50,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/31"},{"level":"success","phase":"assertion","message":"Financial control login=100001 new-account","sequence":32,"timestamp":"2026-10-04T07:26:31.004Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/10","revision":52,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/32"},{"level":"success","phase":"assertion","message":"New account balance is zero","sequence":33,"timestamp":"2026-10-04T07:26:31.007Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/11","revision":54,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/33"},{"level":"success","phase":"assertion","message":"New account credit is zero","sequence":34,"timestamp":"2026-10-04T07:26:31.007Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/12","revision":56,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/34"},{"level":"success","phase":"assertion","message":"New account equity is zero","sequence":35,"timestamp":"2026-10-04T07:26:31.008Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/13","revision":58,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/35"},{"level":"success","phase":"assertion","message":"New account margin is zero","sequence":36,"timestamp":"2026-10-04T07:26:31.008Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/14","revision":60,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/36"},{"level":"success","phase":"assertion","message":"BalanceIn returns HTTP-style status 2xx over TCP","sequence":37,"timestamp":"2026-10-04T07:26:31.012Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/15","revision":62,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/37"},{"level":"success","phase":"assertion","message":"BalanceIn request accepted","sequence":38,"timestamp":"2026-10-04T07:26:31.012Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/16","revision":64,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/38"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-BalanceIn-accepted","sequence":39,"timestamp":"2026-10-04T07:26:31.018Z","hasDetails":false,"revision":66,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/39"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-BalanceIn-event","sequence":40,"timestamp":"2026-10-04T07:26:31.027Z","hasDetails":false,"revision":68,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/40"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-2-BalanceIn","sequence":41,"timestamp":"2026-10-04T07:26:31.036Z","hasDetails":false,"revision":70,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/41"},{"level":"success","phase":"assertion","message":"Financial control login=100001 BalanceIn","sequence":42,"timestamp":"2026-10-04T07:26:31.039Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/17","revision":72,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/42"},{"level":"info","phase":"finance","message":"BalanceIn accepted; waiting for application","sequence":43,"timestamp":"2026-10-04T07:26:31.039Z","hasDetails":true,"revision":73,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/43"},{"level":"success","phase":"assertion","message":"BalanceIn order=1001 applied","sequence":44,"timestamp":"2026-10-04T07:26:31.044Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/18","revision":75,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/44"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-BalanceIn-applied","sequence":45,"timestamp":"2026-10-04T07:26:31.048Z","hasDetails":false,"revision":77,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/45"},{"level":"success","phase":"assertion","message":"CreditIn returns HTTP-style status 2xx over TCP","sequence":46,"timestamp":"2026-10-04T07:26:31.053Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/19","revision":79,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/46"},{"level":"success","phase":"assertion","message":"CreditIn request accepted","sequence":47,"timestamp":"2026-10-04T07:26:31.053Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/20","revision":81,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/47"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-CreditIn-accepted","sequence":48,"timestamp":"2026-10-04T07:26:31.058Z","hasDetails":false,"revision":83,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/48"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-CreditIn-event","sequence":49,"timestamp":"2026-10-04T07:26:31.068Z","hasDetails":false,"revision":85,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/49"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-3-CreditIn","sequence":50,"timestamp":"2026-10-04T07:26:31.078Z","hasDetails":false,"revision":87,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/50"},{"level":"success","phase":"assertion","message":"Financial control login=100001 CreditIn","sequence":51,"timestamp":"2026-10-04T07:26:31.081Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/21","revision":89,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/51"},{"level":"info","phase":"finance","message":"CreditIn accepted; waiting for application","sequence":52,"timestamp":"2026-10-04T07:26:31.081Z","hasDetails":true,"revision":90,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/52"},{"level":"success","phase":"assertion","message":"CreditIn order=1002 applied","sequence":53,"timestamp":"2026-10-04T07:26:31.085Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/22","revision":92,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/53"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: finance-CreditIn-applied","sequence":54,"timestamp":"2026-10-04T07:26:31.090Z","hasDetails":false,"revision":94,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/54"},{"level":"success","phase":"finance","message":"Initial balance and credit operations applied","sequence":55,"timestamp":"2026-10-04T07:26:31.093Z","hasDetails":true,"revision":95,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/55"},{"level":"success","phase":"assertion","message":"Balance In is applied","sequence":56,"timestamp":"2026-10-04T07:26:31.098Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/23","revision":97,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/56"},{"level":"success","phase":"assertion","message":"Credit In is applied","sequence":57,"timestamp":"2026-10-04T07:26:31.098Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/24","revision":99,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/57"},{"level":"success","phase":"assertion","message":"Funded equity includes balance and credit","sequence":58,"timestamp":"2026-10-04T07:26:31.098Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/25","revision":101,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/58"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: account-funded","sequence":59,"timestamp":"2026-10-04T07:26:31.102Z","hasDetails":false,"revision":103,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/59"},{"level":"info","phase":"trading","message":"Opening BUY position","sequence":60,"timestamp":"2026-10-04T07:26:31.107Z","hasDetails":true,"revision":104,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/60"},{"level":"success","phase":"assertion","message":"MngOpenTrade returns HTTP-style status 2xx over TCP","sequence":61,"timestamp":"2026-10-04T07:26:31.112Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/26","revision":106,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/61"},{"level":"success","phase":"assertion","message":"trade-open request accepted","sequence":62,"timestamp":"2026-10-04T07:26:31.112Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/27","revision":108,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/62"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-open-accepted","sequence":63,"timestamp":"2026-10-04T07:26:31.117Z","hasDetails":false,"revision":110,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/63"},{"level":"info","phase":"trading","message":"trade-open accepted; waiting for execution","sequence":64,"timestamp":"2026-10-04T07:26:31.120Z","hasDetails":true,"revision":111,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/64"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-open-event","sequence":65,"timestamp":"2026-10-04T07:26:31.127Z","hasDetails":false,"revision":113,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/65"},{"level":"success","phase":"trading","message":"trade-open confirmed by TCP trade:event","sequence":66,"timestamp":"2026-10-04T07:26:31.131Z","hasDetails":true,"revision":114,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/66"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-open-applied","sequence":67,"timestamp":"2026-10-04T07:26:31.141Z","hasDetails":false,"revision":116,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/67"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-4-opened","sequence":68,"timestamp":"2026-10-04T07:26:31.150Z","hasDetails":false,"revision":118,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/68"},{"level":"success","phase":"assertion","message":"Financial control login=100001 opened","sequence":69,"timestamp":"2026-10-04T07:26:31.153Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/28","revision":120,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/69"},{"level":"success","phase":"assertion","message":"BUY position opened with requested volume","sequence":70,"timestamp":"2026-10-04T07:26:31.153Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/29","revision":122,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/70"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-5-quote-partial","sequence":71,"timestamp":"2026-10-04T07:26:31.166Z","hasDetails":false,"revision":124,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/71"},{"level":"success","phase":"assertion","message":"Financial control login=100001 quote-partial","sequence":72,"timestamp":"2026-10-04T07:26:31.172Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/30","revision":126,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/72"},{"level":"success","phase":"assertion","message":"Open position reserves margin","sequence":73,"timestamp":"2026-10-04T07:26:31.177Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/31","revision":128,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/73"},{"level":"success","phase":"assertion","message":"Free margin equals equity minus margin","sequence":74,"timestamp":"2026-10-04T07:26:31.177Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/32","revision":130,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/74"},{"level":"info","phase":"trading","message":"Partially closing BUY position","sequence":75,"timestamp":"2026-10-04T07:26:31.177Z","hasDetails":true,"revision":131,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/75"},{"level":"success","phase":"assertion","message":"MngCloseTrade returns HTTP-style status 2xx over TCP","sequence":76,"timestamp":"2026-10-04T07:26:31.182Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/33","revision":133,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/76"},{"level":"success","phase":"assertion","message":"trade-partial-close request accepted","sequence":77,"timestamp":"2026-10-04T07:26:31.182Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/34","revision":135,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/77"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-partial-close-accepted","sequence":78,"timestamp":"2026-10-04T07:26:31.188Z","hasDetails":false,"revision":137,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/78"},{"level":"info","phase":"trading","message":"trade-partial-close accepted; waiting for execution","sequence":79,"timestamp":"2026-10-04T07:26:31.192Z","hasDetails":true,"revision":138,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/79"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-partial-close-event","sequence":80,"timestamp":"2026-10-04T07:26:31.197Z","hasDetails":false,"revision":140,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/80"},{"level":"success","phase":"trading","message":"trade-partial-close confirmed by TCP trade:event","sequence":81,"timestamp":"2026-10-04T07:26:31.200Z","hasDetails":true,"revision":141,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/81"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-partial-close-child-event","sequence":82,"timestamp":"2026-10-04T07:26:31.209Z","hasDetails":false,"revision":143,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/82"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-partial-close-applied","sequence":83,"timestamp":"2026-10-04T07:26:31.218Z","hasDetails":false,"revision":145,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/83"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-6-partial-close","sequence":84,"timestamp":"2026-10-04T07:26:31.227Z","hasDetails":false,"revision":147,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/84"},{"level":"success","phase":"assertion","message":"Financial control login=100001 partial-close","sequence":85,"timestamp":"2026-10-04T07:26:31.230Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/35","revision":149,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/85"},{"level":"success","phase":"assertion","message":"Partial close leaves half of original volume","sequence":86,"timestamp":"2026-10-04T07:26:31.230Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/36","revision":151,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/86"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: financial-100001-7-quote-final","sequence":87,"timestamp":"2026-10-04T07:26:31.241Z","hasDetails":false,"revision":153,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/87"},{"level":"success","phase":"assertion","message":"Financial control login=100001 quote-final","sequence":88,"timestamp":"2026-10-04T07:26:31.243Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/37","revision":155,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/88"},{"level":"info","phase":"trading","message":"Closing remaining BUY volume","sequence":89,"timestamp":"2026-10-04T07:26:31.243Z","hasDetails":true,"revision":156,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/89"},{"level":"success","phase":"assertion","message":"MngCloseTrade returns HTTP-style status 2xx over TCP","sequence":90,"timestamp":"2026-10-04T07:26:31.248Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/38","revision":158,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/90"},{"level":"success","phase":"assertion","message":"trade-close request accepted","sequence":91,"timestamp":"2026-10-04T07:26:31.248Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/39","revision":160,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/91"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-close-accepted","sequence":92,"timestamp":"2026-10-04T07:26:31.253Z","hasDetails":false,"revision":162,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/92"},{"level":"info","phase":"trading","message":"trade-close accepted; waiting for execution","sequence":93,"timestamp":"2026-10-04T07:26:31.257Z","hasDetails":true,"revision":163,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/93"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-close-event","sequence":94,"timestamp":"2026-10-04T07:26:31.261Z","hasDetails":false,"revision":165,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/94"},{"level":"success","phase":"trading","message":"trade-close confirmed by TCP trade:event","sequence":95,"timestamp":"2026-10-04T07:26:31.266Z","hasDetails":true,"revision":166,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/95"},{"level":"success","phase":"assertion","message":"No open positions remain","sequence":96,"timestamp":"2026-10-04T07:26:31.271Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/40","revision":168,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/96"},{"level":"info","phase":"checkpoint","message":"Checkpoint saved: trade-close-applied","sequence":97,"timestamp":"2026-10-04T07:26:31.280Z","hasDetails":false,"revision":170,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/97"},{"level":"success","phase":"assertion","message":"Closed legs conserve original volume","sequence":98,"timestamp":"2026-10-04T07:26:31.283Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/41","revision":172,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/98"},{"level":"success","phase":"assertion","message":"Basic fixture charges no commission","sequence":99,"timestamp":"2026-10-04T07:26:31.283Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/42","revision":174,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/99"},{"level":"success","phase":"assertion","message":"Basic fixture accrues no swap","sequence":100,"timestamp":"2026-10-04T07:26:31.283Z","hasDetails":true,"assertionUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/assertion/43","revision":176,"detailUrl":"/api/runs/2026-10-04T07-26-24-370Z-basic-regression-2e3aee00/entries/log/100"}],"hasMore":true,"nextAfter":100,"storage":{"mode":"postgres-with-local-journal","pendingRuns":0,"pendingRecords":0,"pendingWrites":0,"indexReady":true,"error":null,"recovery":{"state":"ready","totalRuns":27,"loadedRuns":27,"currentDirectory":null,"phase":"done","processedEntries":0,"totalEntries":0,"error":null}}}