1b6d51dc71
Pure move, plus a note on SpeakerConfig.LibPath: it is the one field in the tree with no reader, no default and no validation, because cmd/mavend's newSpeakerEmbedder discards the whole block — there is no speaker model on this box. It stays declared so a block written from the plan document matches, and the comment now says so rather than leaving the next reader to grep for it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>