{
  "ticker": "NVDA",
  "ticker_name": "NVIDIA",
  "status": "failed",
  "analysis_date": "2026-04-15",
  "error": "thread/start failed (-32603): error creating thread: Fatal error: Codex cannot access session files at \\\\?\\C:\\Users\\JY\\.codex\\sessions (permission denied). If sessions were created using sudo, fix ownership: sudo chown -R $(whoami) \\\\?\\C:\\Users\\JY\\.codex (underlying error: 액세스가 거부되었습니다. (os error 5)). stderr_tail=WARNING: proceeding, even though we could not update PATH: 액세스가 거부되었습니다. (os error 5) at path \"\\\\\\\\?\\\\C:\\\\Users\\\\JY\\\\.codex\\\\tmp\\\\arg0\\\\codex-arg0CBtdGL\"\n\u001b[2m2026-04-15T07:28:33.193990Z\u001b[0m \u001b[31mERROR\u001b[0m \u001b[2mcodex_models_manager::cache\u001b[0m\u001b[2m:\u001b[0m failed to write models cache: 액세스가 거부되었습니다. (os error 5)\n\u001b[2m2026-04-15T07:28:33.200877Z\u001b[0m \u001b[31mERROR\u001b[0m \u001b[2mcodex_core::codex\u001b[0m\u001b[2m:\u001b[0m Failed to create session: 액세스가 거부되었습니다. (os error 5)",
  "traceback": "Traceback (most recent call last):\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\scheduled\\runner.py\", line 392, in _run_single_ticker\n    final_state, decision = graph.propagate(\n                            ~~~~~~~~~~~~~~~^\n        ticker,\n        ^^^^^^^\n        trade_date,\n        ^^^^^^^^^^^\n        analysis_date=analysis_date,\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    )\n    ^\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\graph\\trading_graph.py\", line 250, in propagate\n    final_state = self.graph.invoke(init_agent_state, **args)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\pregel\\main.py\", line 3309, in invoke\n    for chunk in self.stream(\n                 ~~~~~~~~~~~^\n        input,\n        ^^^^^^\n    ...<10 lines>...\n        **kwargs,\n        ^^^^^^^^^\n    ):\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\pregel\\main.py\", line 2736, in stream\n    for _ in runner.tick(\n             ~~~~~~~~~~~^\n        [t for t in loop.tasks.values() if not t.writes],\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    ...<2 lines>...\n        schedule_task=loop.accept_push,\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    ):\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\pregel\\_runner.py\", line 167, in tick\n    run_with_retry(\n    ~~~~~~~~~~~~~~^\n        t,\n        ^^\n    ...<10 lines>...\n        },\n        ^^\n    )\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\pregel\\_retry.py\", line 126, in run_with_retry\n    return task.proc.invoke(task.input, config)\n           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\_internal\\_runnable.py\", line 656, in invoke\n    input = context.run(step.invoke, input, config, **kwargs)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langgraph\\_internal\\_runnable.py\", line 400, in invoke\n    ret = self.func(*args, **kwargs)\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\agents\\analysts\\market_analyst.py\", line 86, in market_analyst_node\n    result = chain.invoke(state[\"messages\"])\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\runnables\\base.py\", line 3157, in invoke\n    input_ = context.run(step.invoke, input_, config)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\runnables\\base.py\", line 5695, in invoke\n    return self.bound.invoke(\n           ~~~~~~~~~~~~~~~~~^\n        input,\n        ^^^^^^\n        self._merge_configs(config),\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n        **{**self.kwargs, **kwargs},\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    )\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py\", line 454, in invoke\n    self.generate_prompt(\n    ~~~~~~~~~~~~~~~~~~~~^\n        [self._convert_input(input)],\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    ...<6 lines>...\n        **kwargs,\n        ^^^^^^^^^\n    ).generations[0][0],\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py\", line 1185, in generate_prompt\n    return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)\n           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py\", line 995, in generate\n    self._generate_with_cache(\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^\n        m,\n        ^^\n    ...<2 lines>...\n        **kwargs,\n        ^^^^^^^^^\n    )\n    ^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py\", line 1297, in _generate_with_cache\n    result = self._generate(\n        messages, stop=stop, run_manager=run_manager, **kwargs\n    )\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\llm_clients\\codex_chat_model.py\", line 137, in _generate\n    result = self._session_or_create().invoke(\n        prompt=prompt,\n    ...<4 lines>...\n        personality=self.codex_personality,\n    )\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\llm_clients\\codex_app_server.py\", line 138, in invoke\n    thread = self.request(\n        \"thread/start\",\n    ...<8 lines>...\n        },\n    )\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\llm_clients\\codex_app_server.py\", line 185, in request\n    raise CodexAppServerError(\n        f\"{method} failed ({code}): {text}. stderr_tail={self._stderr_tail()}\"\n    )\ntradingagents.llm_clients.codex_app_server.CodexAppServerError: thread/start failed (-32603): error creating thread: Fatal error: Codex cannot access session files at \\\\?\\C:\\Users\\JY\\.codex\\sessions (permission denied). If sessions were created using sudo, fix ownership: sudo chown -R $(whoami) \\\\?\\C:\\Users\\JY\\.codex (underlying error: 액세스가 거부되었습니다. (os error 5)). stderr_tail=WARNING: proceeding, even though we could not update PATH: 액세스가 거부되었습니다. (os error 5) at path \"\\\\\\\\?\\\\C:\\\\Users\\\\JY\\\\.codex\\\\tmp\\\\arg0\\\\codex-arg0CBtdGL\"\n\u001b[2m2026-04-15T07:28:33.193990Z\u001b[0m \u001b[31mERROR\u001b[0m \u001b[2mcodex_models_manager::cache\u001b[0m\u001b[2m:\u001b[0m failed to write models cache: 액세스가 거부되었습니다. (os error 5)\n\u001b[2m2026-04-15T07:28:33.200877Z\u001b[0m \u001b[31mERROR\u001b[0m \u001b[2mcodex_core::codex\u001b[0m\u001b[2m:\u001b[0m Failed to create session: 액세스가 거부되었습니다. (os error 5)\nDuring task with name 'Market Analyst' and id '52d901b9-9a38-90be-7afe-c13ac20004d0'\n",
  "started_at": "2026-04-15T16:28:19.037684+09:00",
  "finished_at": "2026-04-15T16:28:33.203697+09:00",
  "duration_seconds": 14.17
}