Route composite sub-configs through CONFIG_MAPPING for TRF009
mlinter 0.1.5 extended TRF009 from modeling files to every model file, which
surfaced six configs importing a sibling model's config class directly. Each now
resolves it through CONFIG_MAPPING with AutoConfig as the sub_configs marker,
which is what the rule prescribes and what 99 other composite configs already
do:
cohere_asr ParakeetEncoderConfig -> parakeet_encoder
esmfold2 EsmcConfig -> esmc
gemma4_assistant Gemma4TextConfig -> gemma4_text
gemma4_unified_assistant Gemma4UnifiedTextConfig -> gemma4_unified_text
ovis2 Qwen2Config -> qwen2
sam3 CLIPTextConfig -> clip_text_model
cohere_asr already used CONFIG_MAPPING for instantiation, so only its
sub_configs value and import changed. Where the imported class also appeared in
a type annotation it is widened to PreTrainedConfig, and esmfold2's _init_nested
helper takes the class from CONFIG_MAPPING since it calls cls() directly.
Verified: default construction and to_dict/from_dict round-trip resolve the same
concrete config class as before for all six, and tests/models for the six models
pass (552 passed, 551 skipped).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>