Context That Ships Together Stays Together
Part 4 of 14 · The Complete Agent Stack · Ontology. Why an agent’s context should be versioned as one release.
The Complete Agent Stack
- Ontology: 1 Data Models · 2 Row-Level Security · 3 Data Plane · 4 Workspaces ← You are here · 5 Self-Serve Onboarding
- Agent harness: 6 Harness 2.0 · 7 MCP Connections
- Distribution: 8 BI Canvases · 9 Branded HTML Apps · 10 MCP for Claude · 11 Demo Projects
- Improvement loop: 12 Observability · 13 Golden Questions · 14 Builder Agent
Change one line in an agent’s system prompt and something else breaks: a skill that relied on the old wording, a golden question that now fails, a chart rule that no longer fits. The change was small. The trouble is that nobody could see everything it touched.
By this point in the series, an agent has a data model, permissions and sources. Over the next parts it will gain skills, memory, golden questions and prompts too. This part is about where all of that lives.
An agent is many files pretending to be one thing
In most setups, the pieces of an agent’s context live in different places. The data model sits in one tool, prompts in another, skills in a repo and examples in a spreadsheet. Each piece changes on its own schedule, so they drift apart.
The cost shows up in two places. Changing one piece means guessing how it affects the rest. Debugging means jumping between chat logs, traces and config files to piece together what the agent actually saw.
“Workspaces are pretty much everything we’ve been launching, all under a single pane of glass.”
— Serguei Balanovich, CTO of Upsolve AI
One pane of glass
An Upsolve workspace puts every part of the agent in one sidebar.
- Data model: the tables, descriptions and permissions from Parts 1 to 3.
- Knowledge base: the documentation the agent can read.
- Skills: such as generate SQL, spend details and spend driver.
- Assets: golden questions, charts and SQL examples for the questions the agent must answer.
- System prompts: including how to generate SQL and how to generate charts.
- Memory: an individual profile for every user who has used the agent.
- Chat history: who asked what, from which surface, and at what cost.
- Playground and deploy: where you test the agent and ship it.
If two pieces of context depend on each other, they belong in the same place.
Version the whole agent
The part I’d point a skeptic to is the versioning. The data model, knowledge base, skills and assets are versioned together as one release, with a production version and a draft. You choose which version to deploy, and it goes into your product as an iframe.
Get Ka Ling Wu’s stories in your inbox
Join Medium for free to get updates from this writer.
That changes how you make changes. You don’t edit a prompt in production and hope. You change the draft, test it, and promote the whole set at once. If something regresses, there’s one release to roll back to, instead of six files that each moved independently.
Version the agent as a whole, not its files one by one.
Test as anyone, with the trace beside you
The playground lets you ask questions as yourself or as any user in your organisation, which matters once row-level security is in place. As the answer comes back, a live trace runs alongside it: the golden examples it fetched, the schema it retrieved and the chart validation it ran.
In the demo, a question about monthly purchase order spend over the last 12 months comes back in seconds, with each step of the trace visible as it happens. You see the answer and the reasoning at the same time, before any user does.
It’s what makes self-improvement possible
There’s a second reason to keep everything in one place, and it’s the one I’m most excited about. When the chat history sits beside the context, an agent can read both. In Part 14, the Builder Agent uses exactly that to read how users struggle and propose fixes to the data model, prompts and skills. It can only do that because the workspace gives it the whole picture.
Where I’d start
Make your next change in a draft, however small. Test it in the playground as two different users and compare the traces. Then promote the draft as a new version and note what changed. After a few cycles, you’ll have something most agent teams don’t: a history of the agent that explains why it behaves the way it does.
An agent is only as consistent as the release it ships in.
Read more about Workspaces in Upsolve →
For the step-by-step version, read the full guide on the Upsolve blog.
Next in the series: Part 5, Self-Serve Onboarding, on getting a working workspace without a week of setup.
Prefer the 45-second version? Watch the Workspaces teaser on YouTube:
Follow me on Medium and LinkedIn for more on analytics agents, context engineering and production AI. If you want to try the stack yourself, start free at upsolve.ai.









