454e80bcd5
Integrating this toolkit into Bari 206 surfaced two things the template could not express, both of which would have produced wrong output. **AUTHOR.** Cargo's authors entry names whoever wrote the plugin; VENDOR is the organisation that ships it. Bari 206 separates them - "Mikkeli Matlock" authored it, "Novoyuuparosk" vends it - while this template only happened to work because its two placeholders were identical. AUTHOR is now its own value defaulting to VENDOR, pinned in branding.conf only when it actually differs so the file keeps showing that it derives. **Site-directed rewriting.** That default is exactly what broke the rename: with AUTHOR defaulting to VENDOR, both fields hold the same old string, and a global value substitution cannot tell which occurrence belongs to which. Renaming the vendor put the org name in the authors field. The site table already holds the old resolved literal for every site it owns, and regeneration produces the new one, so rewriting by that pair is unambiguous. brand-plugin.sh now does that first and falls back to value substitution for everything the table does not enumerate - doc comments, use sites in other modules, prose. The order matters and is load-bearing: run the global pass first and it consumes the old literals, leaving the precise pass nothing to match. Verified on the ambiguous case: renaming with a distinct author now puts the person in Cargo.toml's authors and the org in Plugin::VENDOR, where the previous implementation put the org in both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn