Feature: Simulator service and API
  As an operator
  I want to run the simulator locally in one container and drive it over a small API
  So that the browser X-ray and its behavior are testable without the physical stack

  Scenario: The service runs locally in a container
    When I start the simulator container
    Then the X-ray is reachable in a browser on localhost
    And no external network access is required

  Scenario: Selecting returns the pick and the ranked pool
    When I POST a valid selection request with dials and mode "av"
    Then the response contains a picked record
    And the response contains the ranked pool with a distance and rank per candidate

  Scenario: None mode returns the void over the API
    When I POST a selection request with mode "none"
    Then the response pick is null
    And the response pool is empty

  Scenario: Invalid dial values are rejected
    When I POST a selection request with a dial value outside 0 to 4
    Then the API responds with a validation error

  Scenario: Catalog metadata is available for the header
    When I GET the catalog metadata
    Then the response reports record counts, a per-mode breakdown, and the proposed/approved split
