Agent-Handoff Name-in-Text Precedence Automation: The Right Task, the Wrong Client

When a structured field and a sentence disagree about the same fact, something has to decide which one is true
A workflow that accepts both a precise, structured reference (a client ID) and an open, human-written description of the same task is trying to get the best of both — a machine-checkable value plus a rich, readable context. The two are usually consistent, right up until the structured field is filled in by a fallback rather than a deliberate choice, and the plain-language text says something different. Nothing about the structured field being wrong looks unusual from the outside; it is still a syntactically valid client, it still points somewhere real — just not to the somewhere the person or agent actually meant.
How the underlying problem shows up before you fix it
A function accepts a structured reference argument with a documented default for when a caller omits it, and that default is a plausible, real value rather than a genuine, checkable absence.
The default happens to come from an adjacent but unrelated piece of context — the conversation currently open, the last record touched — that sounds reasonable but was never actually confirmed by anyone as correct for this specific call.
A recipient of a task or handoff correctly follows a structured field exactly as it was designed to be followed, and ends up on the wrong outcome because the field itself carried the wrong value.
A plain-language description of the same task explicitly names the correct value, but nothing in the receiving system cross-checks that text against the structured field it was also given.
The mismatch is only discovered by tracing a downstream mistake back through several steps, rather than by the first system that had both the text and the field in hand at the same time.
Why a reasonable-sounding default was still the wrong one for this caller
Falling back to the conversation's own client when a handoff doesn't specify one explicitly is a defensible general-purpose default — most of the time, work discussed inside a specific client's conversation genuinely is about that client, and a default has to resolve to something. The gap only opens when an agent is handing off work that is ABOUT a different client than the one the conversation happens to be tagged with — a genuinely common and legitimate situation (coordinating one client's work while chatting inside an internal, cross-client discussion) that the original default had no way to distinguish from the far more common case it was built for.
How the fix was built to trust the text over an assumed label, but only when the text is unambiguous
The migration's own header states the incident plainly, as the reason for the fix rather than a hypothetical: a real handoff, tested live on 2026-09-02, named a specific client inside its own free-text objective, and the receiving agent worked it against a different client — the one the handoff had inherited by default from the surrounding conversation, not from anything anyone had actually confirmed. The person receiving the handoff followed the structured field exactly as designed; the field itself was the thing that was wrong.
The fix runs a single, deliberately narrow check before a handoff is ever recorded: it normalizes the handoff's own objective, context, and deliverable text (stripping accents so a name is matched regardless of formatting) and checks it for a mention of any client the requesting agency actually has on file — not a client in general, a specific one this agency has a real relationship with. If exactly one such client is mentioned, and that client differs from whatever label the handoff would otherwise carry, the name found in the text replaces the inherited label before the handoff is ever written to the receiving agent's queue. If the text mentions two clients, or mentions none at all, the check changes nothing — the inherited label is left standing, because there is no unambiguous signal strong enough to justify overriding it.
That asymmetry is deliberate: a single, clear textual claim about which client this is is treated as more trustworthy than a default that was never actually confirmed by anyone, while an ambiguous or absent textual claim is treated as too weak to override a value the system already had. The fix does not attempt to guess between two named clients, and does not invent a client that was never mentioned — it only acts on the one specific, unambiguous case that caused the real incident.
What is actually built today
A text-matching check that runs on every handoff before it is recorded, scanning the objective, context and deliverable fields for a mention of any client the requesting agency has on file.
The check normalizes accents before matching, so a client name is recognized regardless of how it was typed.
A name found in the text overrides the handoff's inherited client label only when exactly one client is mentioned and it differs from that label — never when two or more are mentioned, and never when none are.
The override happens once, at the point the handoff is written, so the receiving agent's queue always reflects the corrected value — there is no separate reconciliation step required afterward.
Confirmed today via direct inspection: the normalization and single-match override logic remain part of the current handoff function.
A task correctly followed to the wrong place (illustrative scenario, not a real client)
An agent asks a colleague to prepare next month's plan for a specific client, naming that client directly in the request's own description — but the request is sent from inside an unrelated internal conversation, and the handoff's structured client field defaults to whatever that conversation happens to be tagged with. Before the fix, the colleague works the plan against the conversation's client, not the one actually named in the request. After the fix, because exactly one client is named in the text and it differs from the inherited label, the correct client is what the colleague actually sees.
What changes operationally
A piece of work handed from one Centriu Axis agent to another now resolves to the client actually named in the handoff's own text whenever that name is unambiguous, closing a real, tested gap where a structured field's own reasonable-sounding default could silently outrank a clear statement of fact written two fields away.
When this is not the right fit
This check resolves which client a handoff is about — it does not choose between two named clients when a handoff genuinely mentions more than one, and it does not invent a client the text never names; both of those cases are deliberately left to the existing, unambiguous label rather than guessed at.
Trusting a default vs. trusting an explicit, unambiguous statement
A default value that resolves silently, without confirmation, is convenient exactly until the one case it was never built for comes along — and nothing about a default succeeding most of the time indicates it will succeed this time. Centriu's fix gives a clear, single statement of fact in the handoff's own text the authority to override a default nobody actually confirmed, while still refusing to guess when the text itself is ambiguous.
Related systems
Main system: Centriu Axis.
What it does NOT do
- Does not override the inherited client label when the handoff's text mentions two or more clients on the agency's roster — the label is left unchanged in that case.
- Does not override the inherited label when the text mentions no client at all — silence is not treated as a signal to change anything.
- Does not invent or guess a client that was never mentioned in the handoff's own text.
- Does not change how the receiving agent processes a handoff once its client field is set — the fix operates entirely on which value that field holds before the handoff is recorded.
- Does not require every handoff to name a client explicitly — the check only acts when a name is present and unambiguous; a handoff naming no client keeps working exactly as before.
- Does not claim to resolve every possible source of incorrect client attribution across the platform — it closes the specific, tested gap between a handoff's inherited default and an unambiguous textual claim.
Security and governance
The handoff function resolves the requesting agent's own organization before checking any client name, and only ever matches against clients that organization actually has on file. Any client or business data referenced remains subject to Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.
Pricing and contracting
Included at no extra cost with any Centriu contract. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).
Frequently asked questions
What was the real incident that led to this fix?
During a live test on 2026-09-02, an agent handed off work naming a specific client in the free-text objective, but the handoff record was tagged with a different client — the one inherited by default from the conversation it was sent from — and the receiving agent worked the task against that wrong client.
How does the fix decide which client is correct?
It checks the handoff's own text for a mention of exactly one client the agency has on file; if that name differs from the inherited label, the name in the text takes precedence.
What happens if the handoff text mentions two different clients?
Nothing is overridden — the inherited label stands, because two mentions is not an unambiguous signal.
What happens if no client is mentioned in the text at all?
The inherited label stands unchanged — the same as before this fix.
Does this change how the receiving agent works once it gets a handoff?
No — it changes only which client value is attached to the handoff before it is recorded; everything downstream works exactly as it did before.
What does Centriu Axis cost?
It is sold by subscription with a published starting price — exact current values are on the central pricing page.
See how Centriu Axis keeps agent-to-agent handoffs pointed at the right client
Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.