Repository navigation
Open
Labels
lane:tradingTrading lane: sim, paper and live north starTrading lane: sim, paper and live north star
Description
Tracks what #215 still leaves open after #486 (part 1) closed it through its closing link, plus two defects measured on 2026-09-29/30 on the frozen engine b528bb55 (which contains #486). Paper only; no live endpoint.
Open items
- Sparse mover quotes freeze the transport (exits and recovery stop); attempted submit under a frozen transport has no operator resolution #215 part 2: the ambiguous GRML intent with no broker record. Recovery exits each held symbol on its own fresh quote (#215 part 1) #486's description keeps it open: an attempted submit under a frozen transport has no operator resolution when the broker never recorded the order.
- Trial C run-loop stall (Sparse mover quotes freeze the transport (exits and recovery stop); attempted submit under a frozen transport has no operator resolution #215). Also kept open by Recovery exits each held symbol on its own fresh quote (#215 part 1) #486.
- F1: adaptive-lane recovery port.
runner.py's recovery port still gatesstart()on every held symbol (Recovery exits each held symbol on its own fresh quote (#215 part 1) #486's description, "until the F1 follow-up";README-recovery.mdstates it). ext-20260929-4: a recovery exit refused before the wire after a transport gap. In the after-hours trial on account 2 (2026-09-29), the exits triggered with reasontransport_gapat 17:08:39 ET. BKYI's exit filled; BEX's exit was reserved and never attempted (recovery_proven_never_attempted); the engine handed off withno_exit_progress. The recovery then sold BEX 24 (rec-ext-20260929-4-0000001, filled 40.44). Its IOVA 68 exit (rec-ext-20260929-4-0000002, limit 14.38) was reserved 70 s into the 120 s recovery and recordedintent_not_sentwith reasontransport_proven_not_sent(receipt errorSubmissionNotSent). The ledger's request table shows only 4 reads and 1 submit in that recovery, so the 150/130 per-minute caps did not defer it. The transport sanitizes the refusal to "submission prevented before HTTP request", so its cause is not recorded. The candidates areledger.validate_pendinginController.before_request(quote freshness or price bounds at submit time) and the transport's wire guard, while the paper log shows data-stream gaps. IOVA 68 stayed open overnight.- Unmodeled broker FEE activities block reconciliation (measured 2026-09-30). Alpaca paper posted FEE activities for 2026-09-29 sells on account 2: REG -0.19, TAF -0.27, CAT -0.01 USD.
runner.reconcilefails closed on the -0.47 cash gap (cash_mismatch_or_unmodeled_fees), so every recovery of IOVA 68 (17 attempts, 06:00-06:51 ET, 0 orders) endedneeds_attention. The engine'sREADME-safety.mdstill says paper does not simulate regulatory fees. A fix that records FEE activities durably in the ledger's cash accounting is being built on branchtrading/engine-fee-activities-20260930; it will link here.
Acceptance for closing
Each item is closed by a merged change with a failing-first test, or by a dated record that it no longer applies, cited here. Item 5 also needs account 2 recovered flat on the fixed engine, with a receipt.
Metadata
Metadata
Assignees
Labels
lane:tradingTrading lane: sim, paper and live north starTrading lane: sim, paper and live north star
Activity
Rule-text record: rebuilt base, Sol-primary clause (a), folded items,…
Rule-text record: rebuilt base, Sol-primary clause (a), folded items,…
Rule-text record: rebuilt base, Sol-primary clause (a), folded items,…
Rule-text record: rebuilt base, Sol-primary clause (a), folded items,…
seathatflowsinourveins commentedon Sep 30, 2026
Trading lane update, 2026-09-30 ~23:05Z (native-agent-stack-ae, formerly 24).
Item 5, unmodeled FEE activities: fixed in #559, which is open.
6db276c2. It is rebased through the hot-file protocol and waits for the OpenHands relock that turns osv-scanner green on main.recoverand the adaptive next-trial read use that checkpoint's window.New residuals, recorded here:
begin_next_trialthen refuses (for example, a fee that trips a cap), is in the ledger and itsfee_recordedevent, but in no receipt'sfees_recorded. Documented in README-safety.md, Limits.tests.test_adaptive_paper_runnertest_native_adaptive_policy_reaches_ledger_and_flat_reconciliationfails about 1 run in 24, at the base too (unknown_submit:...:SafetyErrornear the end of its 2 s trial window).recovery_onlyand is permanent for the ledger, as in a trial. The sell-only exit is still allowed. Tested; documented in README-safety.md.Item 4, the IOVA exit refused before the wire: the candidate list is refined. Source: the 09-29 after-hours receipt, independently verified.
submit_attempted0, no request row, and no request in the previous 60 s. The durable budget writes the row and the flag in one transaction (safety.py:1299-1311). That excludes the 150/130 caps and the wire guard.validate_pendingchecks no price bound for a sell.validate_pending'squote_not_fresh(the quote was 0.021 s old at reservation; the refusal time is not recorded);transport.py:1148-1167).mover_runner.py:783-787) marked the BEX exitrecovery_proven_never_attemptedand ended with aTransportErrorbefore any snapshot. Its cause is not recorded.Next on this issue. After #559 merges, the residual is recovered on the fee-aware engine at the 2026-10-01 open (pre-market attempts from 06:00 ET, then 09:45-10:30 ET). The outcome will be posted here.
Rule-text record: rebuilt base, Sol-primary clause (a), folded items,…
Rule text in every layer: the six standing clauses on AGENTS.md, the …
Token-efficiency profile accepted with the three code-navigation tool…
seathatflowsinourveins commentedon Oct 1, 2026
2026-10-01 findings from the
rth-20261001receipt build (trading lane, native-agent-stack-ae; enginedca821cc, account 1). They are recorded in the receipt on branchtrading/receipts-20261001, which is not yet a PR. None changes a trial verdict.transport_gap, about 7 minutes before their 1-hour hold ended.controller_stop, 0.143 s after the trial's first 30-second broker check and 35 s into the trial.mover-paper.jsonand the ledger events.mover_session_beyond_rung_schedule, with no submit or cancel./v2/assetsand/v2/calendar.plan_session's schedule check before any broker request.max_leverage0 from 0.75, so trials 4-20 each hadgross_budget_usd0.00 and endedcompleted_no_signals.rung_schedule, so the series stopped at 11:58:50 ET, 3h40m before its last start.