{
 "environment": {
  "base_url": "http://127.0.0.1:8911",
  "db": "weltiq_cfa",
  "pg_port": "55551",
  "commit_sha": "0431b2a966f5a2d1766f71f9ca74147d7076737d",
  "started_at": "2026-09-28T04:27:53.276554+00:00",
  "note": "격리 임시 PostgreSQL · 합성 호가 · 운영 배포 아님 · 실계좌 아님 · 손익은 시장 사실이 아님",
  "wallclock_utc": "2026-09-28T04:27:53.276562+00:00",
  "finished_at": "2026-09-28T05:08:00.453741+00:00"
 },
 "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
 "setup": {
  "user_id": "u_d5da894146669b43",
  "email": "cfa@example.invalid",
  "plan": "pro",
  "api_key_id": "wqk_4c3bb562aec1",
  "api_key_scopes": [
   "read-data",
   "run-forward-tests"
  ],
  "listings_inserted": [
   {
    "instrument_id": "GME",
    "asset_class": "us_stock",
    "price_venue": "us-equity"
   },
   {
    "instrument_id": "BB",
    "asset_class": "us_stock",
    "price_venue": "us-equity"
   },
   {
    "instrument_id": "NVDA",
    "asset_class": "us_stock",
    "price_venue": "us-equity"
   },
   {
    "instrument_id": "MSFT",
    "asset_class": "us_stock",
    "price_venue": "us-equity"
   },
   {
    "instrument_id": "BTCUSDT",
    "asset_class": "crypto",
    "price_venue": "binance-spot"
   },
   {
    "instrument_id": "ES",
    "asset_class": "futures",
    "price_venue": "cme"
   }
  ],
  "market_license_set": {
   "krx": {
    "status": "open",
    "note": "a2-04 axis-a counterfactual harness"
   },
   "us-equity": {
    "status": "open",
    "note": "a2-04 axis-a counterfactual harness"
   }
  },
  "market_license_effective": {
   "binance-spot": "open",
   "binance-usdm": "open",
   "bybit-spot": "open",
   "bybit-linear": "open",
   "krx": "open",
   "us-equity": "open",
   "cme": "license_pending"
  },
  "cme_license_untouched": "license_pending",
  "account_seed": {
   "account_id": "acc_u_d5da894146669b43",
   "book": "cash",
   "amount": "100000",
   "ccy": "USDT"
  },
  "synthetic_quotes": {
   "us-equity:GME": {
    "bid": "23.49",
    "ask": "23.50",
    "basis": "29A signalResearch GME 원문 \"At the supplied $23.49 price\" (reports/a/29-account-walls/raw/status_run1.json · RUN-LOG.md:170)"
   },
   "us-equity:BB": {
    "bid": "8.54",
    "ask": "8.55",
    "basis": "29A signalResearch BB 원문 \"the $8.5454 price\" (raw/status_run1.json)"
   },
   "us-equity:NVDA": {
    "bid": "227.30",
    "ask": "227.31",
    "basis": "25 종가 227.38 (RUN-LOG.md:123) · 27 마지막 종가 227.30 (RUN-LOG.md:232) · 31 \"last close: $227.30\" (RUN-LOG.md:83) · 34 \"Price (225.51)\" (raw/probe-nvda.json). 227.30 을 썼다 — 27·31 이 명시한 값이고 25 와 +0.035%, 34 와 −0.79% 차이다"
   },
   "us-equity:MSFT": {
    "bid": "500.40",
    "ask": "500.41",
    "basis": "34 pilot 실측 \"BUY 9 MSFT @ $500.40\" (RUN-LOG.md:143)"
   },
   "binance-spot:BTCUSDT": {
    "bid": "85464",
    "ask": "85465",
    "basis": "회차마다 바꾼다 — WAVE_QUOTES 참조"
   },
   "cme:ES": {
    "bid": "6800.00",
    "ask": "6800.25",
    "basis": "**기록 없음** — 통제군(라이선스)용. 하네스 임의값이다"
   }
  },
  "wave_quotes_btcusdt": {
   "A": {
    "bid": "85464",
    "ask": "85465",
    "basis": "29A: 검증 종료 시점 BTCUSD 시세 85464.976 (raw/status_final2.json positions[0].current_price)"
   },
   "B": {
    "bid": "84940",
    "ask": "84941",
    "basis": "31 btc-2: 도구가 지목한 피벗 \"$84,940\" — \"a validated pivot hold above $84,940\" (raw/btc-2.json entry guidance)"
   },
   "C": {
    "bid": "81526",
    "ask": "81527",
    "basis": "12: \"do not add at the current 81,526.82 level\" (reports/b/01/21-tradingagents-reports/.../5_portfolio/decision.md:3)"
   },
   "D": {
    "bid": "84138",
    "ask": "84139",
    "basis": "34: yf_entry_price 84138.4609375 · \"Price (84125.04)\" (raw/btc-decision.json)"
   }
  },
  "profiles": {
   "us-equity": [
    "us-equity",
    4,
    "shortable=True",
    "tick=0.01",
    "fees=FeeSchedule(maker=Decimal('0'), taker=Decimal('0'), sell_tax=Decimal('0.0000206'), per_contract=Decimal('0'))"
   ],
   "binance-spot": [
    "binance-spot",
    1,
    "shortable=False",
    "tick=0.01",
    "fees=FeeSchedule(maker=Decimal('0.001'), taker=Decimal('0.001'), sell_tax=Decimal('0'), per_contract=Decimal('0'))"
   ],
   "cme": [
    "cme-es",
    1,
    "shortable=True",
    "tick=0.25",
    "fees=FeeSchedule(maker=Decimal('0'), taker=Decimal('0'), sell_tax=Decimal('0'), per_contract=Decimal('2.20'))"
   ]
  },
  "env_forward_test_monthly_limit": "200",
  "us_equity_session_at_start": {
   "venue": "us-equity",
   "calendar": "us",
   "tz": "America/New_York",
   "local_time": "2026-09-28T00:27-04:00",
   "is_open": "False",
   "state": "closed",
   "next_open": "2026-09-28T09:30-04:00",
   "next_close": "None",
   "label": "NYSE/Nasdaq 09:30–16:00 ET",
   "label_ko": "미국 주식 09:30–16:00 ET"
  }
 },
 "cases": [
  {
   "id": "T0",
   "part": "-",
   "what": "시작 직전 usage + 계좌 원장",
   "verdict_record": null,
   "counterfactual": null,
   "why_side": null,
   "request": {
    "method": "GET",
    "path": "/v1/forward-tests/usage",
    "body": null
   },
   "transforms": [],
   "synthesized": [],
   "response": {
    "status": 200,
    "json": {
     "limit": 200,
     "used": 0,
     "remaining": 200,
     "entries_enabled": true,
     "period_start": "2026-09-01T00:00:00+00:00",
     "reset_at": "2026-10-01T00:00:00+00:00",
     "plan": "pro",
     "can_enter": true,
     "counts": "승인된 신규 진입 1건 = 1회 (청산·부분체결·재시도·조회는 0회)",
     "period": "UTC 달력월 · 이월 없음 · 자동 초과 과금 없음"
    }
   },
   "at": "2026-09-28T04:27:53.342285+00:00",
   "expected_status": 200,
   "status_matches_expectation": true,
   "account_snapshot": {
    "account.accounts": [
     {
      "account_id": "acc_u_d5da894146669b43",
      "user_id": "u_d5da894146669b43",
      "portfolio_id": "pf_u_d5da894146669b43",
      "venue": "binance-spot",
      "mode": "paper",
      "base_ccy": "USDT",
      "allocation": 0,
      "broker": null,
      "markets": [],
      "external_account": {},
      "credential_ref": null,
      "created_at": "2026-09-28T13:27:52.770564+09:00"
     }
    ],
    "account.portfolios": [
     {
      "portfolio_id": "pf_u_d5da894146669b43",
      "user_id": "u_d5da894146669b43",
      "name": "default",
      "capital_allocation": 0,
      "risk_budget": {},
      "membership_version": 0,
      "created_at": "2026-09-28T13:27:52.770564+09:00"
     }
    ],
    "account.sleeves": [],
    "account.ledger": [
     {
      "entry_id": 1,
      "txn_id": "a2-04-axis-a-seed",
      "sleeve_id": null,
      "account_id": "acc_u_d5da894146669b43",
      "book": "cash",
      "amount": 100000,
      "ccy": "USDT",
      "ref_kind": "cfa_counterfactual_fixture",
      "ref_id": null,
      "created_at": "2026-09-28T13:27:52.773402+09:00"
     }
    ],
    "account.direction_leases": [],
    "account.reduce_reservations": [],
    "trading.intents": [],
    "trading.fills": [],
    "trading.order_transitions": []
   },
   "usage_ledger": {
    "forward.usage": [],
    "forward.usage_events": []
   }
  },
  {
   "id": "X-CME",
   "part": "control",
   "what": "cme 는 license_pending 그대로 — 주문 목적 차단 확인 (반사실이 아니다)",
   "verdict_record": null,
   "counterfactual": "없음 — 라이선스 가드가 살아 있는지만 본다",
   "why_side": null,
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "cme",
     "symbol": "ES",
     "client_order_id": "cfa-x-cme",
     "side": "short",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "통제군: cme license_pending",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-control"
     ],
     "metadata": {
      "verdict": null,
      "confidence": null,
      "source": "(해당 없음)",
      "part": "control"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [],
   "synthesized": [
    "ES·6800 은 통제군용 하네스 값이다"
   ],
   "response": {
    "status": 422,
    "json": {
     "detail": {
      "code": "market_not_licensed",
      "venue": "cme",
      "status": "license_pending",
      "detail": "cme does not allow orders on this instance"
     }
    }
   },
   "at": "2026-09-28T04:27:53.350474+00:00",
   "expected_status": 422,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BTC-WAIT-088",
   "part": "29A",
   "what": "BTC/USD verdict=WAIT 확신도 0.88 — 그때 샀다면",
   "verdict_record": "verdict=WAIT · confidence=0.88 · entry_quality=poor · BTC/USD · 03:16:54 UTC (RUN-LOG.md:146-150 표)",
   "counterfactual": "도구가 \"기다려라\"고 한 그 시점에 **롱으로 들어간다**. 600초 뒤 손익이 관망의 값어치다.",
   "why_side": "롱 — WAIT 는 \"사지 마라\"이므로 그 반대는 사는 것이다. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "29a-btc-wait-088",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.88 entry_quality=poor",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.88",
      "source": "reports/a/29-account-walls/RUN-LOG.md:148",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "judged_at_utc": "03:16:54",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "BTC/USD → binance-spot BTCUSDT (심볼 표기 변환)"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 — 이 도구는 레벨을 내지 않는다. 손절 5%·익절 10% 는 설정 상수이지 판단이 아니다(RUN-LOG.md:142)"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_1e471485eef7fe90b6467f87b9a8",
     "test_id": "ft_b8896e15ea5d25ef645db157",
     "variant_id": "trial",
     "round_id": "ft_b8896e15ea5d25ef645db157:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-btc-wait-088",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.88 entry_quality=poor",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/RUN-LOG.md:148",
      "verdict": "WAIT",
      "confidence": "0.88",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
      "judged_at_utc": "03:16:54"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.353333+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.355661+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.353998+09:00",
      "effective_close_at": "2026-09-29T13:27:53.353998+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 1,
      "remaining": 199,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "85464.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:27:53.353998+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.357513+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BTC-WAIT-090",
   "part": "29A",
   "what": "BTC/USD verdict=WAIT 확신도 0.9 — 그때 샀다면",
   "verdict_record": "verdict=WAIT · confidence=0.9 · entry_quality=poor · BTC/USD · 03:22:41 UTC (RUN-LOG.md:146-150 표)",
   "counterfactual": "도구가 \"기다려라\"고 한 그 시점에 **롱으로 들어간다**. 600초 뒤 손익이 관망의 값어치다.",
   "why_side": "롱 — WAIT 는 \"사지 마라\"이므로 그 반대는 사는 것이다. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "29a-btc-wait-090",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.9 entry_quality=poor",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.9",
      "source": "reports/a/29-account-walls/RUN-LOG.md:149",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "judged_at_utc": "03:22:41",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "BTC/USD → binance-spot BTCUSDT (심볼 표기 변환)"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 — 이 도구는 레벨을 내지 않는다. 손절 5%·익절 10% 는 설정 상수이지 판단이 아니다(RUN-LOG.md:142)"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_69f45c9516f8f8969c0a6eacad0f",
     "test_id": "ft_d1db6a34c97def5e3585b5da",
     "variant_id": "trial",
     "round_id": "ft_d1db6a34c97def5e3585b5da:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-btc-wait-090",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.9 entry_quality=poor",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/RUN-LOG.md:149",
      "verdict": "WAIT",
      "confidence": "0.9",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
      "judged_at_utc": "03:22:41"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.359571+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.360929+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.359916+09:00",
      "effective_close_at": "2026-09-29T13:27:53.359916+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 2,
      "remaining": 198,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "85464.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:27:53.359916+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.362278+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BTC-WAIT-089",
   "part": "29A",
   "what": "BTC/USD verdict=WAIT 확신도 0.89 — 그때 샀다면",
   "verdict_record": "verdict=WAIT · confidence=0.89 · entry_quality=poor · BTC/USD · 03:38:16 UTC (RUN-LOG.md:146-150 표)",
   "counterfactual": "도구가 \"기다려라\"고 한 그 시점에 **롱으로 들어간다**. 600초 뒤 손익이 관망의 값어치다.",
   "why_side": "롱 — WAIT 는 \"사지 마라\"이므로 그 반대는 사는 것이다. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "29a-btc-wait-089",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.89 entry_quality=poor",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.89",
      "source": "reports/a/29-account-walls/RUN-LOG.md:150",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "judged_at_utc": "03:38:16",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "BTC/USD → binance-spot BTCUSDT (심볼 표기 변환)"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 — 이 도구는 레벨을 내지 않는다. 손절 5%·익절 10% 는 설정 상수이지 판단이 아니다(RUN-LOG.md:142)"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_fd3f2775487aadbd58e49a458718",
     "test_id": "ft_97407c5aed2457ee401bc602",
     "variant_id": "trial",
     "round_id": "ft_97407c5aed2457ee401bc602:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-btc-wait-089",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.89 entry_quality=poor",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/RUN-LOG.md:150",
      "verdict": "WAIT",
      "confidence": "0.89",
      "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
      "judged_at_utc": "03:38:16"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.364079+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.365074+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.364321+09:00",
      "effective_close_at": "2026-09-29T13:27:53.364321+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 3,
      "remaining": 197,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "85464.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:27:53.364321+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.366168+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BTC-SKIP-020",
   "part": "29A",
   "what": "BTC/USD verdict=SKIP 확신도 0.20 (모델만 gpt-4o-mini 로 바꾼 대조군) — 그때 샀다면",
   "verdict_record": "verdict=SKIP · confidence=0.20 · BTC/USD · 03:44:12 UTC (RUN-LOG.md:156-158 표)",
   "counterfactual": "같은 시장·같은 프롬프트인데 확신도만 0.20 인 \"사지 마라\". 0.88~0.90 짜리와 **같은 틀로** 재서 확신도가 결과와 상관있는지 본다.",
   "why_side": "롱 — SKIP 은 \"사지 마라\"다. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "29a-btc-skip-020",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA BTC/USD verdict=SKIP confidence=0.20 (gpt-4o-mini)",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "SKIP",
      "confidence": "0.2",
      "source": "reports/a/29-account-walls/RUN-LOG.md:158",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "judged_at_utc": "03:44:12",
      "llm_model": "openai/gpt-4o-mini"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "BTC/USD → binance-spot BTCUSDT"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 (도구가 레벨을 안 낸다)"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_7c001a4319a32171ba06978e7bcd",
     "test_id": "ft_c285b882d211c9c023978b9e",
     "variant_id": "trial",
     "round_id": "ft_c285b882d211c9c023978b9e:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-btc-skip-020",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA BTC/USD verdict=SKIP confidence=0.20 (gpt-4o-mini)",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/RUN-LOG.md:158",
      "verdict": "SKIP",
      "llm_model": "openai/gpt-4o-mini",
      "confidence": "0.2",
      "judged_at_utc": "03:44:12"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.367790+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.368892+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.367993+09:00",
      "effective_close_at": "2026-09-29T13:27:53.367993+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 4,
      "remaining": 196,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "85464.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:27:53.367993+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.370480+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-GME-WAIT-088",
   "part": "29A",
   "what": "주식 경로 GME verdict=WAIT 0.88 @ $23.49 — 그때 샀다면",
   "verdict_record": "verdict=WAIT · confidence=0.88 · entry_quality=poor · GME @ $23.49 (raw/status_run1.json signalResearch.GME)",
   "counterfactual": "\"$23.49 에는 매력적인 진입 근거가 없다\"는 판정의 반대 — 그 가격에 산다.",
   "why_side": "롱. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "GME",
     "client_order_id": "29a-gme-wait-088",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA signalResearch GME verdict=WAIT confidence=0.88 entry_quality=poor",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.88",
      "source": "reports/a/29-account-walls/raw/status_run1.json GME · RUN-LOG.md:170",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "supplied_price": "23.49"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 (도구가 레벨을 안 낸다)"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_826ac0d3ba43d4344a839f94eb97",
     "test_id": "ft_bfe19bfcc894a7a55bcf1528",
     "variant_id": "trial",
     "round_id": "ft_bfe19bfcc894a7a55bcf1528:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-gme-wait-088",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA signalResearch GME verdict=WAIT confidence=0.88 entry_quality=poor",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/raw/status_run1.json GME · RUN-LOG.md:170",
      "verdict": "WAIT",
      "confidence": "0.88",
      "supplied_price": "23.49"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.372275+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.373200+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.372499+09:00",
      "effective_close_at": "2026-09-29T13:27:53.372499+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 5,
      "remaining": 195,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "GME",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.372499+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.374390+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BB-WAIT-089",
   "part": "29A",
   "what": "주식 경로 BB verdict=WAIT 0.89 @ $8.5454 — 그때 샀다면",
   "verdict_record": "verdict=WAIT · confidence=0.89 · entry_quality=poor · BB @ $8.5454 (raw/status_run1.json signalResearch.BB)",
   "counterfactual": "같은 회차·같은 도구의 다른 종목. 확신도 0.89.",
   "why_side": "롱. 숏을 안 냈다. 도구가 원문으로 못 박았다 — \"Confidence reflects the case for waiting, **not a prediction of a price decline**.\" (raw/status_run1.json GME.reasoning · RUN-LOG.md:170). 하락을 시사하지 않았으므로 숏은 반사실이 아니라 창작이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "BB",
     "client_order_id": "29a-bb-wait-089",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "MAHORAGA signalResearch BB verdict=WAIT confidence=0.89 entry_quality=poor",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.89",
      "source": "reports/a/29-account-walls/raw/status_run1.json BB · RUN-LOG.md:174",
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "supplied_price": "8.5454"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "$8.5454 → 합성 호가 8.54/8.55 (us-equity 틱 0.01)"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_c0b1e4d8f7f74e202ee9ad7c2fca",
     "test_id": "ft_b403229108e8e8090d89a170",
     "variant_id": "trial",
     "round_id": "ft_b403229108e8e8090d89a170:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "29a-bb-wait-089",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "MAHORAGA signalResearch BB verdict=WAIT confidence=0.89 entry_quality=poor",
     "tags": [
      "counterfactual",
      "part-29A"
     ],
     "metadata": {
      "part": "29A",
      "tool": "29A-MAHORAGA",
      "source": "reports/a/29-account-walls/raw/status_run1.json BB · RUN-LOG.md:174",
      "verdict": "WAIT",
      "confidence": "0.89",
      "supplied_price": "8.5454"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.376040+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.377193+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.376280+09:00",
      "effective_close_at": "2026-09-29T13:27:53.376280+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 6,
      "remaining": 194,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "BB",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.376280+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.378531+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P25-LONG",
   "part": "25",
   "what": "NVDA 판정 `관망`(decision_type=hold) — 그때 도구 레벨대로 샀다면",
   "verdict_record": "decision_type: hold · operation_advice: 관망 · confidence_level: 중간 · ideal_buy 219.01 · secondary_buy 219.16 · stop_loss 218.9 · take_profit 230.0 · 종가 227.38 (levels-verbatim.txt)",
   "counterfactual": "도구는 \"219.01 까지 내려오면 사라, 지금(227.38)은 아니다\"라고 했다. 그 반대 — **지금 시장가로 산다**. 청산 조건은 도구가 낸 stop_loss 218.9 · take_profit 230.0 을 그대로 쓴다.",
   "why_side": "롱 — 관망의 반대는 사는 것이다. 숏은 따로 P25-SHORT 로 낸다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "25-nvda-hold-long",
     "side": "long",
     "exit_plan": {
      "stop_loss": "218.90",
      "take_profit": "230.00",
      "close_after_seconds": 600
     },
     "memo": "daily_stock_analysis NVDA operation_advice=관망 decision_type=hold confidence_level=중간",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-25"
     ],
     "metadata": {
      "verdict": "관망 (decision_type=hold)",
      "confidence": "중간 (숫자 아님)",
      "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
      "part": "25",
      "tool": "25-daily_stock_analysis",
      "ideal_buy": "219.01",
      "secondary_buy": "219.16",
      "close_px": "227.38",
      "consistency": "5회 독립 판단 전부 hold/관망 (RUN-LOG.md:125)"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "stop_loss 218.9 · take_profit 230.0 은 도구의 전용 DB 칸 값 그대로"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_d1202e86b5509448cc5009ac7c98",
     "test_id": "ft_9efe557d059a0e75bc6b3cf4",
     "variant_id": "trial",
     "round_id": "ft_9efe557d059a0e75bc6b3cf4:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "25-nvda-hold-long",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "daily_stock_analysis NVDA operation_advice=관망 decision_type=hold confidence_level=중간",
     "tags": [
      "counterfactual",
      "part-25"
     ],
     "metadata": {
      "part": "25",
      "tool": "25-daily_stock_analysis",
      "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
      "verdict": "관망 (decision_type=hold)",
      "close_px": "227.38",
      "ideal_buy": "219.01",
      "confidence": "중간 (숫자 아님)",
      "consistency": "5회 독립 판단 전부 hold/관망 (RUN-LOG.md:125)",
      "secondary_buy": "219.16"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.380265+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.381071+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "230.00",
      "stop_loss": "218.90"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "218.90",
      "take_profit": "230.00",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.380481+09:00",
      "effective_close_at": "2026-09-29T13:27:53.380481+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 7,
      "remaining": 193,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.380481+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.382198+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P25-SHORT",
   "part": "25",
   "what": "NVDA 관망의 **하락 쪽** 반사실 — 도구가 시사한 눌림을 숏으로",
   "verdict_record": "같은 판정 — 관망. 근거 숫자: 종가 227.38 · MA5 219.01 · MA20 219.36 · 이격 +3.82% · MACD DIF 1.4828 < DEA 1.5377 (RUN-LOG.md:123)",
   "counterfactual": "도구가 지목한 움직임은 \"227.38 에서 219.01(MA5)로 눌린다\"이다. 그 움직임을 **숏으로** 산다. 목표 219.01 과 손절 234.50 둘 다 도구가 낸 숫자다.",
   "why_side": "숏 — 이 도구는 명시적으로 하락을 시사했다(MACD 데드크로스 · 역배열 · +3.82% 이격 · \"추격 금지: 5일선 대비 +5% 초과 시 매수 안 함\"). 29A 와 달리 \"하락 예측이 아니다\"라는 유보가 없다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "25-nvda-hold-short",
     "side": "short",
     "exit_plan": {
      "take_profit": "219.01",
      "stop_loss": "234.50",
      "close_after_seconds": 600
     },
     "memo": "daily_stock_analysis NVDA 관망 — MA5 대비 +3.82% 이격 · MACD DIF<DEA · 역배열",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-25"
     ],
     "metadata": {
      "verdict": "관망 (decision_type=hold)",
      "confidence": "중간 (숫자 아님)",
      "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
      "part": "25",
      "tool": "25-daily_stock_analysis",
      "target_is": "ideal_buy 219.01 (MA5)",
      "stop_is": "저항 234.50 (채팅 경로 3/3 동일, RUN-LOG.md:127)"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "ideal_buy 219.01 을 숏의 take_profit 으로, 저항 234.50 을 stop_loss 로 옮겼다 — 둘 다 도구가 낸 값이고, 방향만 뒤집어 붙였다"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_abe34478daf24148579991463577",
     "test_id": "ft_d107f931ee2003043daebdd6",
     "variant_id": "trial",
     "round_id": "ft_d107f931ee2003043daebdd6:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "25-nvda-hold-short",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "daily_stock_analysis NVDA 관망 — MA5 대비 +3.82% 이격 · MACD DIF<DEA · 역배열",
     "tags": [
      "counterfactual",
      "part-25"
     ],
     "metadata": {
      "part": "25",
      "tool": "25-daily_stock_analysis",
      "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
      "stop_is": "저항 234.50 (채팅 경로 3/3 동일, RUN-LOG.md:127)",
      "verdict": "관망 (decision_type=hold)",
      "target_is": "ideal_buy 219.01 (MA5)",
      "confidence": "중간 (숫자 아님)"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.383568+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.384272+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "short",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "219.01",
      "stop_loss": "234.50"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "234.50",
      "take_profit": "219.01",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.383751+09:00",
      "effective_close_at": "2026-09-29T13:27:53.383751+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 8,
      "remaining": 192,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.383751+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.385342+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P27-LONG",
   "part": "27",
   "what": "NVDA r1 — 진입 222.60 을 기다리는 판정. 마지막 종가 227.30 에 바로 샀다면",
   "verdict_record": "DIRECTION LONG · ENTRY $222.60 (limit) · STOP $211.00 · T1 $235.75 · 3/3 회 \"지금 사라\"가 아니다 — 진입가가 전부 마지막 종가 227.30 아래다 (RUN-LOG.md:232)",
   "counterfactual": "\"지금 말고 222.60 까지 눌리면 사라\"가 이 도구의 **주문하지 않기로 한 결정**이다. 그 반대 — 종가 227.30 에 시장가로 지금 산다. 손절·목표는 도구가 낸 211.00 · 235.75 그대로.",
   "why_side": "롱 — 도구의 방향 자체가 LONG 이다. 재는 것은 방향이 아니라 **기다린 것**이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "27-nvda-nowait-long",
     "side": "long",
     "exit_plan": {
      "stop_loss": "211.00",
      "take_profit": "235.75",
      "close_after_seconds": 600
     },
     "memo": "AI Trading Analyst /trade thesis NVDA r1 — DIRECTION LONG · ENTRY 222.60 (limit) · STOP 211.00 · T1 235.75. 진입가가 종가 227.30 아래 = 눌림 대기",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-27"
     ],
     "metadata": {
      "verdict": "LONG (단 \"지금 사라\"가 아니다 — 진입 222.60 < 종가 227.30)",
      "confidence": "Medium (Conviction, 숫자 아님)",
      "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
      "part": "27",
      "tool": "27-AI-Trading-Analyst",
      "entry": "222.60",
      "stop": "211.00",
      "t1": "235.75",
      "t2": "280.00",
      "t3": "315.00",
      "qty": "22",
      "horizon": "3-6개월"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "STOP LOSS 211.00 · TARGET 1 235.75 (r1) 기록 그대로. T2 280.00 · T3 315.00 은 10분 창에 의미가 없어 metadata 로만 남겼다"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_c20c2ddec733452a622cd98d081a",
     "test_id": "ft_84e39e7f7fe109396b4dca50",
     "variant_id": "trial",
     "round_id": "ft_84e39e7f7fe109396b4dca50:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "27-nvda-nowait-long",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "AI Trading Analyst /trade thesis NVDA r1 — DIRECTION LONG · ENTRY 222.60 (limit) · STOP 211.00 · T1 235.75. 진입가가 종가 227.30 아래 = 눌림 대기",
     "tags": [
      "counterfactual",
      "part-27"
     ],
     "metadata": {
      "t1": "235.75",
      "t2": "280.00",
      "t3": "315.00",
      "qty": "22",
      "part": "27",
      "stop": "211.00",
      "tool": "27-AI-Trading-Analyst",
      "entry": "222.60",
      "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
      "horizon": "3-6개월",
      "verdict": "LONG (단 \"지금 사라\"가 아니다 — 진입 222.60 < 종가 227.30)",
      "confidence": "Medium (Conviction, 숫자 아님)"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.386980+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.387916+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "235.75",
      "stop_loss": "211.00"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "211.00",
      "take_profit": "235.75",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.387198+09:00",
      "effective_close_at": "2026-09-29T13:27:53.387198+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 9,
      "remaining": 191,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.387198+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.389147+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P27-SHORT",
   "part": "27",
   "what": "NVDA — 도구가 기다린 그 눌림(227.30→222.60)을 숏으로",
   "verdict_record": "같은 r1. 진입 222.60 · T1 235.75 · 마지막 종가 227.30",
   "counterfactual": "도구가 기다린 눌림 구간(227.30 → 222.60)을 숏으로 사고, 도구의 T1 235.75 을 손절로 쓴다. 눌림이 오면 이 숏이 이기고, 오지 않고 위로 가면 도구의 목표에서 잘린다.",
   "why_side": "숏 — 도구가 3/3 회 종가보다 낮은 진입가를 냈다 = **단기 하락을 명시적으로 기대**했다. 다만 이 도구의 중기 방향은 LONG 이므로, 이 숏은 도구의 방향 판정이 아니라 **타이밍 판정**을 재는 것이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "27-nvda-pullback-short",
     "side": "short",
     "exit_plan": {
      "take_profit": "222.60",
      "stop_loss": "235.75",
      "close_after_seconds": 600
     },
     "memo": "AI Trading Analyst r1 — 눌림 대기 진입 222.60 을 숏 목표로",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-27"
     ],
     "metadata": {
      "verdict": "LONG (눌림 대기)",
      "confidence": "Medium",
      "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
      "part": "27",
      "tool": "27-AI-Trading-Analyst",
      "note": "도구는 롱이다. 숏은 도구가 기대한 **단기 눌림**만 겨눈다"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "ENTRY 222.60 → 숏 take_profit · T1 235.75 → 숏 stop_loss. 둘 다 도구가 낸 값이고 역할만 뒤집었다"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_90faabf90b9f4f13d9be5e1c7a41",
     "test_id": "ft_2296f703e2661a72a2ebc7b4",
     "variant_id": "trial",
     "round_id": "ft_2296f703e2661a72a2ebc7b4:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "27-nvda-pullback-short",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "AI Trading Analyst r1 — 눌림 대기 진입 222.60 을 숏 목표로",
     "tags": [
      "counterfactual",
      "part-27"
     ],
     "metadata": {
      "note": "도구는 롱이다. 숏은 도구가 기대한 **단기 눌림**만 겨눈다",
      "part": "27",
      "tool": "27-AI-Trading-Analyst",
      "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
      "verdict": "LONG (눌림 대기)",
      "confidence": "Medium"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.390848+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.391564+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "short",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "222.60",
      "stop_loss": "235.75"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "235.75",
      "take_profit": "222.60",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.391026+09:00",
      "effective_close_at": "2026-09-29T13:27:53.391026+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 10,
      "remaining": 190,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.391026+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.392641+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P31-NVDA",
   "part": "31",
   "what": "NVDA nvda-2 action=HOLD · target_position=NEUTRAL — 그런데 레벨은 다 냈다",
   "verdict_record": "action: HOLD · target_position: NEUTRAL · order_type: none · stop_loss_price: 220.92 · take_profit_price: 234.75 · advisory_rating: Hold · confidence: medium (nvda-2.json)",
   "counterfactual": "**이 편이 가장 깔끔하다** — 도구가 \"주문 없음\"이라고 하면서 손절·목표를 절대값으로 다 냈다. 그 레벨을 그대로 쓰고 방향만 채워 넣으면 반사실이 완성된다. 지어낸 값이 하나도 없다.",
   "why_side": "롱 — 레벨 배치가 롱이다(손절 220.92 < 마지막 종가 227.30 < 목표 234.75). 숏으로 뒤집으면 손절이 목표 아래로 가서 도구가 낸 배치가 깨진다. 하락을 시사한 문장도 없다(nvda-3: \"1.7:1 reward-to-risk, below the required minimum\" = 보상이 작다는 것이지 떨어진다는 것이 아니다).",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "31-nvda-2-hold",
     "side": "long",
     "exit_plan": {
      "stop_loss": "220.92",
      "take_profit": "234.75",
      "close_after_seconds": 600
     },
     "memo": "AlpacaTradingAgent nvda-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 220.92 · take_profit_price 234.75",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-31"
     ],
     "metadata": {
      "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
      "confidence": "medium (문자열, 숫자 아님)",
      "source": "reports/a/31-alpaca-trading-agent/raw/nvda-2.json final_trade_intent · RUN-LOG.md:125",
      "part": "31",
      "tool": "31-AlpacaTradingAgent",
      "advisory_rating": "Hold",
      "consistency": "NVDA 3판 전부 HOLD/NEUTRAL, 손절 220.92 3/3 동일 (RUN-LOG.md:124-126)"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "risk_controls.stop_loss_price · take_profit_price 를 exit_plan 으로 그대로 옮겼다 — 변환 없음"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "side=long — 기록의 action 은 HOLD, target_position 은 NEUTRAL 이라 방향이 아니다. 반사실 정의로 롱을 골랐다"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_2a27b8a4474ba02556221a7d95fd",
     "test_id": "ft_e473db2daebd0a50c25ca3a2",
     "variant_id": "trial",
     "round_id": "ft_e473db2daebd0a50c25ca3a2:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "31-nvda-2-hold",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "AlpacaTradingAgent nvda-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 220.92 · take_profit_price 234.75",
     "tags": [
      "counterfactual",
      "part-31"
     ],
     "metadata": {
      "part": "31",
      "tool": "31-AlpacaTradingAgent",
      "source": "reports/a/31-alpaca-trading-agent/raw/nvda-2.json final_trade_intent · RUN-LOG.md:125",
      "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
      "confidence": "medium (문자열, 숫자 아님)",
      "consistency": "NVDA 3판 전부 HOLD/NEUTRAL, 손절 220.92 3/3 동일 (RUN-LOG.md:124-126)",
      "advisory_rating": "Hold"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.394212+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.395006+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "234.75",
      "stop_loss": "220.92"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "220.92",
      "take_profit": "234.75",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.394395+09:00",
      "effective_close_at": "2026-09-29T13:27:53.394395+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 11,
      "remaining": 189,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.394395+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.396131+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P34-NVDA",
   "part": "34",
   "what": "NVDA decision=WAIT · probabilities.up 0.40 @ 225.51 — 그때 샀다면",
   "verdict_record": "decision: WAIT · probabilities.up 0.40 / neutral 0.35 / down 0.25 · confidence_shown 42.6 · \"insufficient momentum to justify a directional entry\" (probe-basket.json[0])",
   "counterfactual": "p_up 0.40 은 「거의 반반」이다. 그 반반에 롱으로 들어가 본다.",
   "why_side": "롱 — p_up 0.40 > p_down 0.25 로 도구가 위쪽을 더 봤다. 하락 시사 없음.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "NVDA",
     "client_order_id": "34-nvda-wait-040",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "orallexa NVDA decision=WAIT p_up=0.40 p_neutral=0.35 p_down=0.25 confidence_shown=42.6 risk=MEDIUM",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "verdict": "WAIT",
      "confidence": "0.4",
      "source": "reports/a/34-orallexa/raw/probe-basket.json [0] · raw/probe-nvda.json",
      "part": "34",
      "tool": "34-orallexa",
      "probability_field": "probabilities.up",
      "confidence_shown": "42.6",
      "confidence_raw_llm": "52.0",
      "recorded_price": "225.51 (Price (225.51) > MA20 (221.15))"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "probabilities.up 0.40 을 metadata.confidence 로 (34 의 Brier 는 confidence 가 아니라 probabilities.up 으로 잰다 — RUN-LOG.md:220)"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 — 이 회차 기록에 레벨이 없다"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_d642687254bf3bfb4cbd617408ae",
     "test_id": "ft_2805ba24fd22a96a167cdea2",
     "variant_id": "trial",
     "round_id": "ft_2805ba24fd22a96a167cdea2:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "34-nvda-wait-040",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "orallexa NVDA decision=WAIT p_up=0.40 p_neutral=0.35 p_down=0.25 confidence_shown=42.6 risk=MEDIUM",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "part": "34",
      "tool": "34-orallexa",
      "source": "reports/a/34-orallexa/raw/probe-basket.json [0] · raw/probe-nvda.json",
      "verdict": "WAIT",
      "confidence": "0.4",
      "recorded_price": "225.51 (Price (225.51) > MA20 (221.15))",
      "confidence_shown": "42.6",
      "probability_field": "probabilities.up",
      "confidence_raw_llm": "52.0"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.397598+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.398131+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.397722+09:00",
      "effective_close_at": "2026-09-29T13:27:53.397722+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 12,
      "remaining": 188,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "NVDA",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.397722+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.399090+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P34-MSFT",
   "part": "34",
   "what": "MSFT decision=BUY p_up 0.55 인데 **확신도 게이트가 막아서 주문이 안 나갔다** @ $500.40 — 그때 샀다면",
   "verdict_record": "DECISION MSFT decision=BUY confidence=50.8% risk=MEDIUM / SKIP MSFT — confidence 50.8% below gate 60.0% / PILOT_DONE trades=0 decisions=1 (pilot-gate60.txt)",
   "counterfactual": "**「주문하지 않기로 한 결정」의 가장 순수한 표본** — 판단은 BUY 인데 게이트가 주문을 막았다. 도구의 판단이 옳았는지가 아니라 **게이트가 옳았는지**를 잰다.",
   "why_side": "롱 — 도구의 판단 자체가 BUY 다. 게이트만 없었으면 롱 주문이 나갔다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "us-equity",
     "symbol": "MSFT",
     "client_order_id": "34-msft-gated-055",
     "side": "long",
     "exit_plan": {
      "close_after_seconds": 600
     },
     "memo": "orallexa pilot gate60: DECISION MSFT decision=BUY confidence=50.8% → SKIP MSFT — confidence 50.8% below gate 60.0% · PILOT_DONE trades=0",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "verdict": "BUY (게이트에 막혀 주문 0건)",
      "confidence": "0.55",
      "source": "reports/a/34-orallexa/raw/pilot-gate60.txt:3-5 · RUN-LOG.md:153",
      "part": "34",
      "tool": "34-orallexa",
      "confidence_shown": "50.8",
      "gate": "60.0",
      "recorded_price": "500.40 (pilot-gate45 실주문 \"BUY 9 MSFT @ $500.40\")"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "가격 조건 없음 — 그 실주문 로그가 \"stop=$0.00, target=$0.00\" 이다 (RUN-LOG.md:143). 도구가 레벨을 안 걸었다"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_943326b1e616929ba6683cf25936",
     "test_id": "ft_97088ca1b927662627978d5b",
     "variant_id": "trial",
     "round_id": "ft_97088ca1b927662627978d5b:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "1",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "34-msft-gated-055",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "orallexa pilot gate60: DECISION MSFT decision=BUY confidence=50.8% → SKIP MSFT — confidence 50.8% below gate 60.0% · PILOT_DONE trades=0",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "gate": "60.0",
      "part": "34",
      "tool": "34-orallexa",
      "source": "reports/a/34-orallexa/raw/pilot-gate60.txt:3-5 · RUN-LOG.md:153",
      "verdict": "BUY (게이트에 막혀 주문 0건)",
      "confidence": "0.55",
      "recorded_price": "500.40 (pilot-gate45 실주문 \"BUY 9 MSFT @ $500.40\")",
      "confidence_shown": "50.8"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:27:53.400457+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:27:53.401099+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": null,
      "stop_loss": null
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": null,
      "take_profit": null,
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:27:53.400608+09:00",
      "effective_close_at": "2026-09-29T13:27:53.400608+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 13,
      "remaining": 187,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "us-equity",
     "symbol": "MSFT",
     "qty_basis": {
      "lot": "1",
      "rule": "one_share_or_contract",
      "venue": "us-equity",
      "source": "symbol_metadata",
      "min_notional": "1",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "us-equity",
      "version": 4
     },
     "expires_at": "2026-09-29T13:27:53.400608+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:27:53.402189+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "29A-BTC-WAIT-088-track",
   "part": "29A",
   "what": "BTC 롱 (WAIT 0.88)",
   "test_id": "ft_b8896e15ea5d25ef645db157",
   "samples": [
    {
     "at": "2026-09-28T04:27:53.405044+00:00",
     "elapsed_s": 0.0,
     "status": "entering",
     "auto_close_state": "waiting_entry",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    },
    {
     "at": "2026-09-28T04:27:55.409817+00:00",
     "elapsed_s": 2.0,
     "status": "open",
     "auto_close_state": "armed",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "85474.04645",
      "at": "2026-09-28T13:27:53.355380+09:00"
     },
     "exit": null,
     "net_pnl": null,
     "fees": "0.00683792"
    },
    {
     "at": "2026-09-28T04:37:54.565851+00:00",
     "elapsed_s": 601.2,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "85474.04645",
      "at": "2026-09-28T13:27:53.355380+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "85454.95355",
      "at": "2026-09-28T13:37:54.516661+09:00"
     },
     "net_pnl": "-0.0152017520",
     "fees": "0.01367432"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "85474.04645",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:27:53.355380+09:00",
    "exit_px": "85454.95355",
    "exit_at": "2026-09-28T13:37:54.516661+09:00",
    "fees": "0.01367432",
    "net_pnl": "-0.0152017520",
    "entry_notional": "6.8379237160",
    "breakeven_move_pct": "0.2223153201377422327476576371",
    "wait_was_right": true,
    "reading": "순손익 -0.0152017520 (진입금액 6.8379237160). 이 도구가 틀리려면 600초 안에 최소 0.2223% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_b8896e15ea5d25ef645db157",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "85464.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.353998+09:00",
    "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.88 entry_quality=poor",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/RUN-LOG.md:148",
     "verdict": "WAIT",
     "confidence": "0.88",
     "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
     "judged_at_utc": "03:16:54"
    },
    "created_at": "2026-09-28T13:27:53.354155+09:00",
    "started_at": "2026-09-28T13:27:53.354643+09:00",
    "expires_at": "2026-09-29T13:27:53.353998+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T13:37:54.492859+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.354328+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_b8896e15ea5d25ef645db157:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:27:54.196296+09:00",
       "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:27:53.353998+09:00",
       "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:37:54.196296+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:37:54.492864+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "85474.04645",
       "at": "2026-09-28T13:27:53.355380+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "85454.95355",
       "at": "2026-09-28T13:37:54.516661+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01367432",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015274320",
      "net_pnl": "-0.0152017520",
      "realized_pnl": "-0.0152017520",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "85464",
      "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:37:54.492859+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "29A-BTC-WAIT-090-track",
   "part": "29A",
   "what": "BTC 롱 (WAIT 0.90)",
   "test_id": "ft_d1db6a34c97def5e3585b5da",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.568861+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "85474.04645",
      "at": "2026-09-28T13:27:53.360762+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "85454.95355",
      "at": "2026-09-28T13:37:54.514517+09:00"
     },
     "net_pnl": "-0.0152017520",
     "fees": "0.01367432"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "85474.04645",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:27:53.360762+09:00",
    "exit_px": "85454.95355",
    "exit_at": "2026-09-28T13:37:54.514517+09:00",
    "fees": "0.01367432",
    "net_pnl": "-0.0152017520",
    "entry_notional": "6.8379237160",
    "breakeven_move_pct": "0.2223153201377422327476576371",
    "wait_was_right": true,
    "reading": "순손익 -0.0152017520 (진입금액 6.8379237160). 이 도구가 틀리려면 600초 안에 최소 0.2223% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_d1db6a34c97def5e3585b5da",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "85464.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.359916+09:00",
    "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.9 entry_quality=poor",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/RUN-LOG.md:149",
     "verdict": "WAIT",
     "confidence": "0.9",
     "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
     "judged_at_utc": "03:22:41"
    },
    "created_at": "2026-09-28T13:27:53.360052+09:00",
    "started_at": "2026-09-28T13:27:53.360200+09:00",
    "expires_at": "2026-09-29T13:27:53.359916+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T13:37:54.492859+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.360115+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_d1db6a34c97def5e3585b5da:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:27:54.196296+09:00",
       "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:27:53.359916+09:00",
       "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:37:54.196296+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:37:54.492864+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "85474.04645",
       "at": "2026-09-28T13:27:53.360762+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "85454.95355",
       "at": "2026-09-28T13:37:54.514517+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01367432",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015274320",
      "net_pnl": "-0.0152017520",
      "realized_pnl": "-0.0152017520",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "85464",
      "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:37:54.492859+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "29A-BTC-WAIT-089-track",
   "part": "29A",
   "what": "BTC 롱 (WAIT 0.89)",
   "test_id": "ft_97407c5aed2457ee401bc602",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.571710+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "85474.04645",
      "at": "2026-09-28T13:27:53.364913+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "85454.95355",
      "at": "2026-09-28T13:37:54.515718+09:00"
     },
     "net_pnl": "-0.0152017520",
     "fees": "0.01367432"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "85474.04645",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:27:53.364913+09:00",
    "exit_px": "85454.95355",
    "exit_at": "2026-09-28T13:37:54.515718+09:00",
    "fees": "0.01367432",
    "net_pnl": "-0.0152017520",
    "entry_notional": "6.8379237160",
    "breakeven_move_pct": "0.2223153201377422327476576371",
    "wait_was_right": true,
    "reading": "순손익 -0.0152017520 (진입금액 6.8379237160). 이 도구가 틀리려면 600초 안에 최소 0.2223% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_97407c5aed2457ee401bc602",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "85464.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.364321+09:00",
    "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.89 entry_quality=poor",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/RUN-LOG.md:150",
     "verdict": "WAIT",
     "confidence": "0.89",
     "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
     "judged_at_utc": "03:38:16"
    },
    "created_at": "2026-09-28T13:27:53.364407+09:00",
    "started_at": "2026-09-28T13:27:53.364513+09:00",
    "expires_at": "2026-09-29T13:27:53.364321+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T13:37:54.492859+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.364449+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_97407c5aed2457ee401bc602:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:27:54.196296+09:00",
       "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:27:53.364321+09:00",
       "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:37:54.196296+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:37:54.492864+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "85474.04645",
       "at": "2026-09-28T13:27:53.364913+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "85454.95355",
       "at": "2026-09-28T13:37:54.515718+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01367432",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015274320",
      "net_pnl": "-0.0152017520",
      "realized_pnl": "-0.0152017520",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "85464",
      "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:37:54.492859+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "29A-BTC-SKIP-020-track",
   "part": "29A",
   "what": "BTC 롱 (SKIP 0.20)",
   "test_id": "ft_c285b882d211c9c023978b9e",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.574207+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "85474.04645",
      "at": "2026-09-28T13:27:53.368675+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "85454.95355",
      "at": "2026-09-28T13:37:54.517518+09:00"
     },
     "net_pnl": "-0.0152017520",
     "fees": "0.01367432"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "85474.04645",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:27:53.368675+09:00",
    "exit_px": "85454.95355",
    "exit_at": "2026-09-28T13:37:54.517518+09:00",
    "fees": "0.01367432",
    "net_pnl": "-0.0152017520",
    "entry_notional": "6.8379237160",
    "breakeven_move_pct": "0.2223153201377422327476576371",
    "wait_was_right": true,
    "reading": "순손익 -0.0152017520 (진입금액 6.8379237160). 이 도구가 틀리려면 600초 안에 최소 0.2223% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_c285b882d211c9c023978b9e",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "85464.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.367993+09:00",
    "memo": "MAHORAGA BTC/USD verdict=SKIP confidence=0.20 (gpt-4o-mini)",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/RUN-LOG.md:158",
     "verdict": "SKIP",
     "llm_model": "openai/gpt-4o-mini",
     "confidence": "0.2",
     "judged_at_utc": "03:44:12"
    },
    "created_at": "2026-09-28T13:27:53.368074+09:00",
    "started_at": "2026-09-28T13:27:53.368180+09:00",
    "expires_at": "2026-09-29T13:27:53.367993+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T13:37:54.492859+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.368122+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_c285b882d211c9c023978b9e:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:27:54.196296+09:00",
       "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:27:53.367993+09:00",
       "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:37:54.196296+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:37:54.492864+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "85474.04645",
       "at": "2026-09-28T13:27:53.368675+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "85454.95355",
       "at": "2026-09-28T13:37:54.517518+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01367432",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015274320",
      "net_pnl": "-0.0152017520",
      "realized_pnl": "-0.0152017520",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "85464",
      "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:37:54.492859+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "29A-GME-track",
   "part": "29A",
   "what": "GME 롱 (WAIT 0.88)",
   "test_id": "ft_bfe19bfcc894a7a55bcf1528",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.576867+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_bfe19bfcc894a7a55bcf1528",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "GME",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.372499+09:00",
    "memo": "MAHORAGA signalResearch GME verdict=WAIT confidence=0.88 entry_quality=poor",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/raw/status_run1.json GME · RUN-LOG.md:170",
     "verdict": "WAIT",
     "confidence": "0.88",
     "supplied_price": "23.49"
    },
    "created_at": "2026-09-28T13:27:53.372577+09:00",
    "started_at": "2026-09-28T13:27:53.372672+09:00",
    "expires_at": "2026-09-29T13:27:53.372499+09:00",
    "ended_at": "2026-09-28T13:27:54.202525+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.372620+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_bfe19bfcc894a7a55bcf1528:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.372499+09:00",
       "effective_close_at": "2026-09-29T13:27:53.372499+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "29A-BB-track",
   "part": "29A",
   "what": "BB 롱 (WAIT 0.89)",
   "test_id": "ft_b403229108e8e8090d89a170",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.579541+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_b403229108e8e8090d89a170",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "BB",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.376280+09:00",
    "memo": "MAHORAGA signalResearch BB verdict=WAIT confidence=0.89 entry_quality=poor",
    "tags": [
     "counterfactual",
     "part-29A"
    ],
    "metadata": {
     "part": "29A",
     "tool": "29A-MAHORAGA",
     "source": "reports/a/29-account-walls/raw/status_run1.json BB · RUN-LOG.md:174",
     "verdict": "WAIT",
     "confidence": "0.89",
     "supplied_price": "8.5454"
    },
    "created_at": "2026-09-28T13:27:53.376372+09:00",
    "started_at": "2026-09-28T13:27:53.376511+09:00",
    "expires_at": "2026-09-29T13:27:53.376280+09:00",
    "ended_at": "2026-09-28T13:27:54.203753+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.376428+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_b403229108e8e8090d89a170:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.376280+09:00",
       "effective_close_at": "2026-09-29T13:27:53.376280+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P25-LONG-track",
   "part": "25",
   "what": "NVDA 롱 (관망의 반대)",
   "test_id": "ft_9efe557d059a0e75bc6b3cf4",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.582105+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_9efe557d059a0e75bc6b3cf4",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.380481+09:00",
    "memo": "daily_stock_analysis NVDA operation_advice=관망 decision_type=hold confidence_level=중간",
    "tags": [
     "counterfactual",
     "part-25"
    ],
    "metadata": {
     "part": "25",
     "tool": "25-daily_stock_analysis",
     "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
     "verdict": "관망 (decision_type=hold)",
     "close_px": "227.38",
     "ideal_buy": "219.01",
     "confidence": "중간 (숫자 아님)",
     "consistency": "5회 독립 판단 전부 hold/관망 (RUN-LOG.md:125)",
     "secondary_buy": "219.16"
    },
    "created_at": "2026-09-28T13:27:53.380569+09:00",
    "started_at": "2026-09-28T13:27:53.380662+09:00",
    "expires_at": "2026-09-29T13:27:53.380481+09:00",
    "ended_at": "2026-09-28T13:27:54.204948+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.380611+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_9efe557d059a0e75bc6b3cf4:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "218.90",
       "take_profit": "230.00",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "218.90",
       "take_profit": "230.00",
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.380481+09:00",
       "effective_close_at": "2026-09-29T13:27:53.380481+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P25-SHORT-track",
   "part": "25",
   "what": "NVDA 숏 (도구가 시사한 눌림)",
   "test_id": "ft_d107f931ee2003043daebdd6",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.584762+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_d107f931ee2003043daebdd6",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.383751+09:00",
    "memo": "daily_stock_analysis NVDA 관망 — MA5 대비 +3.82% 이격 · MACD DIF<DEA · 역배열",
    "tags": [
     "counterfactual",
     "part-25"
    ],
    "metadata": {
     "part": "25",
     "tool": "25-daily_stock_analysis",
     "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
     "stop_is": "저항 234.50 (채팅 경로 3/3 동일, RUN-LOG.md:127)",
     "verdict": "관망 (decision_type=hold)",
     "target_is": "ideal_buy 219.01 (MA5)",
     "confidence": "중간 (숫자 아님)"
    },
    "created_at": "2026-09-28T13:27:53.383820+09:00",
    "started_at": "2026-09-28T13:27:53.383915+09:00",
    "expires_at": "2026-09-29T13:27:53.383751+09:00",
    "ended_at": "2026-09-28T13:27:54.206309+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.383861+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_d107f931ee2003043daebdd6:trial:1",
      "status": "closed",
      "side": "short",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "234.50",
       "take_profit": "219.01",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "234.50",
       "take_profit": "219.01",
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.383751+09:00",
       "effective_close_at": "2026-09-29T13:27:53.383751+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P27-LONG-track",
   "part": "27",
   "what": "NVDA 롱 (기다리지 않고 지금)",
   "test_id": "ft_84e39e7f7fe109396b4dca50",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.587671+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_84e39e7f7fe109396b4dca50",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.387198+09:00",
    "memo": "AI Trading Analyst /trade thesis NVDA r1 — DIRECTION LONG · ENTRY 222.60 (limit) · STOP 211.00 · T1 235.75. 진입가가 종가 227.30 아래 = 눌림 대기",
    "tags": [
     "counterfactual",
     "part-27"
    ],
    "metadata": {
     "t1": "235.75",
     "t2": "280.00",
     "t3": "315.00",
     "qty": "22",
     "part": "27",
     "stop": "211.00",
     "tool": "27-AI-Trading-Analyst",
     "entry": "222.60",
     "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
     "horizon": "3-6개월",
     "verdict": "LONG (단 \"지금 사라\"가 아니다 — 진입 222.60 < 종가 227.30)",
     "confidence": "Medium (Conviction, 숫자 아님)"
    },
    "created_at": "2026-09-28T13:27:53.387270+09:00",
    "started_at": "2026-09-28T13:27:53.387355+09:00",
    "expires_at": "2026-09-29T13:27:53.387198+09:00",
    "ended_at": "2026-09-28T13:27:54.207606+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.387308+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_84e39e7f7fe109396b4dca50:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "211.00",
       "take_profit": "235.75",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "211.00",
       "take_profit": "235.75",
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.387198+09:00",
       "effective_close_at": "2026-09-29T13:27:53.387198+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P27-SHORT-track",
   "part": "27",
   "what": "NVDA 숏 (도구가 기다린 눌림)",
   "test_id": "ft_2296f703e2661a72a2ebc7b4",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.590602+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_2296f703e2661a72a2ebc7b4",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.391026+09:00",
    "memo": "AI Trading Analyst r1 — 눌림 대기 진입 222.60 을 숏 목표로",
    "tags": [
     "counterfactual",
     "part-27"
    ],
    "metadata": {
     "note": "도구는 롱이다. 숏은 도구가 기대한 **단기 눌림**만 겨눈다",
     "part": "27",
     "tool": "27-AI-Trading-Analyst",
     "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
     "verdict": "LONG (눌림 대기)",
     "confidence": "Medium"
    },
    "created_at": "2026-09-28T13:27:53.391088+09:00",
    "started_at": "2026-09-28T13:27:53.391172+09:00",
    "expires_at": "2026-09-29T13:27:53.391026+09:00",
    "ended_at": "2026-09-28T13:27:54.208757+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.391126+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_2296f703e2661a72a2ebc7b4:trial:1",
      "status": "closed",
      "side": "short",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "235.75",
       "take_profit": "222.60",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "235.75",
       "take_profit": "222.60",
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.391026+09:00",
       "effective_close_at": "2026-09-29T13:27:53.391026+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P31-NVDA-track",
   "part": "31",
   "what": "NVDA 롱 (HOLD/NEUTRAL + 도구 레벨)",
   "test_id": "ft_e473db2daebd0a50c25ca3a2",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.593878+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_e473db2daebd0a50c25ca3a2",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.394395+09:00",
    "memo": "AlpacaTradingAgent nvda-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 220.92 · take_profit_price 234.75",
    "tags": [
     "counterfactual",
     "part-31"
    ],
    "metadata": {
     "part": "31",
     "tool": "31-AlpacaTradingAgent",
     "source": "reports/a/31-alpaca-trading-agent/raw/nvda-2.json final_trade_intent · RUN-LOG.md:125",
     "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
     "confidence": "medium (문자열, 숫자 아님)",
     "consistency": "NVDA 3판 전부 HOLD/NEUTRAL, 손절 220.92 3/3 동일 (RUN-LOG.md:124-126)",
     "advisory_rating": "Hold"
    },
    "created_at": "2026-09-28T13:27:53.394463+09:00",
    "started_at": "2026-09-28T13:27:53.394555+09:00",
    "expires_at": "2026-09-29T13:27:53.394395+09:00",
    "ended_at": "2026-09-28T13:27:54.209868+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.394502+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_e473db2daebd0a50c25ca3a2:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "220.92",
       "take_profit": "234.75",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "220.92",
       "take_profit": "234.75",
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.394395+09:00",
       "effective_close_at": "2026-09-29T13:27:53.394395+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P34-NVDA-track",
   "part": "34",
   "what": "NVDA 롱 (WAIT p_up 0.40)",
   "test_id": "ft_2805ba24fd22a96a167cdea2",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.596501+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_2805ba24fd22a96a167cdea2",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "NVDA",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.397722+09:00",
    "memo": "orallexa NVDA decision=WAIT p_up=0.40 p_neutral=0.35 p_down=0.25 confidence_shown=42.6 risk=MEDIUM",
    "tags": [
     "counterfactual",
     "part-34"
    ],
    "metadata": {
     "part": "34",
     "tool": "34-orallexa",
     "source": "reports/a/34-orallexa/raw/probe-basket.json [0] · raw/probe-nvda.json",
     "verdict": "WAIT",
     "confidence": "0.4",
     "recorded_price": "225.51 (Price (225.51) > MA20 (221.15))",
     "confidence_shown": "42.6",
     "probability_field": "probabilities.up",
     "confidence_raw_llm": "52.0"
    },
    "created_at": "2026-09-28T13:27:53.397770+09:00",
    "started_at": "2026-09-28T13:27:53.397832+09:00",
    "expires_at": "2026-09-29T13:27:53.397722+09:00",
    "ended_at": "2026-09-28T13:27:54.211098+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.397801+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_2805ba24fd22a96a167cdea2:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.397722+09:00",
       "effective_close_at": "2026-09-29T13:27:53.397722+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P34-MSFT-track",
   "part": "34",
   "what": "MSFT 롱 (BUY 인데 게이트가 막음)",
   "test_id": "ft_97088ca1b927662627978d5b",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.598907+00:00",
     "elapsed_s": 0.0,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": null,
     "close_reason": "rejected:market_closed",
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "rejected:market_closed",
    "exit_trigger": null,
    "exit_trigger_px": null,
    "entry_px": null,
    "entry_qty": null,
    "entry_at": null,
    "exit_px": null,
    "exit_at": null,
    "fees": "0",
    "net_pnl": null,
    "wait_was_right": null,
    "reading": "체결이 없어 손익을 잴 수 없다 — close_reason 을 보라. 이 케이스의 「관망이 옳았나」는 이 회차에서 **미판정**이다."
   },
   "final_detail": {
    "test_id": "ft_97088ca1b927662627978d5b",
    "status": "ended",
    "venue": "us-equity",
    "symbol": "MSFT",
    "qty": "1",
    "qty_basis": {
     "lot": "1",
     "rule": "one_share_or_contract",
     "venue": "us-equity",
     "source": "symbol_metadata",
     "min_notional": "1",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "us-equity",
     "version": 4
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:27:53.400608+09:00",
    "memo": "orallexa pilot gate60: DECISION MSFT decision=BUY confidence=50.8% → SKIP MSFT — confidence 50.8% below gate 60.0% · PILOT_DONE trades=0",
    "tags": [
     "counterfactual",
     "part-34"
    ],
    "metadata": {
     "gate": "60.0",
     "part": "34",
     "tool": "34-orallexa",
     "source": "reports/a/34-orallexa/raw/pilot-gate60.txt:3-5 · RUN-LOG.md:153",
     "verdict": "BUY (게이트에 막혀 주문 0건)",
     "confidence": "0.55",
     "recorded_price": "500.40 (pilot-gate45 실주문 \"BUY 9 MSFT @ $500.40\")",
     "confidence_shown": "50.8"
    },
    "created_at": "2026-09-28T13:27:53.400673+09:00",
    "started_at": "2026-09-28T13:27:53.400750+09:00",
    "expires_at": "2026-09-29T13:27:53.400608+09:00",
    "ended_at": "2026-09-28T13:27:54.212224+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:27:54.180411+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:27:53.400712+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_97088ca1b927662627978d5b:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": null,
       "take_profit": null,
       "close_after_seconds": 600,
       "relative_from": null,
       "relative_close_at": null,
       "relative_clock_started": false,
       "max_duration_until": "2026-09-29T13:27:53.400608+09:00",
       "effective_close_at": "2026-09-29T13:27:53.400608+09:00",
       "effective_close_basis": "max_duration",
       "trigger": null,
       "triggered_at": null,
       "trigger_px": null,
       "attempts": 0,
       "retry_at": null,
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": null,
      "exit_trigger_at": null,
      "exit_trigger_px": null,
      "entry": null,
      "exit": null,
      "open_qty": "0",
      "fees": "0",
      "fee_ccy": null,
      "gross_pnl": null,
      "net_pnl": null,
      "realized_pnl": null,
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": null,
      "unrealized_as_of": null,
      "close_reason": "rejected:market_closed",
      "orders": 1,
      "fills": 0
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:27:54.180411+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P31-BTC",
   "part": "31",
   "what": "btc-2 action=HOLD · NEUTRAL · stop 84,800 / target 88,500 — 그때 샀다면",
   "verdict_record": "action: HOLD · target_position: NEUTRAL · order_type: none · stop_loss_price: 84800.0 · take_profit_price: 88500.0 · \"no immediate entry\" (btc-2.json)",
   "counterfactual": "\"지금은 들어가지 마라\"의 반대 — 지금 산다. 24/7 거래소라 **체결까지 실제로 간다**(us-equity 는 이 회차에서 폐장이다).",
   "why_side": "롱 — 손절 84,800 < 목표 88,500 으로 도구의 레벨 배치가 롱이다. 하락 시사 없음(중립 유지).",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "31-btc-2-hold",
     "side": "long",
     "exit_plan": {
      "stop_loss": "84800",
      "take_profit": "88500",
      "close_after_seconds": 600
     },
     "memo": "AlpacaTradingAgent btc-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 84800 · take_profit_price 88500",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-31"
     ],
     "metadata": {
      "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
      "confidence": "medium (문자열)",
      "source": "reports/a/31-alpaca-trading-agent/raw/btc-2.json · RUN-LOG.md:122",
      "part": "31",
      "tool": "31-AlpacaTradingAgent",
      "advisory_rating": "Hold",
      "entry_guidance": "\"no immediate entry. Consider a small staged entry only after a confirmed 4-hour reclaim and retest above $86,000, or a validated pivot hold above $84,940\"",
      "invalidation": "\"Sustained 4-hour close below $84,940 followed by a break of $82,500\""
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "risk_controls 값 그대로. BTC/USD → binance-spot BTCUSDT"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_f92327ec9bc90004174238378cdc",
     "test_id": "ft_b86263219a223ac13a55c160",
     "variant_id": "trial",
     "round_id": "ft_b86263219a223ac13a55c160:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "31-btc-2-hold",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "AlpacaTradingAgent btc-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 84800 · take_profit_price 88500",
     "tags": [
      "counterfactual",
      "part-31"
     ],
     "metadata": {
      "part": "31",
      "tool": "31-AlpacaTradingAgent",
      "source": "reports/a/31-alpaca-trading-agent/raw/btc-2.json · RUN-LOG.md:122",
      "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
      "confidence": "medium (문자열)",
      "invalidation": "\"Sustained 4-hour close below $84,940 followed by a break of $82,500\"",
      "entry_guidance": "\"no immediate entry. Consider a small staged entry only after a confirmed 4-hour reclaim and retest above $86,000, or a validated pivot hold above $84,940\"",
      "advisory_rating": "Hold"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:37:54.602898+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:37:54.604352+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "88500",
      "stop_loss": "84800"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "84800",
      "take_profit": "88500",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:37:54.603208+09:00",
      "effective_close_at": "2026-09-29T13:37:54.603208+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 5,
      "remaining": 195,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "85464.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:37:54.603208+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:37:54.606239+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P31-BTC-track",
   "part": "31",
   "what": "BTC 롱 (HOLD/NEUTRAL + 도구 레벨)",
   "test_id": "ft_b86263219a223ac13a55c160",
   "samples": [
    {
     "at": "2026-09-28T04:37:54.609315+00:00",
     "elapsed_s": 0.0,
     "status": "entering",
     "auto_close_state": "waiting_entry",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    },
    {
     "at": "2026-09-28T04:37:56.613111+00:00",
     "elapsed_s": 2.0,
     "status": "open",
     "auto_close_state": "armed",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "84949.99405",
      "at": "2026-09-28T13:37:54.604145+09:00"
     },
     "exit": null,
     "net_pnl": null,
     "fees": "0.00679600"
    },
    {
     "at": "2026-09-28T04:47:57.831853+00:00",
     "elapsed_s": 603.2,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "ended",
     "end_reason": "trial_completed",
     "exit_trigger_at": "2026-09-28T13:47:55.524211+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "84949.99405",
      "at": "2026-09-28T13:37:54.604145+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "84931.00595",
      "at": "2026-09-28T13:47:56.147687+09:00"
     },
     "net_pnl": "-0.0151095280",
     "fees": "0.01359048"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "84949.99405",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:37:54.604145+09:00",
    "exit_px": "84931.00595",
    "exit_at": "2026-09-28T13:47:56.147687+09:00",
    "fees": "0.01359048",
    "net_pnl": "-0.0151095280",
    "entry_notional": "6.7959995240",
    "breakeven_move_pct": "0.2223297389389281540508830677",
    "wait_was_right": true,
    "reading": "순손익 -0.0151095280 (진입금액 6.7959995240). 이 도구가 틀리려면 600초 안에 최소 0.2223% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_b86263219a223ac13a55c160",
    "status": "ended",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "85464.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:37:54.603208+09:00",
    "memo": "AlpacaTradingAgent btc-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 84800 · take_profit_price 88500",
    "tags": [
     "counterfactual",
     "part-31"
    ],
    "metadata": {
     "part": "31",
     "tool": "31-AlpacaTradingAgent",
     "source": "reports/a/31-alpaca-trading-agent/raw/btc-2.json · RUN-LOG.md:122",
     "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
     "confidence": "medium (문자열)",
     "invalidation": "\"Sustained 4-hour close below $84,940 followed by a break of $82,500\"",
     "entry_guidance": "\"no immediate entry. Consider a small staged entry only after a confirmed 4-hour reclaim and retest above $86,000, or a validated pivot hold above $84,940\"",
     "advisory_rating": "Hold"
    },
    "created_at": "2026-09-28T13:37:54.603359+09:00",
    "started_at": "2026-09-28T13:37:54.603700+09:00",
    "expires_at": "2026-09-29T13:37:54.603208+09:00",
    "ended_at": "2026-09-28T13:47:57.149918+09:00",
    "end_reason": "trial_completed",
    "cursor_at": "2026-09-28T13:47:56.139405+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:37:54.603521+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_b86263219a223ac13a55c160:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "84800",
       "take_profit": "88500",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "84800",
       "take_profit": "88500",
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:37:55.524211+09:00",
       "relative_close_at": "2026-09-28T13:47:55.524211+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:37:54.603208+09:00",
       "effective_close_at": "2026-09-28T13:47:55.524211+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:47:55.524211+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:47:56.139409+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:47:55.524211+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "84949.99405",
       "at": "2026-09-28T13:37:54.604145+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "84931.00595",
       "at": "2026-09-28T13:47:56.147687+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01359048",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015190480",
      "net_pnl": "-0.0151095280",
      "realized_pnl": "-0.0151095280",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "84940",
      "unrealized_as_of": "2026-09-28T13:47:55.133355+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:47:56.139405+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P12-BTC",
   "part": "12",
   "what": "BTC-USD Rating=Hold — \"현재 81,526.82 수준에서 **추가하지 마라**\". 추가했다면",
   "verdict_record": "**Rating**: Hold · \"do not add at the current 81,526.82 level beneath the 82,253.84–83,000 resistance zone\" · \"Treat a sustained close below 78,473.91 as a reason to reduce risk\" · **Price Target**: not provided · **Time Horizon**: 3-6 months (decision.md)",
   "counterfactual": "**이 편만 「계속 들고 있을까」를 재판정한다.** Hold 는 \"팔지도 사지도 마라\"이고, 이 도구가 구체적으로 금지한 것은 **지금 추가하는 것**이다. 그 금지된 행동을 그대로 한다 — 81,526.82 에 추가 매수.",
   "why_side": "롱 — 금지된 행동이 \"add\"(추가 매수)다. 이 도구의 중기 방향은 \"constructive medium-term trend\" 로 상승이라 숏은 반사실이 아니다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "12-btc-hold-add",
     "side": "long",
     "exit_plan": {
      "stop_loss": "78473.91",
      "take_profit": "83000",
      "close_after_seconds": 600
     },
     "memo": "TradingAgents BTC-USD Rating=Hold — \"do not add at the current 81,526.82 level beneath the 82,253.84-83,000 resistance zone\"",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-12"
     ],
     "metadata": {
      "verdict": "Hold",
      "confidence": null,
      "source": "reports/b/01/21-tradingagents-decision.json:10 · reports/b/01/21-tradingagents-reports/reports/BTC-USD_20260921_165229/5_portfolio/decision.md:1,3",
      "part": "12",
      "tool": "12-TradingAgents",
      "price_target": "not provided (원문 그대로)",
      "time_horizon": "3-6 months",
      "repeat": "같은 설정 13판에서 Hold 0/13 · Sell 7 · Underweight 6 (reports/a/12-tradingagents/RUN-LOG.md:39)"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "도구가 이름 붙인 두 수준을 exit_plan 으로 옮겼다: \"reason to reduce risk\" 78,473.91 → stop_loss, 저항대 상단 83,000 (돌파 확인선) → take_profit. **도구는 이 둘을 stop/target 이라고 부르지 않았다** — 원문의 Price Target 칸은 \"not provided\" 다"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값).",
    "두 수준의 **역할 배정**(위험 축소선→손절, 돌파선→목표)은 하네스 판단이다"
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_8be80541e1751574ad530b9b667b",
     "test_id": "ft_45ba7225f9cd599be903fd47",
     "variant_id": "trial",
     "round_id": "ft_45ba7225f9cd599be903fd47:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "12-btc-hold-add",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "TradingAgents BTC-USD Rating=Hold — \"do not add at the current 81,526.82 level beneath the 82,253.84-83,000 resistance zone\"",
     "tags": [
      "counterfactual",
      "part-12"
     ],
     "metadata": {
      "part": "12",
      "tool": "12-TradingAgents",
      "repeat": "같은 설정 13판에서 Hold 0/13 · Sell 7 · Underweight 6 (reports/a/12-tradingagents/RUN-LOG.md:39)",
      "source": "reports/b/01/21-tradingagents-decision.json:10 · reports/b/01/21-tradingagents-reports/reports/BTC-USD_20260921_165229/5_portfolio/decision.md:1,3",
      "verdict": "Hold",
      "confidence": null,
      "price_target": "not provided (원문 그대로)",
      "time_horizon": "3-6 months"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:47:57.835152+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:47:57.836961+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "83000",
      "stop_loss": "78473.91"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "78473.91",
      "take_profit": "83000",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:47:57.835501+09:00",
      "effective_close_at": "2026-09-29T13:47:57.835501+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 6,
      "remaining": 194,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "84940.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:47:57.835501+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:47:57.838640+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P12-BTC-track",
   "part": "12",
   "what": "BTC 롱 (Hold 인데 추가 매수)",
   "test_id": "ft_45ba7225f9cd599be903fd47",
   "samples": [
    {
     "at": "2026-09-28T04:47:57.841345+00:00",
     "elapsed_s": 0.0,
     "status": "entering",
     "auto_close_state": "waiting_entry",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    },
    {
     "at": "2026-09-28T04:47:59.844440+00:00",
     "elapsed_s": 2.0,
     "status": "open",
     "auto_close_state": "armed",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "81535.65265",
      "at": "2026-09-28T13:47:57.836419+09:00"
     },
     "exit": null,
     "net_pnl": null,
     "fees": "0.00652285"
    },
    {
     "at": "2026-09-28T04:57:59.036543+00:00",
     "elapsed_s": 601.2,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T13:57:58.154445+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "81535.65265",
      "at": "2026-09-28T13:47:57.836419+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "81517.34735",
      "at": "2026-09-28T13:57:58.569071+09:00"
     },
     "net_pnl": "-0.0145086640",
     "fees": "0.01304424"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "81535.65265",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:47:57.836419+09:00",
    "exit_px": "81517.34735",
    "exit_at": "2026-09-28T13:57:58.569071+09:00",
    "fees": "0.01304424",
    "net_pnl": "-0.0145086640",
    "entry_notional": "6.5228522120",
    "breakeven_move_pct": "0.2224282189516514528077429941",
    "wait_was_right": true,
    "reading": "순손익 -0.0145086640 (진입금액 6.5228522120). 이 도구가 틀리려면 600초 안에 최소 0.2224% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_45ba7225f9cd599be903fd47",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "84940.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:47:57.835501+09:00",
    "memo": "TradingAgents BTC-USD Rating=Hold — \"do not add at the current 81,526.82 level beneath the 82,253.84-83,000 resistance zone\"",
    "tags": [
     "counterfactual",
     "part-12"
    ],
    "metadata": {
     "part": "12",
     "tool": "12-TradingAgents",
     "repeat": "같은 설정 13판에서 Hold 0/13 · Sell 7 · Underweight 6 (reports/a/12-tradingagents/RUN-LOG.md:39)",
     "source": "reports/b/01/21-tradingagents-decision.json:10 · reports/b/01/21-tradingagents-reports/reports/BTC-USD_20260921_165229/5_portfolio/decision.md:1,3",
     "verdict": "Hold",
     "confidence": null,
     "price_target": "not provided (원문 그대로)",
     "time_horizon": "3-6 months"
    },
    "created_at": "2026-09-28T13:47:57.835631+09:00",
    "started_at": "2026-09-28T13:47:57.835932+09:00",
    "expires_at": "2026-09-29T13:47:57.835501+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T13:57:58.563033+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:47:57.835774+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_45ba7225f9cd599be903fd47:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "78473.91",
       "take_profit": "83000",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "78473.91",
       "take_profit": "83000",
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:47:58.154445+09:00",
       "relative_close_at": "2026-09-28T13:57:58.154445+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:47:57.835501+09:00",
       "effective_close_at": "2026-09-28T13:57:58.154445+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T13:57:58.154445+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T13:57:58.563038+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T13:57:58.154445+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "81535.65265",
       "at": "2026-09-28T13:47:57.836419+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "81517.34735",
       "at": "2026-09-28T13:57:58.569071+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01304424",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0014644240",
      "net_pnl": "-0.0145086640",
      "realized_pnl": "-0.0145086640",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "81526",
      "unrealized_as_of": "2026-09-28T13:57:57.558893+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T13:57:58.563033+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "P34-BTC-RAW",
   "part": "34",
   "what": "도구 레벨을 **원값 그대로** — stop 82034.9994 / target 88345.384 (틱 0.01)",
   "verdict_record": null,
   "counterfactual": "(본 케이스는 P34-BTC. 이건 원값이 틱을 통과하는지 보는 통제군이다)",
   "why_side": null,
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "34-btc-rawlevels",
     "side": "long",
     "exit_plan": {
      "stop_loss": "82034.9994",
      "take_profit": "88345.384",
      "close_after_seconds": 600
     },
     "memo": "orallexa BTC-USD risk_module 원값 레벨",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "verdict": "BUY (게이트 60% 에 막힘)",
      "confidence": "0.55",
      "source": "reports/a/34-orallexa/raw/btc-decision.json · raw/pilot-gate60.txt",
      "part": "34"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "risk_module.stop_loss_price · take_profit_price 를 손대지 않고 보냈다"
   ],
   "synthesized": [],
   "response": {
    "status": 422,
    "json": {
     "detail": {
      "code": "invalid_take_profit",
      "detail": "88345.384 is not a multiple of tick 0.01",
      "tick": "0.01"
     }
    }
   },
   "at": "2026-09-28T04:57:59.043886+00:00",
   "expected_status": 422,
   "status_matches_expectation": true
  },
  {
   "id": "P34-BTC",
   "part": "34",
   "what": "BTC-USD decision=BUY p_up 0.55 인데 게이트 60% 에 막혀 주문 0건 — 샀다면",
   "verdict_record": "decision: BUY · probabilities.up 0.55 / neutral 0.25 / down 0.20 · confidence_shown 50.8 · risk_module approved=true stop 82034.9994 target 88345.384 — 그런데 기본 게이트 60% 에서 PILOT_DONE trades=0 (btc-decision.json · pilot-gate60.txt)",
   "counterfactual": "**p_up 0.55 = 거의 반반인데 주문을 안 한** 핵심 표본. 도구 자신의 손절·목표를 그대로 걸고 들어간다. 24/7 거래소라 체결·청산까지 실제로 간다.",
   "why_side": "롱 — 판단이 BUY 이고 p_up 0.55 > p_down 0.20 이다.",
   "request": {
    "method": "POST",
    "path": "/v1/trial-buys",
    "body": {
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "client_order_id": "34-btc-gated-055",
     "side": "long",
     "exit_plan": {
      "stop_loss": "82035.00",
      "take_profit": "88345.38",
      "close_after_seconds": 600
     },
     "memo": "orallexa BTC-USD decision=BUY p_up 0.55 confidence_shown 50.8 < gate 60.0 → 주문 없음. risk_module stop 82034.9994 / target 88345.384",
     "client_tracking_id": "a2-04-axis-a",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "verdict": "BUY (게이트 60% 에 막혀 주문 0건)",
      "confidence": "0.55",
      "source": "reports/a/34-orallexa/raw/btc-decision.json · raw/pilot-gate60.txt",
      "part": "34",
      "tool": "34-orallexa",
      "confidence_shown": "50.8",
      "confidence_raw_llm": "62.0",
      "yf_entry_price": "84138.4609375",
      "recommendation": "\"Moderate setup. Half position, stop below support.\"",
      "risk_reward_ratio": "2.0"
     },
     "max_duration_hours": 24
    }
   },
   "transforms": [
    "82034.9994 → 82035.00 (올림) · 88345.384 → 88345.38 (버림). 둘 다 틱 0.01 에 맞춘 것이고, 롱 기준으로 손절은 올려서 더 가깝게 목표는 내려서 더 가깝게 = **양쪽 다 보수적**으로 굴렸다"
   ],
   "synthesized": [
    "close_after_seconds=600 — 도구 기록에 시한이 없다. 관망 판정의 「지금」을 재려고 모든 케이스에 짧게 통일했다(하네스 값).",
    "max_duration_hours=24 — 도구 기록에 보유 기간이 없다(하네스 값)."
   ],
   "response": {
    "status": 201,
    "json": {
     "order_id": "fto_84cefc502d1d82cbe6380ca4218e",
     "test_id": "ft_a3fb4af272c721d751db24e5",
     "variant_id": "trial",
     "round_id": "ft_a3fb4af272c721d751db24e5:trial:1",
     "action": "enter",
     "state": "accepted",
     "order_type": "market",
     "limit_px": null,
     "qty": "0.00008",
     "filled_qty": "0",
     "reject_code": null,
     "client_order_id": "34-btc-gated-055",
     "client_tracking_id": "a2-04-axis-a",
     "memo": "orallexa BTC-USD decision=BUY p_up 0.55 confidence_shown 50.8 < gate 60.0 → 주문 없음. risk_module stop 82034.9994 / target 88345.384",
     "tags": [
      "counterfactual",
      "part-34"
     ],
     "metadata": {
      "part": "34",
      "tool": "34-orallexa",
      "source": "reports/a/34-orallexa/raw/btc-decision.json · raw/pilot-gate60.txt",
      "verdict": "BUY (게이트 60% 에 막혀 주문 0건)",
      "confidence": "0.55",
      "recommendation": "\"Moderate setup. Half position, stop below support.\"",
      "yf_entry_price": "84138.4609375",
      "confidence_shown": "50.8",
      "risk_reward_ratio": "2.0",
      "confidence_raw_llm": "62.0"
     },
     "origin": {
      "kind": "api_key",
      "user_id": "u_d5da894146669b43",
      "client_id": "wqk_4c3bb562aec1",
      "api_key_id": "wqk_4c3bb562aec1",
      "received_at": "2026-09-28T04:57:59.047676+00:00",
      "container_id": null,
      "slot_version": null,
      "deployment_id": null,
      "schema_version": 1,
      "execution_purpose": "forward_test"
     },
     "counted": true,
     "accepted_at": "2026-09-28T13:57:59.051302+09:00",
     "placed_at": null,
     "terminal_at": null,
     "execution_purpose": "forward_test",
     "affects_account": false,
     "round_no": 1,
     "side": "long",
     "exit_plan": {
      "close_at": null,
      "close_after_seconds": 600,
      "take_profit": "88345.38",
      "stop_loss": "82035.00"
     },
     "auto_close": {
      "managed": true,
      "state": "waiting_entry",
      "close_at": null,
      "stop_loss": "82035.00",
      "take_profit": "88345.38",
      "close_after_seconds": 600,
      "relative_from": null,
      "relative_close_at": null,
      "relative_clock_started": false,
      "max_duration_until": "2026-09-29T13:57:59.049010+09:00",
      "effective_close_at": "2026-09-29T13:57:59.049010+09:00",
      "effective_close_basis": "max_duration",
      "trigger": null,
      "triggered_at": null,
      "trigger_px": null,
      "attempts": 0,
      "retry_at": null,
      "blocked": false,
      "blocked_reason": null,
      "waiting_on": null,
      "exit_block": null,
      "recovery": null,
      "round_status": "entering",
      "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
     },
     "usage": {
      "limit": 200,
      "used": 7,
      "remaining": 193,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00",
      "counted": 1
     },
     "venue": "binance-spot",
     "symbol": "BTCUSDT",
     "qty_basis": {
      "lot": "0.00001",
      "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
      "venue": "binance-spot",
      "source": "symbol_metadata",
      "min_notional": "5",
      "reference_px": "81526.5",
      "price_headroom_pct": "20",
      "contract_multiplier": "1"
     },
     "trial": true,
     "execution_model": {
      "profile_id": "binance-spot",
      "version": 1
     },
     "expires_at": "2026-09-29T13:57:59.049010+09:00",
     "max_duration_hours": 24,
     "data_mode": "realtime",
     "delay_s": 0,
     "paper_only": true,
     "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
    }
   },
   "at": "2026-09-28T04:57:59.054218+00:00",
   "expected_status": 201,
   "status_matches_expectation": true
  },
  {
   "id": "P34-BTC-track",
   "part": "34",
   "what": "BTC 롱 (BUY 인데 게이트가 막음, p_up 0.55)",
   "test_id": "ft_a3fb4af272c721d751db24e5",
   "samples": [
    {
     "at": "2026-09-28T04:57:59.058128+00:00",
     "elapsed_s": 0.0,
     "status": "entering",
     "auto_close_state": "waiting_entry",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "max_duration",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": null,
     "exit": null,
     "net_pnl": null,
     "fees": "0"
    },
    {
     "at": "2026-09-28T04:58:01.063285+00:00",
     "elapsed_s": 2.0,
     "status": "open",
     "auto_close_state": "armed",
     "exit_trigger": null,
     "close_reason": null,
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": null,
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "84147.91385",
      "at": "2026-09-28T13:57:59.050958+09:00"
     },
     "exit": null,
     "net_pnl": null,
     "fees": "0.00673183"
    },
    {
     "at": "2026-09-28T05:08:00.440270+00:00",
     "elapsed_s": 601.4,
     "status": "closed",
     "auto_close_state": "done",
     "exit_trigger": "close_after",
     "close_reason": "close_after",
     "effective_close_basis": "close_after",
     "exit_block": null,
     "waiting_on": null,
     "blocked": false,
     "test_status": "running",
     "end_reason": null,
     "exit_trigger_at": "2026-09-28T14:07:59.572704+09:00",
     "exit_trigger_px": null,
     "entry": {
      "qty": "0.00008",
      "avg_px": "84147.91385",
      "at": "2026-09-28T13:57:59.050958+09:00"
     },
     "exit": {
      "qty": "0.00008",
      "avg_px": "84129.08615",
      "at": "2026-09-28T14:07:59.656090+09:00"
     },
     "net_pnl": "-0.0149683760",
     "fees": "0.01346216"
    }
   ],
   "verdict": {
    "criterion": "합성 호가를 그 도구가 기록한 가격에 고정하고 600초 뒤 순손익을 본다. 순손익 < 0 이면 「그 600초 동안 가격이 손익분기 거리(|순손익|/진입금액)보다 크게 움직이지 않았다면」이라는 조건부로 그 관망이 옳았다. 손익분기 거리가 이 반사실의 측정값이다 — \"그 도구가 틀리려면 10분 안에 최소 X% 움직였어야 한다\". 합성 호가라 이 손익은 시장 사실이 아니다 — 재는 것은 배선과 판정 틀이지 그 도구가 옳았다는 증거가 아니다.",
    "close_reason": "close_after",
    "exit_trigger": "close_after",
    "exit_trigger_px": null,
    "entry_px": "84147.91385",
    "entry_qty": "0.00008",
    "entry_at": "2026-09-28T13:57:59.050958+09:00",
    "exit_px": "84129.08615",
    "exit_at": "2026-09-28T14:07:59.656090+09:00",
    "fees": "0.01346216",
    "net_pnl": "-0.0149683760",
    "entry_notional": "6.7318331080",
    "breakeven_move_pct": "0.2223521551984381131511556778",
    "wait_was_right": true,
    "reading": "순손익 -0.0149683760 (진입금액 6.7318331080). 이 도구가 틀리려면 600초 안에 최소 0.2224% 움직였어야 한다. 그보다 덜 움직였다면 관망이 옳았다. 합성 호가라 이 손익은 시장 사실이 아니다."
   },
   "final_detail": {
    "test_id": "ft_a3fb4af272c721d751db24e5",
    "status": "running",
    "venue": "binance-spot",
    "symbol": "BTCUSDT",
    "qty": "0.00008",
    "qty_basis": {
     "lot": "0.00001",
     "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
     "venue": "binance-spot",
     "source": "symbol_metadata",
     "min_notional": "5",
     "reference_px": "81526.5",
     "price_headroom_pct": "20",
     "contract_multiplier": "1"
    },
    "data_mode": "realtime",
    "delay_s": 0,
    "execution_model": {
     "profile_id": "binance-spot",
     "version": 1
    },
    "monthly_limit": 200,
    "deployment_id": null,
    "trial": true,
    "max_duration_until": "2026-09-29T13:57:59.049010+09:00",
    "memo": "orallexa BTC-USD decision=BUY p_up 0.55 confidence_shown 50.8 < gate 60.0 → 주문 없음. risk_module stop 82034.9994 / target 88345.384",
    "tags": [
     "counterfactual",
     "part-34"
    ],
    "metadata": {
     "part": "34",
     "tool": "34-orallexa",
     "source": "reports/a/34-orallexa/raw/btc-decision.json · raw/pilot-gate60.txt",
     "verdict": "BUY (게이트 60% 에 막혀 주문 0건)",
     "confidence": "0.55",
     "recommendation": "\"Moderate setup. Half position, stop below support.\"",
     "yf_entry_price": "84138.4609375",
     "confidence_shown": "50.8",
     "risk_reward_ratio": "2.0",
     "confidence_raw_llm": "62.0"
    },
    "created_at": "2026-09-28T13:57:59.049196+09:00",
    "started_at": "2026-09-28T13:57:59.049648+09:00",
    "expires_at": "2026-09-29T13:57:59.049010+09:00",
    "ended_at": null,
    "end_reason": null,
    "cursor_at": "2026-09-28T14:07:59.648653+09:00",
    "variants": [
     {
      "variant_id": "trial",
      "label": null,
      "memo": null,
      "metadata": {},
      "round_no": 1,
      "created_at": "2026-09-28T13:57:59.049452+09:00"
     }
    ],
    "comparison": [
     {
      "variant_id": "trial",
      "round_no": 1,
      "round_id": "ft_a3fb4af272c721d751db24e5:trial:1",
      "status": "closed",
      "side": "long",
      "exit_plan": {
       "close_at": null,
       "stop_loss": "82035.00",
       "take_profit": "88345.38",
       "close_after_seconds": 600
      },
      "auto_close": {
       "managed": true,
       "state": "done",
       "close_at": null,
       "stop_loss": "82035.00",
       "take_profit": "88345.38",
       "close_after_seconds": 600,
       "relative_from": "2026-09-28T13:57:59.572704+09:00",
       "relative_close_at": "2026-09-28T14:07:59.572704+09:00",
       "relative_clock_started": true,
       "max_duration_until": "2026-09-29T13:57:59.049010+09:00",
       "effective_close_at": "2026-09-28T14:07:59.572704+09:00",
       "effective_close_basis": "close_after",
       "trigger": "close_after",
       "triggered_at": "2026-09-28T14:07:59.572704+09:00",
       "trigger_px": null,
       "attempts": 1,
       "retry_at": "2026-09-28T14:07:59.648657+09:00",
       "blocked": false,
       "blocked_reason": null,
       "waiting_on": null,
       "exit_block": null,
       "recovery": null,
       "round_status": "closed",
       "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
      },
      "exit_trigger": "close_after",
      "exit_trigger_at": "2026-09-28T14:07:59.572704+09:00",
      "exit_trigger_px": null,
      "entry": {
       "qty": "0.00008",
       "avg_px": "84147.91385",
       "at": "2026-09-28T13:57:59.050958+09:00"
      },
      "exit": {
       "qty": "0.00008",
       "avg_px": "84129.08615",
       "at": "2026-09-28T14:07:59.656090+09:00"
      },
      "open_qty": "0.00000",
      "fees": "0.01346216",
      "fee_ccy": "USDT",
      "gross_pnl": "-0.0015062160",
      "net_pnl": "-0.0149683760",
      "realized_pnl": "-0.0149683760",
      "contract_multiplier": "1",
      "unrealized": null,
      "mark_px": "84138",
      "unrealized_as_of": "2026-09-28T14:07:58.644859+09:00",
      "close_reason": "close_after",
      "orders": 2,
      "fills": 2
     }
    ],
    "feed": {
     "quote_status": "subscribed",
     "subscribed": true,
     "cursor_at": "2026-09-28T14:07:59.648653+09:00",
     "notice": null
    },
    "execution_purpose": "forward_test",
    "paper_only": true,
    "affects_account": false,
    "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다."
   }
  },
  {
   "id": "T8",
   "part": "-",
   "what": "전부 끝난 뒤 usage + 계좌 원장",
   "verdict_record": null,
   "counterfactual": null,
   "why_side": null,
   "request": {
    "method": "GET",
    "path": "/v1/forward-tests/usage",
    "body": null
   },
   "transforms": [],
   "synthesized": [],
   "response": {
    "status": 200,
    "json": {
     "limit": 200,
     "used": 7,
     "remaining": 193,
     "entries_enabled": true,
     "period_start": "2026-09-01T00:00:00+00:00",
     "reset_at": "2026-10-01T00:00:00+00:00",
     "plan": "pro",
     "can_enter": true,
     "counts": "승인된 신규 진입 1건 = 1회 (청산·부분체결·재시도·조회는 0회)",
     "period": "UTC 달력월 · 이월 없음 · 자동 초과 과금 없음"
    }
   },
   "at": "2026-09-28T05:08:00.442850+00:00",
   "expected_status": 200,
   "status_matches_expectation": true,
   "account_snapshot": {
    "account.accounts": [
     {
      "account_id": "acc_u_d5da894146669b43",
      "user_id": "u_d5da894146669b43",
      "portfolio_id": "pf_u_d5da894146669b43",
      "venue": "binance-spot",
      "mode": "paper",
      "base_ccy": "USDT",
      "allocation": 0,
      "broker": null,
      "markets": [],
      "external_account": {},
      "credential_ref": null,
      "created_at": "2026-09-28T13:27:52.770564+09:00"
     }
    ],
    "account.portfolios": [
     {
      "portfolio_id": "pf_u_d5da894146669b43",
      "user_id": "u_d5da894146669b43",
      "name": "default",
      "capital_allocation": 0,
      "risk_budget": {},
      "membership_version": 0,
      "created_at": "2026-09-28T13:27:52.770564+09:00"
     }
    ],
    "account.sleeves": [],
    "account.ledger": [
     {
      "entry_id": 1,
      "txn_id": "a2-04-axis-a-seed",
      "sleeve_id": null,
      "account_id": "acc_u_d5da894146669b43",
      "book": "cash",
      "amount": 100000,
      "ccy": "USDT",
      "ref_kind": "cfa_counterfactual_fixture",
      "ref_id": null,
      "created_at": "2026-09-28T13:27:52.773402+09:00"
     }
    ],
    "account.direction_leases": [],
    "account.reduce_reservations": [],
    "trading.intents": [],
    "trading.fills": [],
    "trading.order_transitions": []
   },
   "account_unchanged_vs_T0": true,
   "usage_ledger": {
    "forward.usage": [
     {
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "used": 7,
      "limit_n": 200
     }
    ],
    "forward.usage_events": [
     {
      "id": 1,
      "order_id": "fto_1e471485eef7fe90b6467f87b9a8",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.356089+09:00"
     },
     {
      "id": 2,
      "order_id": "fto_69f45c9516f8f8969c0a6eacad0f",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.361048+09:00"
     },
     {
      "id": 3,
      "order_id": "fto_fd3f2775487aadbd58e49a458718",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.365177+09:00"
     },
     {
      "id": 4,
      "order_id": "fto_7c001a4319a32171ba06978e7bcd",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.369024+09:00"
     },
     {
      "id": 5,
      "order_id": "fto_826ac0d3ba43d4344a839f94eb97",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.373321+09:00"
     },
     {
      "id": 6,
      "order_id": "fto_c0b1e4d8f7f74e202ee9ad7c2fca",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.377333+09:00"
     },
     {
      "id": 7,
      "order_id": "fto_d1202e86b5509448cc5009ac7c98",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.38115+09:00"
     },
     {
      "id": 8,
      "order_id": "fto_abe34478daf24148579991463577",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.384339+09:00"
     },
     {
      "id": 9,
      "order_id": "fto_c20c2ddec733452a622cd98d081a",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.388085+09:00"
     },
     {
      "id": 10,
      "order_id": "fto_90faabf90b9f4f13d9be5e1c7a41",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.391644+09:00"
     },
     {
      "id": 11,
      "order_id": "fto_2a27b8a4474ba02556221a7d95fd",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.395074+09:00"
     },
     {
      "id": 12,
      "order_id": "fto_d642687254bf3bfb4cbd617408ae",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.3982+09:00"
     },
     {
      "id": 13,
      "order_id": "fto_943326b1e616929ba6683cf25936",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:27:53.401165+09:00"
     },
     {
      "id": 14,
      "order_id": "fto_826ac0d3ba43d4344a839f94eb97",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.201491+09:00"
     },
     {
      "id": 15,
      "order_id": "fto_c0b1e4d8f7f74e202ee9ad7c2fca",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.203255+09:00"
     },
     {
      "id": 16,
      "order_id": "fto_d1202e86b5509448cc5009ac7c98",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.204417+09:00"
     },
     {
      "id": 17,
      "order_id": "fto_abe34478daf24148579991463577",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.205845+09:00"
     },
     {
      "id": 18,
      "order_id": "fto_c20c2ddec733452a622cd98d081a",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.20704+09:00"
     },
     {
      "id": 19,
      "order_id": "fto_90faabf90b9f4f13d9be5e1c7a41",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.208292+09:00"
     },
     {
      "id": 20,
      "order_id": "fto_2a27b8a4474ba02556221a7d95fd",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.209443+09:00"
     },
     {
      "id": 21,
      "order_id": "fto_d642687254bf3bfb4cbd617408ae",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.210682+09:00"
     },
     {
      "id": 22,
      "order_id": "fto_943326b1e616929ba6683cf25936",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": -1,
      "reason": "placement_rejected:market_closed",
      "at": "2026-09-28T13:27:54.211876+09:00"
     },
     {
      "id": 23,
      "order_id": "fto_f92327ec9bc90004174238378cdc",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:37:54.604616+09:00"
     },
     {
      "id": 24,
      "order_id": "fto_8be80541e1751574ad530b9b667b",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:47:57.837209+09:00"
     },
     {
      "id": 25,
      "order_id": "fto_84cefc502d1d82cbe6380ca4218e",
      "user_id": "u_d5da894146669b43",
      "ym": "2026-09",
      "delta": 1,
      "reason": "entry_accepted",
      "at": "2026-09-28T13:57:59.051613+09:00"
     }
    ]
   }
  },
  {
   "id": "T9-rejections",
   "part": "-",
   "what": "접수 거절 감사 목록",
   "verdict_record": null,
   "counterfactual": null,
   "why_side": null,
   "request": {
    "method": "GET",
    "path": "/v1/forward-tests/rejections?limit=50",
    "body": null
   },
   "transforms": [],
   "synthesized": [],
   "response": {
    "status": 200,
    "json": {
     "rejections": [
      {
       "rejection_id": "ftr_b179d1451a7844dfbb83ebfc",
       "at": "2026-09-28T13:57:59.042767+09:00",
       "last_at": "2026-09-28T13:57:59.042767+09:00",
       "attempts": 1,
       "source": "api_key",
       "client_order_id": "34-btc-rawlevels",
       "client_tracking_id": "a2-04-axis-a",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "code": "invalid_take_profit",
       "http_status": 422,
       "field_errors": null
      },
      {
       "rejection_id": "ftr_c3b2a7a5383ea0bbc378bee2",
       "at": "2026-09-28T13:27:53.349397+09:00",
       "last_at": "2026-09-28T13:27:53.349397+09:00",
       "attempts": 1,
       "source": "api_key",
       "client_order_id": "cfa-x-cme",
       "client_tracking_id": "a2-04-axis-a",
       "venue": "cme",
       "symbol": "ES",
       "code": "market_not_licensed",
       "http_status": 422,
       "field_errors": null
      }
     ],
     "next_cursor": null,
     "notice": "접수가 **거절된** 기록입니다 — 승인된 주문·한도·계좌와 별개이며 이 기록으로 차감되거나 체결되는 것은 없습니다."
    }
   },
   "at": "2026-09-28T05:08:00.445944+00:00",
   "expected_status": 200,
   "status_matches_expectation": true
  },
  {
   "id": "T10-list",
   "part": "-",
   "what": "내 시험 목록",
   "verdict_record": null,
   "counterfactual": null,
   "why_side": null,
   "request": {
    "method": "GET",
    "path": "/v1/forward-tests?limit=200",
    "body": null
   },
   "transforms": [],
   "synthesized": [],
   "response": {
    "status": 200,
    "json": {
     "tests": [
      {
       "test_id": "ft_a3fb4af272c721d751db24e5",
       "status": "running",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "81526.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:57:59.049010+09:00",
       "memo": "orallexa BTC-USD decision=BUY p_up 0.55 confidence_shown 50.8 < gate 60.0 → 주문 없음. risk_module stop 82034.9994 / target 88345.384",
       "tags": [
        "counterfactual",
        "part-34"
       ],
       "metadata": {
        "part": "34",
        "tool": "34-orallexa",
        "source": "reports/a/34-orallexa/raw/btc-decision.json · raw/pilot-gate60.txt",
        "verdict": "BUY (게이트 60% 에 막혀 주문 0건)",
        "confidence": "0.55",
        "recommendation": "\"Moderate setup. Half position, stop below support.\"",
        "yf_entry_price": "84138.4609375",
        "confidence_shown": "50.8",
        "risk_reward_ratio": "2.0",
        "confidence_raw_llm": "62.0"
       },
       "created_at": "2026-09-28T13:57:59.049196+09:00",
       "started_at": "2026-09-28T13:57:59.049648+09:00",
       "expires_at": "2026-09-29T13:57:59.049010+09:00",
       "ended_at": null,
       "end_reason": null,
       "cursor_at": "2026-09-28T14:07:59.648653+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:57:59.049452+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_a3fb4af272c721d751db24e5:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "82035.00",
          "take_profit": "88345.38",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "82035.00",
          "take_profit": "88345.38",
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:57:59.572704+09:00",
          "relative_close_at": "2026-09-28T14:07:59.572704+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:57:59.049010+09:00",
          "effective_close_at": "2026-09-28T14:07:59.572704+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T14:07:59.572704+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T14:07:59.648657+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T14:07:59.572704+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "84147.91385",
          "at": "2026-09-28T13:57:59.050958+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "84129.08615",
          "at": "2026-09-28T14:07:59.656090+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01346216",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015062160",
         "net_pnl": "-0.0149683760",
         "realized_pnl": "-0.0149683760",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "84138",
         "unrealized_as_of": "2026-09-28T14:07:58.644859+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T14:07:59.648653+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_45ba7225f9cd599be903fd47",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "84940.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:47:57.835501+09:00",
       "memo": "TradingAgents BTC-USD Rating=Hold — \"do not add at the current 81,526.82 level beneath the 82,253.84-83,000 resistance zone\"",
       "tags": [
        "counterfactual",
        "part-12"
       ],
       "metadata": {
        "part": "12",
        "tool": "12-TradingAgents",
        "repeat": "같은 설정 13판에서 Hold 0/13 · Sell 7 · Underweight 6 (reports/a/12-tradingagents/RUN-LOG.md:39)",
        "source": "reports/b/01/21-tradingagents-decision.json:10 · reports/b/01/21-tradingagents-reports/reports/BTC-USD_20260921_165229/5_portfolio/decision.md:1,3",
        "verdict": "Hold",
        "confidence": null,
        "price_target": "not provided (원문 그대로)",
        "time_horizon": "3-6 months"
       },
       "created_at": "2026-09-28T13:47:57.835631+09:00",
       "started_at": "2026-09-28T13:47:57.835932+09:00",
       "expires_at": "2026-09-29T13:47:57.835501+09:00",
       "ended_at": "2026-09-28T13:57:59.571328+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:57:58.563033+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:47:57.835774+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_45ba7225f9cd599be903fd47:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "78473.91",
          "take_profit": "83000",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "78473.91",
          "take_profit": "83000",
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:47:58.154445+09:00",
          "relative_close_at": "2026-09-28T13:57:58.154445+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:47:57.835501+09:00",
          "effective_close_at": "2026-09-28T13:57:58.154445+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:57:58.154445+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:57:58.563038+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:57:58.154445+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "81535.65265",
          "at": "2026-09-28T13:47:57.836419+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "81517.34735",
          "at": "2026-09-28T13:57:58.569071+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01304424",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0014644240",
         "net_pnl": "-0.0145086640",
         "realized_pnl": "-0.0145086640",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "81526",
         "unrealized_as_of": "2026-09-28T13:57:57.558893+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:57:58.563033+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_b86263219a223ac13a55c160",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "85464.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:37:54.603208+09:00",
       "memo": "AlpacaTradingAgent btc-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 84800 · take_profit_price 88500",
       "tags": [
        "counterfactual",
        "part-31"
       ],
       "metadata": {
        "part": "31",
        "tool": "31-AlpacaTradingAgent",
        "source": "reports/a/31-alpaca-trading-agent/raw/btc-2.json · RUN-LOG.md:122",
        "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
        "confidence": "medium (문자열)",
        "invalidation": "\"Sustained 4-hour close below $84,940 followed by a break of $82,500\"",
        "entry_guidance": "\"no immediate entry. Consider a small staged entry only after a confirmed 4-hour reclaim and retest above $86,000, or a validated pivot hold above $84,940\"",
        "advisory_rating": "Hold"
       },
       "created_at": "2026-09-28T13:37:54.603359+09:00",
       "started_at": "2026-09-28T13:37:54.603700+09:00",
       "expires_at": "2026-09-29T13:37:54.603208+09:00",
       "ended_at": "2026-09-28T13:47:57.149918+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:47:56.139405+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:37:54.603521+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_b86263219a223ac13a55c160:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "84800",
          "take_profit": "88500",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "84800",
          "take_profit": "88500",
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:37:55.524211+09:00",
          "relative_close_at": "2026-09-28T13:47:55.524211+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:37:54.603208+09:00",
          "effective_close_at": "2026-09-28T13:47:55.524211+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:47:55.524211+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:47:56.139409+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:47:55.524211+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "84949.99405",
          "at": "2026-09-28T13:37:54.604145+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "84931.00595",
          "at": "2026-09-28T13:47:56.147687+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01359048",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015190480",
         "net_pnl": "-0.0151095280",
         "realized_pnl": "-0.0151095280",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "84940",
         "unrealized_as_of": "2026-09-28T13:47:55.133355+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:47:56.139405+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_97088ca1b927662627978d5b",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "MSFT",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.400608+09:00",
       "memo": "orallexa pilot gate60: DECISION MSFT decision=BUY confidence=50.8% → SKIP MSFT — confidence 50.8% below gate 60.0% · PILOT_DONE trades=0",
       "tags": [
        "counterfactual",
        "part-34"
       ],
       "metadata": {
        "gate": "60.0",
        "part": "34",
        "tool": "34-orallexa",
        "source": "reports/a/34-orallexa/raw/pilot-gate60.txt:3-5 · RUN-LOG.md:153",
        "verdict": "BUY (게이트에 막혀 주문 0건)",
        "confidence": "0.55",
        "recorded_price": "500.40 (pilot-gate45 실주문 \"BUY 9 MSFT @ $500.40\")",
        "confidence_shown": "50.8"
       },
       "created_at": "2026-09-28T13:27:53.400673+09:00",
       "started_at": "2026-09-28T13:27:53.400750+09:00",
       "expires_at": "2026-09-29T13:27:53.400608+09:00",
       "ended_at": "2026-09-28T13:27:54.212224+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.400712+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_97088ca1b927662627978d5b:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.400608+09:00",
          "effective_close_at": "2026-09-29T13:27:53.400608+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_2805ba24fd22a96a167cdea2",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.397722+09:00",
       "memo": "orallexa NVDA decision=WAIT p_up=0.40 p_neutral=0.35 p_down=0.25 confidence_shown=42.6 risk=MEDIUM",
       "tags": [
        "counterfactual",
        "part-34"
       ],
       "metadata": {
        "part": "34",
        "tool": "34-orallexa",
        "source": "reports/a/34-orallexa/raw/probe-basket.json [0] · raw/probe-nvda.json",
        "verdict": "WAIT",
        "confidence": "0.4",
        "recorded_price": "225.51 (Price (225.51) > MA20 (221.15))",
        "confidence_shown": "42.6",
        "probability_field": "probabilities.up",
        "confidence_raw_llm": "52.0"
       },
       "created_at": "2026-09-28T13:27:53.397770+09:00",
       "started_at": "2026-09-28T13:27:53.397832+09:00",
       "expires_at": "2026-09-29T13:27:53.397722+09:00",
       "ended_at": "2026-09-28T13:27:54.211098+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.397801+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_2805ba24fd22a96a167cdea2:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.397722+09:00",
          "effective_close_at": "2026-09-29T13:27:53.397722+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_e473db2daebd0a50c25ca3a2",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.394395+09:00",
       "memo": "AlpacaTradingAgent nvda-2 action=HOLD target_position=NEUTRAL order_type=none · stop_loss_price 220.92 · take_profit_price 234.75",
       "tags": [
        "counterfactual",
        "part-31"
       ],
       "metadata": {
        "part": "31",
        "tool": "31-AlpacaTradingAgent",
        "source": "reports/a/31-alpaca-trading-agent/raw/nvda-2.json final_trade_intent · RUN-LOG.md:125",
        "verdict": "HOLD / NEUTRAL (order_intent.order_type=none)",
        "confidence": "medium (문자열, 숫자 아님)",
        "consistency": "NVDA 3판 전부 HOLD/NEUTRAL, 손절 220.92 3/3 동일 (RUN-LOG.md:124-126)",
        "advisory_rating": "Hold"
       },
       "created_at": "2026-09-28T13:27:53.394463+09:00",
       "started_at": "2026-09-28T13:27:53.394555+09:00",
       "expires_at": "2026-09-29T13:27:53.394395+09:00",
       "ended_at": "2026-09-28T13:27:54.209868+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.394502+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_e473db2daebd0a50c25ca3a2:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "220.92",
          "take_profit": "234.75",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "220.92",
          "take_profit": "234.75",
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.394395+09:00",
          "effective_close_at": "2026-09-29T13:27:53.394395+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_2296f703e2661a72a2ebc7b4",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.391026+09:00",
       "memo": "AI Trading Analyst r1 — 눌림 대기 진입 222.60 을 숏 목표로",
       "tags": [
        "counterfactual",
        "part-27"
       ],
       "metadata": {
        "note": "도구는 롱이다. 숏은 도구가 기대한 **단기 눌림**만 겨눈다",
        "part": "27",
        "tool": "27-AI-Trading-Analyst",
        "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
        "verdict": "LONG (눌림 대기)",
        "confidence": "Medium"
       },
       "created_at": "2026-09-28T13:27:53.391088+09:00",
       "started_at": "2026-09-28T13:27:53.391172+09:00",
       "expires_at": "2026-09-29T13:27:53.391026+09:00",
       "ended_at": "2026-09-28T13:27:54.208757+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.391126+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_2296f703e2661a72a2ebc7b4:trial:1",
         "status": "closed",
         "side": "short",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "235.75",
          "take_profit": "222.60",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "235.75",
          "take_profit": "222.60",
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.391026+09:00",
          "effective_close_at": "2026-09-29T13:27:53.391026+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_84e39e7f7fe109396b4dca50",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.387198+09:00",
       "memo": "AI Trading Analyst /trade thesis NVDA r1 — DIRECTION LONG · ENTRY 222.60 (limit) · STOP 211.00 · T1 235.75. 진입가가 종가 227.30 아래 = 눌림 대기",
       "tags": [
        "counterfactual",
        "part-27"
       ],
       "metadata": {
        "t1": "235.75",
        "t2": "280.00",
        "t3": "315.00",
        "qty": "22",
        "part": "27",
        "stop": "211.00",
        "tool": "27-AI-Trading-Analyst",
        "entry": "222.60",
        "source": "reports/a/27-ai-trading-claude/RUN-LOG.md:217,232 · raw/20-thesis-r1.md",
        "horizon": "3-6개월",
        "verdict": "LONG (단 \"지금 사라\"가 아니다 — 진입 222.60 < 종가 227.30)",
        "confidence": "Medium (Conviction, 숫자 아님)"
       },
       "created_at": "2026-09-28T13:27:53.387270+09:00",
       "started_at": "2026-09-28T13:27:53.387355+09:00",
       "expires_at": "2026-09-29T13:27:53.387198+09:00",
       "ended_at": "2026-09-28T13:27:54.207606+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.387308+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_84e39e7f7fe109396b4dca50:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "211.00",
          "take_profit": "235.75",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "211.00",
          "take_profit": "235.75",
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.387198+09:00",
          "effective_close_at": "2026-09-29T13:27:53.387198+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_d107f931ee2003043daebdd6",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.383751+09:00",
       "memo": "daily_stock_analysis NVDA 관망 — MA5 대비 +3.82% 이격 · MACD DIF<DEA · 역배열",
       "tags": [
        "counterfactual",
        "part-25"
       ],
       "metadata": {
        "part": "25",
        "tool": "25-daily_stock_analysis",
        "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
        "stop_is": "저항 234.50 (채팅 경로 3/3 동일, RUN-LOG.md:127)",
        "verdict": "관망 (decision_type=hold)",
        "target_is": "ideal_buy 219.01 (MA5)",
        "confidence": "중간 (숫자 아님)"
       },
       "created_at": "2026-09-28T13:27:53.383820+09:00",
       "started_at": "2026-09-28T13:27:53.383915+09:00",
       "expires_at": "2026-09-29T13:27:53.383751+09:00",
       "ended_at": "2026-09-28T13:27:54.206309+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.383861+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_d107f931ee2003043daebdd6:trial:1",
         "status": "closed",
         "side": "short",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "234.50",
          "take_profit": "219.01",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "234.50",
          "take_profit": "219.01",
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.383751+09:00",
          "effective_close_at": "2026-09-29T13:27:53.383751+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_9efe557d059a0e75bc6b3cf4",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "NVDA",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.380481+09:00",
       "memo": "daily_stock_analysis NVDA operation_advice=관망 decision_type=hold confidence_level=중간",
       "tags": [
        "counterfactual",
        "part-25"
       ],
       "metadata": {
        "part": "25",
        "tool": "25-daily_stock_analysis",
        "source": "reports/a/25-daily-stock-analysis/raw/levels-verbatim.txt · RUN-LOG.md:112,188",
        "verdict": "관망 (decision_type=hold)",
        "close_px": "227.38",
        "ideal_buy": "219.01",
        "confidence": "중간 (숫자 아님)",
        "consistency": "5회 독립 판단 전부 hold/관망 (RUN-LOG.md:125)",
        "secondary_buy": "219.16"
       },
       "created_at": "2026-09-28T13:27:53.380569+09:00",
       "started_at": "2026-09-28T13:27:53.380662+09:00",
       "expires_at": "2026-09-29T13:27:53.380481+09:00",
       "ended_at": "2026-09-28T13:27:54.204948+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.380611+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_9efe557d059a0e75bc6b3cf4:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": "218.90",
          "take_profit": "230.00",
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": "218.90",
          "take_profit": "230.00",
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.380481+09:00",
          "effective_close_at": "2026-09-29T13:27:53.380481+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_b403229108e8e8090d89a170",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "BB",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.376280+09:00",
       "memo": "MAHORAGA signalResearch BB verdict=WAIT confidence=0.89 entry_quality=poor",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/raw/status_run1.json BB · RUN-LOG.md:174",
        "verdict": "WAIT",
        "confidence": "0.89",
        "supplied_price": "8.5454"
       },
       "created_at": "2026-09-28T13:27:53.376372+09:00",
       "started_at": "2026-09-28T13:27:53.376511+09:00",
       "expires_at": "2026-09-29T13:27:53.376280+09:00",
       "ended_at": "2026-09-28T13:27:54.203753+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.376428+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_b403229108e8e8090d89a170:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.376280+09:00",
          "effective_close_at": "2026-09-29T13:27:53.376280+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_bfe19bfcc894a7a55bcf1528",
       "status": "ended",
       "venue": "us-equity",
       "symbol": "GME",
       "qty": "1",
       "qty_basis": {
        "lot": "1",
        "rule": "one_share_or_contract",
        "venue": "us-equity",
        "source": "symbol_metadata",
        "min_notional": "1",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "us-equity",
        "version": 4
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.372499+09:00",
       "memo": "MAHORAGA signalResearch GME verdict=WAIT confidence=0.88 entry_quality=poor",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/raw/status_run1.json GME · RUN-LOG.md:170",
        "verdict": "WAIT",
        "confidence": "0.88",
        "supplied_price": "23.49"
       },
       "created_at": "2026-09-28T13:27:53.372577+09:00",
       "started_at": "2026-09-28T13:27:53.372672+09:00",
       "expires_at": "2026-09-29T13:27:53.372499+09:00",
       "ended_at": "2026-09-28T13:27:54.202525+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:27:54.180411+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.372620+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_bfe19bfcc894a7a55bcf1528:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": null,
          "relative_close_at": null,
          "relative_clock_started": false,
          "max_duration_until": "2026-09-29T13:27:53.372499+09:00",
          "effective_close_at": "2026-09-29T13:27:53.372499+09:00",
          "effective_close_basis": "max_duration",
          "trigger": null,
          "triggered_at": null,
          "trigger_px": null,
          "attempts": 0,
          "retry_at": null,
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": null,
         "exit_trigger_at": null,
         "exit_trigger_px": null,
         "entry": null,
         "exit": null,
         "open_qty": "0",
         "fees": "0",
         "fee_ccy": null,
         "gross_pnl": null,
         "net_pnl": null,
         "realized_pnl": null,
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": null,
         "unrealized_as_of": null,
         "close_reason": "rejected:market_closed",
         "orders": 1,
         "fills": 0
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:27:54.180411+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "initial_failure"
      },
      {
       "test_id": "ft_c285b882d211c9c023978b9e",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "85464.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.367993+09:00",
       "memo": "MAHORAGA BTC/USD verdict=SKIP confidence=0.20 (gpt-4o-mini)",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/RUN-LOG.md:158",
        "verdict": "SKIP",
        "llm_model": "openai/gpt-4o-mini",
        "confidence": "0.2",
        "judged_at_utc": "03:44:12"
       },
       "created_at": "2026-09-28T13:27:53.368074+09:00",
       "started_at": "2026-09-28T13:27:53.368180+09:00",
       "expires_at": "2026-09-29T13:27:53.367993+09:00",
       "ended_at": "2026-09-28T13:37:55.520304+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:37:54.492859+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.368122+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_c285b882d211c9c023978b9e:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:27:54.196296+09:00",
          "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:27:53.367993+09:00",
          "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:37:54.196296+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:37:54.492864+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "85474.04645",
          "at": "2026-09-28T13:27:53.368675+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "85454.95355",
          "at": "2026-09-28T13:37:54.517518+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01367432",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015274320",
         "net_pnl": "-0.0152017520",
         "realized_pnl": "-0.0152017520",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "85464",
         "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:37:54.492859+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_97407c5aed2457ee401bc602",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "85464.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.364321+09:00",
       "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.89 entry_quality=poor",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/RUN-LOG.md:150",
        "verdict": "WAIT",
        "confidence": "0.89",
        "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
        "judged_at_utc": "03:38:16"
       },
       "created_at": "2026-09-28T13:27:53.364407+09:00",
       "started_at": "2026-09-28T13:27:53.364513+09:00",
       "expires_at": "2026-09-29T13:27:53.364321+09:00",
       "ended_at": "2026-09-28T13:37:55.521654+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:37:54.492859+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.364449+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_97407c5aed2457ee401bc602:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:27:54.196296+09:00",
          "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:27:53.364321+09:00",
          "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:37:54.196296+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:37:54.492864+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "85474.04645",
          "at": "2026-09-28T13:27:53.364913+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "85454.95355",
          "at": "2026-09-28T13:37:54.515718+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01367432",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015274320",
         "net_pnl": "-0.0152017520",
         "realized_pnl": "-0.0152017520",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "85464",
         "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:37:54.492859+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_d1db6a34c97def5e3585b5da",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "85464.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.359916+09:00",
       "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.9 entry_quality=poor",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/RUN-LOG.md:149",
        "verdict": "WAIT",
        "confidence": "0.9",
        "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
        "judged_at_utc": "03:22:41"
       },
       "created_at": "2026-09-28T13:27:53.360052+09:00",
       "started_at": "2026-09-28T13:27:53.360200+09:00",
       "expires_at": "2026-09-29T13:27:53.359916+09:00",
       "ended_at": "2026-09-28T13:37:55.521062+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:37:54.492859+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.360115+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_d1db6a34c97def5e3585b5da:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:27:54.196296+09:00",
          "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:27:53.359916+09:00",
          "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:37:54.196296+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:37:54.492864+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "85474.04645",
          "at": "2026-09-28T13:27:53.360762+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "85454.95355",
          "at": "2026-09-28T13:37:54.514517+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01367432",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015274320",
         "net_pnl": "-0.0152017520",
         "realized_pnl": "-0.0152017520",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "85464",
         "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:37:54.492859+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      },
      {
       "test_id": "ft_b8896e15ea5d25ef645db157",
       "status": "ended",
       "venue": "binance-spot",
       "symbol": "BTCUSDT",
       "qty": "0.00008",
       "qty_basis": {
        "lot": "0.00001",
        "rule": "smallest_lot_multiple_meeting_min_notional_within_price_headroom",
        "venue": "binance-spot",
        "source": "symbol_metadata",
        "min_notional": "5",
        "reference_px": "85464.5",
        "price_headroom_pct": "20",
        "contract_multiplier": "1"
       },
       "data_mode": "realtime",
       "delay_s": 0,
       "execution_model": {
        "profile_id": "binance-spot",
        "version": 1
       },
       "monthly_limit": 200,
       "deployment_id": null,
       "trial": true,
       "max_duration_until": "2026-09-29T13:27:53.353998+09:00",
       "memo": "MAHORAGA BTC/USD verdict=WAIT confidence=0.88 entry_quality=poor",
       "tags": [
        "counterfactual",
        "part-29A"
       ],
       "metadata": {
        "part": "29A",
        "tool": "29A-MAHORAGA",
        "source": "reports/a/29-account-walls/RUN-LOG.md:148",
        "verdict": "WAIT",
        "confidence": "0.88",
        "input_note": "그 시각 BTC 신호는 \"Crypto: -1.19% (24h)\" 한 줄",
        "judged_at_utc": "03:16:54"
       },
       "created_at": "2026-09-28T13:27:53.354155+09:00",
       "started_at": "2026-09-28T13:27:53.354643+09:00",
       "expires_at": "2026-09-29T13:27:53.353998+09:00",
       "ended_at": "2026-09-28T13:37:55.522229+09:00",
       "end_reason": "trial_completed",
       "cursor_at": "2026-09-28T13:37:54.492859+09:00",
       "variants": [
        {
         "variant_id": "trial",
         "label": null,
         "memo": null,
         "metadata": {},
         "round_no": 1,
         "created_at": "2026-09-28T13:27:53.354328+09:00"
        }
       ],
       "comparison": [
        {
         "variant_id": "trial",
         "round_no": 1,
         "round_id": "ft_b8896e15ea5d25ef645db157:trial:1",
         "status": "closed",
         "side": "long",
         "exit_plan": {
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600
         },
         "auto_close": {
          "managed": true,
          "state": "done",
          "close_at": null,
          "stop_loss": null,
          "take_profit": null,
          "close_after_seconds": 600,
          "relative_from": "2026-09-28T13:27:54.196296+09:00",
          "relative_close_at": "2026-09-28T13:37:54.196296+09:00",
          "relative_clock_started": true,
          "max_duration_until": "2026-09-29T13:27:53.353998+09:00",
          "effective_close_at": "2026-09-28T13:37:54.196296+09:00",
          "effective_close_basis": "close_after",
          "trigger": "close_after",
          "triggered_at": "2026-09-28T13:37:54.196296+09:00",
          "trigger_px": null,
          "attempts": 1,
          "retry_at": "2026-09-28T13:37:54.492864+09:00",
          "blocked": false,
          "blocked_reason": null,
          "waiting_on": null,
          "exit_block": null,
          "recovery": null,
          "round_status": "closed",
          "note": "등록된 조건 중 **먼저 도달하는 것**에 닿으면 서버가 청산합니다 — 별도 청산 호출이 필요하지 않습니다. 조건 만족 시각은 체결 시각이 아니며, 체결은 그 뒤 처음 공개된 시세에서 일어납니다. 상대 시간은 첫 진입 체결의 공개 시각부터 세고 부분 추가 체결·재시작으로 연장되지 않습니다."
         },
         "exit_trigger": "close_after",
         "exit_trigger_at": "2026-09-28T13:37:54.196296+09:00",
         "exit_trigger_px": null,
         "entry": {
          "qty": "0.00008",
          "avg_px": "85474.04645",
          "at": "2026-09-28T13:27:53.355380+09:00"
         },
         "exit": {
          "qty": "0.00008",
          "avg_px": "85454.95355",
          "at": "2026-09-28T13:37:54.516661+09:00"
         },
         "open_qty": "0.00000",
         "fees": "0.01367432",
         "fee_ccy": "USDT",
         "gross_pnl": "-0.0015274320",
         "net_pnl": "-0.0152017520",
         "realized_pnl": "-0.0152017520",
         "contract_multiplier": "1",
         "unrealized": null,
         "mark_px": "85464",
         "unrealized_as_of": "2026-09-28T13:37:53.488113+09:00",
         "close_reason": "close_after",
         "orders": 2,
         "fills": 2
        }
       ],
       "feed": {
        "quote_status": "subscribed",
        "subscribed": true,
        "cursor_at": "2026-09-28T13:37:54.492859+09:00",
        "notice": null
       },
       "execution_purpose": "forward_test",
       "paper_only": true,
       "affects_account": false,
       "disclaimer": "시험 원장 전용 — 모의·실거래 계좌의 현금·보유량·손익·성과에 합산되지 않습니다.",
       "derived_status": "completed"
      }
     ],
     "next_cursor": null,
     "usage": {
      "limit": 200,
      "used": 7,
      "remaining": 193,
      "entries_enabled": true,
      "period_start": "2026-09-01T00:00:00+00:00",
      "reset_at": "2026-10-01T00:00:00+00:00"
     }
    }
   },
   "at": "2026-09-28T05:08:00.453673+00:00",
   "expected_status": 200,
   "status_matches_expectation": true
  }
 ],
 "events": [
  {
   "at": "2026-09-28T04:27:53.350487+00:00",
   "what": "회차 A: binance-spot BTCUSDT 합성 호가 85464/85465 → 85464/85465",
   "wave": "A",
   "basis": "29A: 검증 종료 시점 BTCUSD 시세 85464.976 (raw/status_final2.json positions[0].current_price)"
  },
  {
   "at": "2026-09-28T04:37:54.599919+00:00",
   "what": "회차 B: binance-spot BTCUSDT 합성 호가 85464/85465 → 84940/84941",
   "wave": "B",
   "basis": "31 btc-2: 도구가 지목한 피벗 \"$84,940\" — \"a validated pivot hold above $84,940\" (raw/btc-2.json entry guidance)"
  },
  {
   "at": "2026-09-28T04:47:57.832836+00:00",
   "what": "회차 C: binance-spot BTCUSDT 합성 호가 84940/84941 → 81526/81527",
   "wave": "C",
   "basis": "12: \"do not add at the current 81,526.82 level\" (reports/b/01/21-tradingagents-reports/.../5_portfolio/decision.md:3)"
  },
  {
   "at": "2026-09-28T04:57:59.037833+00:00",
   "what": "회차 D: binance-spot BTCUSDT 합성 호가 81526/81527 → 84138/84139",
   "wave": "D",
   "basis": "34: yf_entry_price 84138.4609375 · \"Price (84125.04)\" (raw/btc-decision.json)"
  }
 ],
 "harness_findings": [
  "metadata 에 float 을 넣으면 500 이다 — canonical_json 이 결정론 규칙으로 float 을 거부한다 (weltiq/core/canonical.py:18). 확신도·확률을 숫자로 싣고 싶은 계약 요구가 여기서 막힌다. 이 회차는 전부 문자열로 실었다."
 ],
 "not_run": [
  {
   "part": "29A",
   "case": "BONK.X verdict=WAIT confidence=0.95 (가장 높은 확신도)",
   "source": "reports/a/29-account-walls/raw/status_run1.json signalResearch.\"BONK.X\"",
   "why": "반사실을 **가격에 붙일 수 없다**. 도구 원문이 \"A displayed price of $0 is likely rounded or invalid and cannot establish an entry valuation\" 라고 적었다 — 기록에 쓸 만한 가격이 없다. 임의 가격을 넣으면 그건 반사실이 아니라 창작이다. 확신도 0.95 표본이 빠지는 것은 이 회차의 한계다."
  },
  {
   "part": "34",
   "case": "META(p_up 0.25/p_down 0.45) · AMD(0.25/0.45) · PLTR(0.30/0.42) — 하락을 시사한 WAIT 들. 숏 반사실 후보였다",
   "source": "reports/a/34-orallexa/raw/probe-basket.json",
   "why": "이 세 종목은 34 의 기록 어디에도 **가격이 없다**. 합성 호가를 그 도구 기록의 가격대 근처로 잡으라는 규칙을 지킬 수 없다."
  }
 ]
}