ChainStep.action(name:) resolves at execute time through ChainResolution, where shortcuts beat destinations beat built-ins. Creating an action whose name matches an existing destination or chainable built-in therefore changes what every already-installed chain step carrying that name does. The only signal today is the generic "another action is already named X" warning, which does not say that other actions would start behaving differently.
This is pre-existing chain behavior, not introduced by agent authoring, but authoring is the first path that lets a remote agent reach it, so it is worth deciding on.
Options: a louder warning that enumerates which chains would be re-pointed, a hard refusal on names that shadow a destination or built-in, or id-based chain references (bigger change, probably the right long-term answer).
ChainStep.action(name:)resolves at execute time throughChainResolution, where shortcuts beat destinations beat built-ins. Creating an action whose name matches an existing destination or chainable built-in therefore changes what every already-installed chain step carrying that name does. The only signal today is the generic "another action is already named X" warning, which does not say that other actions would start behaving differently.This is pre-existing chain behavior, not introduced by agent authoring, but authoring is the first path that lets a remote agent reach it, so it is worth deciding on.
Options: a louder warning that enumerates which chains would be re-pointed, a hard refusal on names that shadow a destination or built-in, or id-based chain references (bigger change, probably the right long-term answer).