Feature: LangGraph state additional coverage As a developer I want to exercise uncovered state management branches So that langgraph/state.py gains higher coverage Background: Given the state management system is available Scenario: Merge mode trims messages beyond retention limit Given I have a GraphState starting with 49 messages And I have merge updates containing 5 new messages When I merge the updates into the state Then the message list should be trimmed to 50 messages And the newest message should be retained after trimming Scenario: Append mode trims messages beyond retention limit Given the state management system is available Given I have a GraphState starting with 50 messages And I have append updates containing 5 new messages When I append the updates into the state Then the message list should be trimmed to 50 messages after append And the newest appended message should be retained after trimming Scenario: Time travel history is recorded and trimmed Given I have a StateManager with time travel enabled and history size 2 When I perform 4 sequential state updates with time travel Then only the two most recent history snapshots should remain And the earliest snapshots should be discarded Scenario: Automatic checkpoint is saved at interval Given I have a StateManager with checkpointing enabled and interval 1 When I perform 2 sequential state updates with checkpointing Then a checkpoint file should exist in the directory And checkpoint saving should have been triggered Scenario: Time travel clamps when steps exceed history Given I have a StateManager with time travel history of 2 snapshots When I request time travel 5 steps back Then time travel should return the earliest available snapshot And the returned state should reflect the earliest snapshot