Feature: Devcontainer Health Check Coverage
  Additional scenarios that exercise previously uncovered code paths
  in the devcontainer_health module, specifically the TOCTOU guard
  breaks and ValueError exception handlers in _health_check_loop.

  Background:
    Given the devcontainer health module is imported

  Scenario: Unhealthy probe breaks when state changed concurrently before transition
    Given a tracker in RUNNING state for resource "res-unhealthy-break"
    And a run_command that returns a non-zero exit code
    And get_lifecycle_tracker returns STOPPED state on re-read under lock
    When I run the health check loop for one iteration
    Then the loop exits via the TOCTOU guard break for unhealthy probe

  Scenario: Unhealthy probe catches ValueError from transition_state
    Given a tracker in RUNNING state for resource "res-unhealthy-valerr"
    And a run_command that returns a non-zero exit code
    And get_lifecycle_tracker always returns RUNNING state
    And transition_state raises ValueError on call
    When I run the health check loop for one iteration
    Then the ValueError is caught and a debug message is logged for "res-unhealthy-valerr"

  Scenario: Probe exception breaks when state changed concurrently before transition
    Given a tracker in RUNNING state for resource "res-exc-break"
    And a run_command that raises an OSError
    And get_lifecycle_tracker returns STOPPED state on re-read under lock
    When I run the health check loop for one iteration
    Then the loop exits via the TOCTOU guard break for probe exception

  Scenario: Probe exception catches ValueError from transition_state
    Given a tracker in RUNNING state for resource "res-exc-valerr"
    And a run_command that raises an OSError
    And get_lifecycle_tracker always returns RUNNING state
    And transition_state raises ValueError on call
    When I run the health check loop for one iteration
    Then the ValueError is caught and a debug message is logged for "res-exc-valerr"
