Files
human-experience-filter-art/features/model_knobs.feature
T
Ben Stull 9cb4fb62d8 docs(simulator): design spec + BDDs for curator's X-ray experience simulator
Discovery session 0003. Web-based, Docker-on-localhost simulator to feel the
selection model: real hef.selection wired to a synthetic fixture catalog, with
a full-transparency X-ray (ranked pool + distances + brain/mood grid maps) and
live model knobs (weights, pool size, approved-only).

- docs/superpowers/specs/2026-06-04-experience-simulator-design.md
- features/{selection_xray,model_knobs,fixture_catalog,simulator_service}.feature
- one additive hef.selection.ranked_candidates() change planned (single source of truth)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 03:36:25 -07:00

33 lines
1.6 KiB
Gherkin

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