Why Your Tech Stack Doesn’t Matter

Architecting for Reliability in the Age of Multi-Agent Systems

We are currently over-indexing on “Model Orchestration.”

Every week, a new library, a new vector database, or a new framework tops the GitHub trending charts.

This week, it might be LangGraph. The next CrewAI. Something else is right behind it.

Every week, the same question shows up:

“Which stack should I use to build a reliable multi-agent system?”

It’s the wrong question.

Because I’ve yet to see a system fail due to the wrong framework, language, or database.

I’ve seen them fail because they couldn’t recover state, couldn’t control context, and couldn’t explain what they just did.

There’s a persistent belief that the logo on the documentation is the secret sauce for a production-ready system.

It isn’t. In fact, if you’re spending the majority of your time debating the stack, you’re missing the architectural patterns that actually determine whether your agents will succeed or hallucinate into oblivion.

The Illusion of the Framework

A Multi-Agent System (MAS) is not a library problem. It is a State Management problem disguised as an AI problem. Whether you use a graph-based logic or a role-based queue, the fundamental challenges and failure modes remain identical:

  • lost state
  • bloated context
  • untraceable decisions

The stack you choose is merely the syntax you use to solve universal engineering constraints.

The Core Thesis: Reliability in agentic workflows is derived from patterns, not packages. A secure, scalable system built in Python looks fundamentally the same as one built in Rust if the underlying system primitives are respected.

The Three Constants of Reliable Agents

Regardless of your tools, your architecture must solve for these three pillars to move from a “cool demo” to a production asset:

  1. State is Sovereign
    If an agentic loop fails at step 7 of 12, does your system restart from scratch? If so, your stack doesn’t matter because your architecture is broken. A resilient system requires Deterministic Checkpointing:

    • Capture the full thread state.
    • Preserve intent, not just data.
    • Resume execution without replaying the entire workflow.

Without this, your system is just a loop with amnesia.

  1. The Context Tax
    Context windows are not infinite. In reality, every token you give an agent is a tax on its reasoning. The “how” isn’t about which LLM you use; it’s about the Routing Layer:
  • Classify intent
  • Expose only relevant tools
  • Minimize context surface area

Less context doesn’t limit the system—it sharpens it.

  1. Governance as a First-Class Citizen
    An agent is a service principal. If it cannot be audited, revoked, or sandboxed at the identity level, it shouldn’t have access to your data or exist in production.

A reliable system enforces:
Least-Privilege Authorization, ensuring agents operate within a cryptographic “box” regardless of whether they are running in a Docker container or a serverless function.
Scoped tool usage
Traceable execution

Example

Consider a simple multi-agent workflow:

If your system can’t resume from that point with the same context and intent, you don’t have a system.

You have a demo.

A reliable system looks different.

The Framework-Agnostic Checklist

Pillar The Real Question
Coordination How do agents hand off work without bloating context or losing intent?
Observability Can we trace every decision back to inputs and reasoning steps?
Resilience What happens when a model fails mid-workflow? Can we resume without replaying?
Sovereignty Who owns the data and execution environment—us or the platform?

Closing Thoughts

These are not new problems. They’re just showing up in a new layer.

Stop chasing the framework. A system built in Python and one built in Rust will fail in exactly the same ways if the architecture is wrong.

The difference isn’t the stack. It’s whether you’ve designed for:

  • State
  • Context
  • Control

The tools are interchangeable. The architecture is not.


This is the foundation for the upcoming Sovereign Synapse series—where we move from theory to a local-first system that treats memory, context, and ownership as first-class concerns.

Facebooktwitterredditlinkedinmail

What I’ve Been Building: Systems, AI, and Real-World Data

Over the past several weeks, I’ve been spending a lot of time thinking about systems.

Some of that thinking has taken the form of writing.

If you’ve come across any of my recent posts, they might seem like they cover very different topics:

  • cataloging rocks in a backyard
  • building AI systems using MCP
  • working with documents, images, and real-world data

At first glance, they don’t appear to have much in common.

But they’re all exploring the same underlying idea.

The Common Thread

Across all of these posts, the focus has been on a specific kind of problem:

How do we turn messy, real-world inputs into structured, usable systems?

That problem shows up in many different forms.

Sometimes the input is physical:

  • objects
  • artifacts
  • environments

Sometimes it’s digital:

  • documents
  • images
  • logs

Sometimes it’s dynamic:

  • motion
  • behavior
  • sensor data

But the challenge is the same.

The input is unstructured.

The system needs structure.

The Backyard Quarry

One way I explored this idea was through a small project I called the Backyard Quarry.

It started with a simple observation:

There are a lot of rocks in the yard.

From there, the problem evolved into something more interesting:

  • how to represent physical objects as data
  • how to capture images and measurements
  • how to build pipelines around that data
  • how to search and organize it
  • how to think about digital twins

What began as a small experiment became a way to explore system design in a constrained, tangible setting.

MCP and AI Systems

In parallel, I’ve been writing about building AI systems using MCP.

On the surface, this looks very different.

Instead of rocks, the inputs are:

  • documents
  • APIs
  • models
  • agent workflows

But the structure is familiar.

  • inputs are ingested
  • processed
  • transformed
  • routed
  • used by applications

The system still needs to handle:

  • variability
  • scale
  • imperfect data
  • orchestration

Different inputs.

Same patterns.

From Objects to Systems

One of the more useful realizations in working through these ideas is this:

The problem is rarely about the individual object.
It’s about the system that handles many objects over time.

Whether the object is:

  • a rock
  • a document
  • a sensor reading

The questions become:

  • how is it represented?
  • how does it enter the system?
  • how is it transformed?
  • how is it stored?
  • how is it retrieved?

These are system-level questions.

A Shared Architecture

Across these different domains, a common architecture begins to emerge.

Diagram showing how raw inputs are captured, processed, structured, indexed, and used by applications in a data system.
A common pattern for transforming real-world inputs into usable systems.

The labels change depending on the domain.

But the structure remains consistent.

Why This Matters

Understanding this pattern makes it easier to approach new problems.

Instead of starting from scratch each time, you can ask:

  • Where does the data come from?
  • How does it enter the system?
  • What transformations are required?
  • How will it be used?

This reduces complexity.

It also makes systems more predictable.

What I’m Interested In

Going forward, I’m particularly interested in systems that sit at the boundary between:

  • the physical world and digital systems
  • unstructured inputs and structured data
  • human workflows and automated processes

That includes areas like:

  • digital archiving
  • photogrammetry and 3D capture
  • AI-assisted analysis
  • systems that track objects or behavior over time

These problems are messy.

Which is part of what makes them interesting.

A Continuing Exploration

The posts I’ve been writing are not meant to be definitive.

They’re part of an ongoing exploration.

A way to think through problems in public.

And occasionally, a way to use a slightly unusual example — like a pile of rocks — to make broader ideas easier to see.

If You’re Interested

If any of this resonates, you might find these useful:

The Backyard Quarry Series

A systems-focused look at modeling and working with physical objects starting with Turning Rocks Into Data.

MCP and AI Systems

A technical exploration of building agent-based systems and data pipelines. I’d suggest starting with The End of Glue Code: Why MCP is the USB-C Moment for AI Systems.

More to come.

And if nothing else, it turns out that even a backyard can be a good place to think about system design.

Facebooktwitterredditlinkedinmail