fn reject_duplicate_names(
manifest: &[StarterMcpServer],
) -> Result<(), StoreError>Expand description
Guard against a manifest-authoring mistake: two entries sharing a name.
Mirrors skill_seed::reject_duplicate_triggers exactly — see its doc
comment for the full failure mode this closes (reagent P2, PR #3175).
name here plays the role trigger plays for skills: it is both the
stable key starter_mcp_server_id derives from AND the field
mcp_server_upsert_unique_global’s own duplicate check is keyed on,
which is exactly the combination that turned “id collision” into
“duplicate-check bypass” for skills.