DEV Community

Kriday Dave
Kriday Dave

Posted on

Your AI Agent Ordered Bananas. Here's Why.

Your AI Agent Ordered Bananas. Here's Why.
You told your AI agent you like apples and oranges. Somewhere between Agent 1 and Agent 2, a banana snuck in. Now your grocery agent is ordering bananas. Not because the LLM hallucinated -- because the context handoff was broken.
This is the real problem nobody talks about. Everyone's arguing about which model is smarter while the plumbing underneath is leaking.
We blame the LLM for everything
Yelling at Claude at 3AM to fix your broken pipeline isn't going to work. Claude doesn't know you. Claude doesn't remember what Agent 1 said to Agent 2 three steps ago. Each handoff between agents is just a JSON blob getting passed around with zero guarantees. No signing. No validation. No rollback if something goes wrong.
RAG gets thrown around as the solution to everything but RAG just helps agents find relevant information. It doesn't protect the information that's already been passed around and corrupted.
If your AI agent corrupts your context -- your Obsidian vault, your memory store, whatever you're using -- every downstream agent inherits the damage. Silently.
The banana problem, formally
Here's what actually happens without any protection:
python# Agent 1 produces output
agent1_output = {"entities": ["Apple", "2024 revenue"], "summary": "Apple grew"}

Manual serialization -- easy to lose data, corrupt context

context = json.dumps(agent1_output)

Agent 2 receives corrupted context

agent2_input = f"Given: {context}\nAnalyze this."
Agent 2 might drop keys. Add hallucinated ones. Quietly rewrite history. You won't know until something downstream breaks in a way that's nearly impossible to trace back.
What if we treated context handoffs like database transactions?
That's the question that led to Relay.
Relay treats your context like an append-only ledger. Every handoff between agents gets signed and validated. If an agent drops a critical key -- like "entities" disappearing between steps -- Relay catches it and rolls back to the last clean state automatically.
pythonfrom relay.core_pipeline import CoreRelayPipeline

pipeline = CoreRelayPipeline(
signing_secret="your-secret-key",
token_budget=8000
)

Agent 1 creates a signed envelope

result = pipeline.execute_step({"entities": ["Apple"], "revenue": "2024"})
envelope1 = result.value # signed, immutable

Agent 2 accidentally drops "entities"

result = pipeline.execute_step({"summary": "growth"}) # contradiction detected

Relay rolls back automatically

result = pipeline.rollback()
restored_envelope = result.value

Back to the clean state from step 1

No banana.
What Relay actually does
Every context move between agents gets wrapped in a signed envelope with a version, a timestamp, the token budget, and an HMAC signature. If anything changes, the signature fails. If a critical key disappears, the validator fires. If the validator fires, you get a rollback to the last clean checkpoint instead of silent corruption propagating through your pipeline.
It also supports parallel agents through fork-join -- you can run multiple agents against the same context snapshot at the same time, then merge or vote on their outputs. If there's a conflict, the whole step rolls back cleanly.
Why this matters
Reliable AI systems need reliable infrastructure underneath them. The model quality is only as good as the context it receives. Right now most multi-agent pipelines have no protection on context handoffs at all.
I built Relay as a 10th grader because I kept running into this problem and couldn't find anything that solved it properly. Context matters. It needs to be protected, not just passed around and hoped for the best.
You can use it today:
pip install relay-middleware
Or check the source: https://github.com/kridaydave/Relay

Top comments (0)