Pinned Tweet
Does your boss know you are sending live production traces to a cloud company?
Every user prompt. Every customer message. Every tool call.
They would not be thrilled.
Self hosted, that conversation never starts.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #selfhosted
"Quality work is on the roadmap for Q3."
Quality is not a project. It is a loop, and a loop that runs quarterly is four data points a year.
Traffic arrives daily. So should the cases.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #LLMOps
The person who wrote your judge criteria explained them once, at a standup, in March.
Then they changed teams.
Criteria that live in a file outlive the person who had the opinion.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #evals
"We would notice if quality dropped."
You would notice a cliff. Nobody notices a slope.
The regressions that cost money arrive at two tenths of a point per release.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #evals
The question that stops a rollout is never about accuracy.
It is "where does the transcript go".
"This machine, and our own provider key" is a short enough answer to clear a review in one meeting.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #selfhosted
"We do not have the volume for this."
Twenty conversations a day is six hundred a month.
You have read nine of them. You also picked which nine.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #evals
Your dataset is the only written record of what the agent is supposed to do.
Prompts say how. Tests say what.
Which means a stale dataset teaches every new hire last year's product, confidently.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #evals
"Our users tell us when something is broken."
The ones who tell you are the ones who stayed.
Everyone else closed the tab. Their conversations are still in your traces, waiting to be read by somebody.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #AIagents
Your support lead can name the three things the agent gets wrong.
They have said so since July. Nobody asked for the list, and they could not prove it.
Topic clustering is that list, with the share of traffic beside it.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #AIagents
"We read the logs."
Logs tell you what the agent did. They do not tell you whether it should have.
A trace with a verdict attached is a log that holds an opinion.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #observability
At three in the morning nobody wants a score.
They want the conversation, the spans, the arguments the tool was called with, in that order.
A number tells you something is wrong. A trace tells you what to fix.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #LLMOps
If an old engine/web/ copy is shadowing the real one, the boot log says so.
A stale directory that silently wins costs you an afternoon. One that announces itself costs you a delete.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #devtools
CONTRIBUTING lists what a review actually checks: wire casing, the response contract, body validation, per dialect queries, migrations.
Five things, written down, so review is a checklist not a taste test.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #opensource
On a fresh clone the engine imports a workspace package whose dist/ does not exist yet.
So yarn dev builds it first, a one second step, instead of failing with module not found and leaving you to work out why.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #devtools
agentx-server --upgrade re-downloads the dashboard bundle even when one is already sitting there.
Because "a copy exists" and "the copy is current" are different states, and only one of them was what you wanted.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #devtools
The dashboard shows which frameworks are actually reporting in, labelled from the SDK or derived from OTel metadata.
Unlabelled traffic is grouped as Other, not quietly assigned somewhere convenient.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #observability
The repo ships ADRs for why things are built the way they are, and a runbook for when they break.
Most projects ship neither, and answer both questions in Slack, once, to one person.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #opensource
GET /metrics is served at the root, not under /api/v1.
If your Prometheus scraper is getting a 404, that is why.
Open by default, token gated with AGENTX_METRICS_TOKEN when it faces a network.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #observability
The dashboard is not tracked in this repo, on purpose.
web/ is populated from a release asset, and the Docker layer revalidates that download, so a newly published bundle is picked up without anyone remembering --no-cache.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #devtools
Fresh Postgres installs get a natively partitioned traces table.
Partitioning is a thing you want decided before the table is large, not discovered at 2am when it already is.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #LLMOps
The eval client is a zero dependency TypeScript package. Datasets, runs, result submission, the gate.
Zero because a test dependency that drags in a tree is a supply chain you did not agree to.
github.com/AgentX-ai/AgentX-…
#ClosingTheLoop #devtools
