Files
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

49 lines
2.1 KiB
Gherkin

Feature: Curator's X-ray of the selection model
As a curator
I want to turn the installation's dials against a representative catalog and see
the full ranked pool the nearest-match algorithm picks from
So that I can judge whether the tagging rubric and selection surface fitting pieces
Background:
Given the simulator is loaded with the synthetic fixture catalog
And the fixture catalog spans the brain plane and the mood plane across all content modes
Scenario: A pick is always accompanied by its candidate pool
When I set the mode to "av" and the dials to left=1 right=3 dark=4 light=1
Then a piece is picked
And the ranked pool is shown nearest-first with each candidate's distance
And the picked piece is the rank-1 candidate in the pool
Scenario: Turning Dark up while Light stays low pulls the pick toward somber pieces
Given the mode is "av" and the dials are left=2 right=2 dark=0 light=0
When I raise the Dark dial from 0 to 4
Then the picked piece's dark coordinate is higher than before
And the pool's nearest candidates cluster toward the high-dark / low-light region
Scenario: Turning a dial moves the knob point on the coordinate map
Given the mode is "av"
When I change any of the Left, Right, Dark, or Light dials
Then the knob point on the brain or mood grid map moves to the new coordinate
And the candidate dots reflect the new neighborhood
Scenario: None mode is the void / rest state
When I set the mode to "none"
Then no piece is picked
And the pool is empty
And the screen shows the void / rest state
Scenario: A+V mode falls back to audio and video when av records are thin
Given the fixture catalog has fewer than the pool size of native "av" records near the knob point
When I set the mode to "av"
Then the pool includes "audio" and "video" records so it is not starved
Scenario Outline: Each content mode restricts the pool to eligible records
When I set the mode to "<mode>"
Then every candidate in the pool is eligible for "<mode>"
Examples:
| mode |
| audio |
| video |
| av |