1.00
FRESH
Never worn — first pick when items tie.
0.40 (floor)
0.70
1.00 (never worn)
How the score is computed
Start at 1.00 (never worn)
+1.00
Frequency penalty (worn_count = 0)
−0.00
Recency penalty (—)
−0.00
Clamp to [0.40, 1.00]
no change
Final freshness score
1.00
In a tie between two equally-eligible items, the higher freshness wins.
Why this matters. Freshness contributes 0.4 × score to the agent's
candidate scoring (_score_main_piece in styling_agent.py). That weighting
is small enough never to override a formality mismatch, but
big enough to break a tie. The 0.40 floor means a heavily-
loved piece is never made ineligible — only outranked.
See skills/wearly-styling-agent/wear-history-rules.md for the
rule pack and tests/test_wear_history.py for the unit-test
contract this sim is the visual companion to.