
When developers migrate agents, attribution does not make the trip
A developer at Ploy migrated a production AI agent to GPT-5.6 Sol last week. The results: 2.2x faster, 27% cheaper, 230 points on Hacker News with 106 comments. Lorenzo Gentile's writeup is a clean migration story. What it does not mention: attribution. Not because they forgot. Attribution was not there to move.
That absence is the point.
What migrates and what does not
When you migrate an agent, you move the system prompt, tool definitions, Model Context Protocol (MCP) connections, memory stores, and structured output schemas. The model itself is the swap. You rip out one engine, slot in another, and the surrounding architecture holds.
That pattern tells you something structural. The model is the component with the shortest replacement cycle. GPT-5.6 Sol today, Claude Fable 5 next quarter, something faster after that. If attribution lived at the model layer, every migration would reset your publisher commission record. Old model: tracked. New model: not tracked.
The model is supposed to be swappable. Attribution cannot be.
The wrong layer problem
Affiliate tracking today still depends on browser cookies. A user clicks a link, a cookie drops in their browser, and if they reach checkout within the window, the publisher gets credit. That mechanism was designed for a human who opens a tab and stays in it.
An agent has no browser. No cookie jar. No tab to open. When an agent researches a product, compares pricing, or makes a recommendation, none of that activity passes through a browser where a tracking pixel could attach. The attribution signal has nowhere to land.
If you tried to bolt attribution onto the model itself, you inherit the migration problem. The model changes on a quarterly upgrade cycle. Publisher commission records should not reset every time an infrastructure team swaps an LLM provider for cost or performance. Two different lifecycles. Two different stability requirements.
The right layer
Attribution has to live somewhere the model migration does not touch.
The protocol layer. The request that flows from agent to tool to merchant checkout carries the attribution credential, not the model that processed it. A signed referral token attaches to the request before any model fires. It travels through tool calls. The merchant on the other side can read and verify it.
The merchant does not need to know if the agent ran GPT-5.6 Sol or Claude Fable 5 or something that does not exist yet. They need to know which publisher influenced the decision that reached their checkout. Those are different things.
What model-agnostic attribution requires
Three properties:
Protocol-bound. The credential lives in the request itself, not in model memory or session state. It survives model swaps because it was never attached to the model.
Session-persistent. As the agent calls tools, compares products, and builds recommendations within a session, the attribution signal persists across those steps. It does not reset when the underlying inference provider changes.
Verifiable by any merchant. The merchant can independently confirm the credential is valid without needing to know anything about the agent's internal architecture.
None of that requires the model to know it is carrying an attribution signal. The model processes the request and produces output. The credential travels alongside, not through it.
Why this matters now
The upgrade cycle for production agents is quarterly. GPT-5.6 Sol shipped, developers migrated, and the cycle resets with the next release. Every migration is another moment where attribution has to survive the swap. If it lives at the model layer, it does not survive. If it lives at the protocol layer, the swap is irrelevant.
The infrastructure being built at Syndicate Links is designed to operate at the layer that does not migrate. The attribution credential is protocol-bound, session-persistent, and model-agnostic. When the next upgrade cycle fires in October, the credential travels. The model changes. The publisher gets paid.
That is the gap. Not a feature gap. A layer gap. The model layer was never the right place for attribution to live. The fact that production agents are now migrating on quarterly cycles makes that architectural mistake visible. The fix is building at the layer that stays still.