+ set -euo pipefail + PROJECT_ROOT=/var/www/vps2.happyuser.info/dex + cd /var/www/vps2.happyuser.info/dex + NPZ=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + OUT_DIR=DEX_REPORTS/paper_live_bio_macro_router_v1 + SLEEP_S=5 + PYTHON=python3 + mkdir -p DEX_REPORTS/paper_live_bio_macro_router_v1 + LAST_SIG= + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != '' ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[run] 2026-05-07T09:57:15Z BIO macro router paper-live npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [run] 2026-05-07T09:57:15Z BIO macro router paper-live npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + python3 dex_platform/scripts/paper_live_virtual_lp_v1.py --npz DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz --out-dir DEX_REPORTS/paper_live_bio_macro_router_v1 --append-events --fee-rates metadata --routing-mode rolling_v4 --total-capital-usd 600 --lookback-hours 48 --decision-hours 24 --max-current-liquidity-share-pct 10 --bio-micro-min-drift-pct 0 --bio-micro-min-trend-ratio 0 --bio-macro-lookback-hours 720 --bio-macro-kill-drift-pct 2 --bio-bull-min-fee-budget-pct-day 0.05 --bio-bull-max-toxicity 1 --check-bear-max-drift-pct -999 --check-bear-min-fee-budget-pct-day 999 --prewarm-hours 24 --warmup-probe-hours 24 --warmup-min-span-fraction 0.4 --warmup-min-return-pct -5 --warmup-max-mdd-pct 8 --warmup-min-pnl-mdd 0 --warmup-min-time-in-range-pct 0 --warmup-max-p99-share-pct 10 --warmup-max-max-share-pct 25 --dema-enable --dema-fast-hours 12 --dema-slow-hours 48 --dema-slope-hours 12 --dema-min-slow-slope-pct -0.5 --dema-no-fast-above-slow --health-check-enable --health-min-micro-drift-pct -20 --no-reentry-after-exit --health-max-total-dd-pct 5 --strict-mdd-pct 20 --min-pnl-mdd 2 --max-p99-liquidity-share-pct 10 --max-liquidity-share-pct 25 { "script_version": "paper_live_virtual_lp_v1_2026_05_04", "state_json": "DEX_REPORTS/paper_live_bio_macro_router_v1/virtual_lp_state.json", "out_dir": "DEX_REPORTS/paper_live_bio_macro_router_v1", "rows": 1, "decision_log_rows": 3, "last_action": "hold", "last_active_route": "bio_bull_periodic_2_90_336h", "return_total_pct": 9.654872529863553, "mdd_total_pct": -4.3967334701669465, "strict_pass": true } + LAST_SIG=1778055317:181021 + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:22Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:22Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:27Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:27Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:32Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:32Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:37Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:37Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:42Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:42Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:47Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:47Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:52Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:52Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:57:57Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:57:57Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:02Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:02Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:07Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:07Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:12Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:12Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:17Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:17Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:22Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:22Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:27Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:27Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:32Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:32Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:37Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:37Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5 + true + [[ ! -s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz ]] ++ stat -c %Y:%s DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + SIG=1778055317:181021 + [[ 1778055317:181021 != \1\7\7\8\0\5\5\3\1\7\:\1\8\1\0\2\1 ]] ++ date -u +%Y-%m-%dT%H:%M:%SZ + echo '[idle] 2026-05-07T09:58:42Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz' [idle] 2026-05-07T09:58:42Z unchanged npz=DEX_DATA/fast_npz/bio_usdc_fresh_paper_live_fee_replay_v2.npz + sleep 5