Feature: Feeling the model's own parameters
  As a curator tuning the algorithm, not just the curation
  I want to adjust the selection model's parameters live
  So that I can feel how weighting, pool size, and the approved gate reshape picks

  Background:
    Given the simulator is loaded with the synthetic fixture catalog
    And the dials are set to a fixed knob position with mode "av"

  Scenario: Reweighting the brain plane can change the winner
    Given the brain and mood weights are equal
    And the current pick is recorded
    When I increase the brain weight relative to the mood weight
    Then the ranked pool may reorder so that brain-plane distance dominates
    And the picked piece can differ from the recorded pick

  Scenario: Pool size controls how many candidates are shown and shuffled
    When I set the pool size to 1
    Then the pool shows exactly the single nearest candidate
    When I set the pool size to 5
    Then the pool shows up to the five nearest candidates

  Scenario: Approved-only narrows the pool to human-blessed records
    Given the fixture catalog contains both "proposed" and "approved" records
    When I turn the approved-only toggle on
    Then every candidate in the pool has review_status "approved"
    When I turn the approved-only toggle off
    Then "proposed" records may appear in the pool again

  Scenario: Default model parameters reproduce the shipped selection behavior
    Given the weights are equal, the pool size is the default, and approved-only is off
    Then the picked piece matches what hef.selection.select would return for the same dials
