How the agent topology honours idempotencyKey, or the typed opt-out.
REQUIRED on createAgentThreadTopology for the same reason the run router's
is: a topology that silently ignored a key would answer an exactly-once
request with at-least-once behaviour, and the caller would have no way to
find out. Writing 'none' is honest — it makes every keyed start refuse with
IDEMPOTENT_START_UNSUPPORTED, and leaves unkeyed starts byte-identical.
The deployment execution fence, so a REPLAY can re-assert a proof-only
fence's binding to the run this key already made. Must be the fence over
the SAME database the reservations live in; 'none' is the honest answer
for a host with no fence.
How the agent topology honours
idempotencyKey, or the typed opt-out.REQUIRED on
createAgentThreadTopologyfor the same reason the run router's is: a topology that silently ignored a key would answer an exactly-once request with at-least-once behaviour, and the caller would have no way to find out. Writing'none'is honest — it makes every keyed start refuse with IDEMPOTENT_START_UNSUPPORTED, and leaves unkeyed starts byte-identical.