You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The planned S9 baseline records like/dislike/favorite feedback and updates feature weights. Whole-candidate feedback is useful, but it is heavily confounded:
Did the user prefer the rhythm?
The register?
The cadence?
The tonal hypothesis?
The gesture density?
One lucky note?
One heart icon applied to a six-axis candidate is not a clean learning signal. It is a small philosophical crisis stored as a boolean.
Griff already has the right deterministic machinery for a stronger experiment:
fixed generation requests and seeds reproduce candidates;
strategy × variant identity is explicit;
seed derivation is deterministic;
gestured/plain variants can pair seed-for-seed;
scoring axes and provenance are inspectable.
Goal
Add a Counterfactual Preference Lab that presents pairwise A/B candidates differing on exactly one declared musical/control axis.
The user chooses:
left | right | tie | skip
The resulting feedback updates preference evidence for the changed axis without pretending that every other candidate property caused the choice.
Initial comparison axes
Start with axes that can be isolated deterministically:
register window / center
ending-stability or cadence treatment
gesture density
variation amount
complexity axis value
rhythm-template choice
tonal candidate/hypothesis (only after S15 scope/confidence policy is ready)
Each axis requires a pair constructor and an equivalence contract for everything that must remain unchanged.
Skip must remain distinct from Tie and from absent feedback.
Controlled-context requirements
For a declared single-axis pair, pin and verify all applicable controls:
base seed
strategy
variant index
source rhythm/template palette
pitch material / tonal scope
bar and meter structure
candidate-set version
generator/scoring version
all non-target control values
The pair builder must emit a machine-readable diff of expected and observed feature deltas.
If an uncontrolled axis changes beyond an explicit tolerance, the comparison is invalid and must not update the preference profile.
Learning baseline
Do not require a neural/RL system for the first slice.
Acceptable deterministic baselines include:
per-axis signed bounded updates using the known left/right delta;
Bradley–Terry-style pairwise scores;
per-axis Beta/log-odds estimates for discrete choices.
Requirements:
preference state remains inspectable and resettable;
updates are deterministic for a fixed feedback sequence;
confidence/evidence count is separate from preference magnitude;
no-feedback/skip does not become negative evidence;
learned values never overwrite raw feedback events.
S8 surface
S8 should display:
A/B candidates
changed axis and values
what was held constant
play/listen controls
left/right/tie/skip
optional explanation after voting
The UI must consume the canonical comparison contract and must not reconstruct pair semantics from labels.
Evaluation
Measure whether pairwise evidence improves ranking with held-out synthetic and human sessions.
Initial deterministic evals:
Synthetic user consistently prefers higher ending stability → later ranking shifts accordingly.
Synthetic user prefers lower register but is indifferent to rhythm → register changes while untouched rhythm preference remains stable.
Tie feedback increases evidence count without directional movement.
Skip produces no preference update.
Invalid/confounded pair produces no update and a typed rejection.
Human experiment metrics:
pair completion/skip rate
per-axis evidence count
preference consistency on repeated hidden pairs
ranking lift on held-out comparisons
time per decision
axis coverage and imbalance
Required controls
Same request/seed/comparison spec reproduces the same semantic pair.
Pair differs only on the declared axis within documented tolerances.
Deliberate second-axis drift rejects the pair.
Left/right order randomization does not change the underlying comparison identity.
Classification
Problem
The planned S9 baseline records like/dislike/favorite feedback and updates feature weights. Whole-candidate feedback is useful, but it is heavily confounded:
One heart icon applied to a six-axis candidate is not a clean learning signal. It is a small philosophical crisis stored as a boolean.
Griff already has the right deterministic machinery for a stronger experiment:
Goal
Add a Counterfactual Preference Lab that presents pairwise A/B candidates differing on exactly one declared musical/control axis.
The user chooses:
The resulting feedback updates preference evidence for the changed axis without pretending that every other candidate property caused the choice.
Initial comparison axes
Start with axes that can be isolated deterministically:
Each axis requires a pair constructor and an equivalence contract for everything that must remain unchanged.
Pair contract
Suggested model:
Skipmust remain distinct fromTieand from absent feedback.Controlled-context requirements
For a declared single-axis pair, pin and verify all applicable controls:
The pair builder must emit a machine-readable diff of expected and observed feature deltas.
If an uncontrolled axis changes beyond an explicit tolerance, the comparison is invalid and must not update the preference profile.
Learning baseline
Do not require a neural/RL system for the first slice.
Acceptable deterministic baselines include:
Requirements:
S8 surface
S8 should display:
The UI must consume the canonical comparison contract and must not reconstruct pair semantics from labels.
Evaluation
Measure whether pairwise evidence improves ranking with held-out synthetic and human sessions.
Initial deterministic evals:
Human experiment metrics:
Required controls
Tie,Skip, missing feedback and rejection remain distinct.Acceptance
Non-goals