============================= test session starts ==============================
collecting ... collected 9 items

test_graph.py::test_the_thread_keeps_every_message_while_the_model_sees_a_trimmed_view PASSED [ 11%]
test_graph.py::test_the_view_starts_on_a_user_turn PASSED                [ 22%]
test_graph.py::test_a_trimmed_decision_is_gone_from_the_view PASSED      [ 33%]
test_graph.py::test_a_pinned_decision_survives_trimming PASSED           [ 44%]
test_graph.py::test_the_counter_adds_the_reasoning_tokens_a_reply_carries_back PASSED [ 55%]
test_graph.py::test_a_question_larger_than_the_budget_is_refused_before_the_model_call PASSED [ 66%]
test_graph.py::test_recorded_run_pinning_kept_the_answer PASSED          [ 77%]
test_graph.py::test_recorded_run_chars_only_estimate_missed_the_signatures PASSED [ 88%]
test_graph.py::test_recorded_log_turn_was_billed_above_the_budget PASSED [100%]

============================== 9 passed in 0.49s ===============================
