"""
Live GUI smoke test for FR3: MiniMax thinking mono rendering substrate.

Track: ai_loop_regressions_20260614
Spec: conductor/tracks/ai_loop_regressions_20260614/spec.md (Phase 4.3)

The full end-to-end live_gui FR3 test would require mock injection into
the live_gui subprocess (patches in the test process do NOT propagate).
The mock-based regression coverage for FR3 is at the unit level in
test_ai_loop_regressions_20260614.py::test_fr3_minimax_thinking_in_returned_text
(which mocks _send_minimax end-to-end and asserts <thinking> tags are
in Result.data).

This file is a placeholder that verifies the live_gui's thinking_segments
field is exposed via the Hook API, establishing the integration substrate
exists for follow-up work to add subprocess mock injection.
"""
from src.api_hook_client import ApiHookClient


def test_live_gui_thinking_substrate_exposed(live_gui) -> None:
 """
 Smoke test: the live_gui exposes a gettable 'disc_entries' field via
 the Hook API. thinking_segments is a per-entry list populated by
 parse_thinking_trace; verifying the substrate is reachable establishes
 the integration path for the FR3 fix.
 """
 client = ApiHookClient()
 entries = client.get_value("disc_entries") or []
 assert isinstance(entries, list), f"disc_entries must be a list, got {type(entries).__name__}"
