@cli
Feature: CLI main.py uncovered branches
  As a developer
  I want to cover the missed branches in cleveragents.cli.main
  So that code coverage gaps on lines 225-228, 269-272, 289-292, 317-323, 372-379, 626-627 are closed

  Scenario: show_secrets_callback with True enables secret display
    When cli main branch show_secrets_callback is invoked with True
    Then cli main branch set_show_secrets should have been called with True

  Scenario: show_secrets_callback with False does nothing
    When cli main branch show_secrets_callback is invoked with False
    Then cli main branch set_show_secrets should not have been called

  Scenario: version command with plain format uses format_output
    When cli main branch version command is invoked with format "plain"
    Then cli main branch format_output should have been called for version with fmt "plain"

  Scenario: version command with json format uses format_output
    When cli main branch version command is invoked with format "json"
    Then cli main branch format_output should have been called for version with fmt "json"

  Scenario: info command with plain format uses format_output
    When cli main branch info command is invoked with format "plain"
    Then cli main branch format_output should have been called for info with fmt "plain"

  Scenario: info command with json format uses format_output
    When cli main branch info command is invoked with format "json"
    Then cli main branch format_output should have been called for info with fmt "json"

  Scenario: diagnostics command with plain format uses format_output
    When cli main branch diagnostics command is invoked with format "plain"
    Then cli main branch format_output should have been called for diagnostics with fmt "plain"

  Scenario: diagnostics with check flag and errors exits with code 1
    When cli main branch diagnostics command is invoked with check and errors present
    Then cli main branch diagnostics should exit with code 1

  Scenario: diagnostics with check flag but no errors exits normally
    When cli main branch diagnostics command is invoked with check but no errors
    Then cli main branch diagnostics should exit with code 0

  Scenario: init command generic Exception prints unexpected error
    When cli main branch init command raises a generic Exception
    Then cli main branch init output should contain "Unexpected error"

  Scenario: __name__ == __main__ block calls main
    When cli main branch the module is executed as __main__
    Then cli main branch sys.exit should have been called with main result
