Feature: Session CLI MCP logger suppression execution coverage
  As a developer
  I want to ensure the MCP logger suppression code is actually executed
  So that coverage includes lines 190-200, 266-272, 294-307

  Background:
    Given a clean test database for session cli execution tests
    And a mock A2A facade for session cli execution tests

  # --- Session create command execution ---

  Scenario: Session create with JSON format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session create with format json
    Then the MCP logger should be set to CRITICAL during execution
    And the MCP logger should be restored after execution

  Scenario: Session create with YAML format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session create with format yaml
    Then the MCP logger should be set to CRITICAL during execution
    And the MCP logger should be restored after execution

  Scenario: Session create with plain format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session create with format plain
    Then the MCP logger should be set to CRITICAL during execution

  Scenario: Session create with rich format does NOT suppress MCP logger
    Given the database is initialized for session cli execution tests
    When I execute session create with format rich
    Then the MCP logger should NOT be set to CRITICAL

  Scenario: Session create with color format does NOT suppress MCP logger
    Given the database is initialized for session cli execution tests
    When I execute session create with format color
    Then the MCP logger should NOT be set to CRITICAL

  # --- Session list command execution ---

  Scenario: Session list with JSON format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session list with format json
    Then the MCP logger should be set to CRITICAL during execution
    And the MCP logger should be restored after execution

  Scenario: Session list with YAML format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session list with format yaml
    Then the MCP logger should be set to CRITICAL during execution
    And the MCP logger should be restored after execution

  Scenario: Session list with table format executes MCP logger suppression
    Given the database is initialized for session cli execution tests
    When I execute session list with format table
    Then the MCP logger should be set to CRITICAL during execution

  Scenario: Session list with rich format does NOT suppress MCP logger
    Given the database is initialized for session cli execution tests
    When I execute session list with format rich
    Then the MCP logger should NOT be set to CRITICAL

  Scenario: Session list with color format does NOT suppress MCP logger
    Given the database is initialized for session cli execution tests
    When I execute session list with format color
    Then the MCP logger should NOT be set to CRITICAL

  # --- Exception handling ---

  Scenario: Session create restores MCP logger even on exception
    Given the database is initialized for session cli execution tests
    And the session service raises an exception on create
    When I execute session create with format json catching exception
    Then the MCP logger should be restored in the finally block

  Scenario: Session list restores MCP logger even on exception
    Given the database is initialized for session cli execution tests
    And the session service raises an exception on list
    When I execute session list with format json catching exception
    Then the MCP logger should be restored in the finally block
