review: document the suffix-match tradeoff in modelComponentsMatch
main·
Commit

A review note flagged that an end-aligned (suffix) span like 'sonnet-4' vs 'claude-sonnet-4' is rejected. This is intentional, not a regression (the prior <= bound also rejected it via the end<len(long) body check): a suffix has no following component, so there's no version boundary to distinguish a real less-specific id from a bare fragment. Allowing suffixes would re-introduce the 'mini' -> 'gpt-4o-mini' and '4-5' -> 'claude-sonnet-4-5' false positives. Realistic configured models (aliases/families/full names) still match because the recorded model carries a trailing version. Expanded the comment with the tradeoff and added tests pinning both the rejected suffix cases and the working alias/family matches.
Entire-Checkpoint: 75dabf75ec5d
Checkpoints
Checkpoint 1