fix: No generic flag dispatch: only \token_value_inflation\ is ever zero-rated (#723)
Define ZERO_RATED_FLAGS set near effective_fitness and check each flag with any(...in flags...) instead of a single hard-coded substring test. token_value_inflation behaviour is preserved; new flags can be added to the set without touching the dispatch logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5dfa824161
commit
273615cfed
1 changed files with 9 additions and 2 deletions
|
|
@ -861,11 +861,18 @@ if not new_items:
|
||||||
# ── 5. Separate pinned (hand-written) from evolved; top-100 cap on evolved only
|
# ── 5. Separate pinned (hand-written) from evolved; top-100 cap on evolved only
|
||||||
#
|
#
|
||||||
# NOTE: raw fitness values are only comparable within the same evaluation run.
|
# NOTE: raw fitness values are only comparable within the same evaluation run.
|
||||||
# Entries with fitness_flags='token_value_inflation' (or other flags) are ranked
|
# Entries whose fitness_flags contain any flag in ZERO_RATED_FLAGS are ranked
|
||||||
# as fitness=0 so that inflated scores do not bias pool admission or eviction.
|
# as fitness=0 so that inflated scores do not bias pool admission or eviction.
|
||||||
|
#
|
||||||
|
# ZERO_RATED_FLAGS: canonical set of flag strings that force effective_fitness=0.
|
||||||
|
# Add new inflation/distortion flags here; no other code change is required.
|
||||||
|
ZERO_RATED_FLAGS = {
|
||||||
|
'token_value_inflation',
|
||||||
|
}
|
||||||
|
|
||||||
def effective_fitness(entry):
|
def effective_fitness(entry):
|
||||||
flags = entry.get('fitness_flags') or ''
|
flags = entry.get('fitness_flags') or ''
|
||||||
if 'token_value_inflation' in flags:
|
if any(flag in flags for flag in ZERO_RATED_FLAGS):
|
||||||
return 0
|
return 0
|
||||||
return int(entry.get('fitness') or 0)
|
return int(entry.get('fitness') or 0)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue