Triage Agent

Self-Aware Infrastructure

We create a sense of silence.
Swap dashboards for Goals and alarms for Awareness.

Always-on incident intelligence for early detection and prevention of outages, cost anomalies and security breaches.

Built on CoALA memory, Kahneman's dual-system thinking and USE RED SIGNALS framework.

Early access is by invitation.

Follow your goals your way

A live demo on sample data. Click into the desktop, scroll the phone, tap the watch.

Triage Agent terminal UIApplications realtime status, system configuration, MCP, Agents/Team Messenger, API
Your always-on SpotInfra Goals TrackerAndroid (iOS soon)
Goals
open
Tria - AI AgentAlways-onWatchOS
Goals
open
critical
Goals Trackercoming soon

triage

The core

Every event is classified, decided on, reflected on and answered in one loop around a single memory.

Classification

Each event is sorted on arrival as noise, signal or issue, by reflex rules and an embedding model. Most of it never reaches a model.

Decision

Jev decides what passes the guardrail, where an event is routed, how severe it is and what is likely to follow.

Reflection and reasoning

When something matters, slower loops reflect on resolved issues, reason about causes and write what they learn back to memory as facts and patterns.

System one · System two

Reflex rules and small models answer first. The slow, expensive reasoning runs only when the fast side says it is worth it.

xray

Agentic memory substrate

xray is the memory under Triage and a research project in its own right. Everything an agent observes or concludes is a memory cell: searchable by meaning, linked into a living graph, consolidated by reflection and knowledge loops, and let go when it stops mattering.

Memory for any agent

The agent’s own prompts and mental maps live in the same memory, which is what makes self-improvement possible. Over MCP, xray is recall, remember and forget for any agent, not only Triage.

White paper, section 7: Cognition

Spec

tria

Your triage teammate

Tria knows your workspace: its services and how they call each other, its past issues, and what the team learned from them. Tria speaks first, when something matters, with what it knows.

Speaks first

When an issue opens or resolves, Tria says so in the workspace chat, with the likely cause from what the workspace has seen before, so the team sees it where it already talks.

Knowledge that grows

Every issue adds to what Tria knows: patterns, facts and a map of how services connect. The next time something similar happens, the context is already there.

Ask · speak

Talk to Tria in chat or by voice when you want more. Mention @tria in a workspace chat and the whole room sees the answer. Tria asks before any change.

ego

Reality testing for AI agents

Continuous evaluation

ego samples live sessions from the OpenTelemetry traces your agents already emit, scores them, and alerts when quality drops. There is no SDK to add, and it never re-runs the agent.

Recursive self-improvement

A loop of sample, score, detect, diagnose, correct and verify. When scores drop, ego explains why, hands the diagnosis to the agent over MCP, records what the agent changed and checks that the scores recovered.

Self-improving always-on agents

For an always-on agent like a spot, ego follows its work as one continuous thread. The spot reads its findings over MCP, makes one change per finding and learns from the verdict.

Spec

activityan always-on agent, turn by turn52 turns · 25 with a failure · 9.2M tokens, 76% from cache2get_instructions3get_situation4list_open_issues5read_workspace_room6search_memory8get_health9get_prediction10list_patterns11k8s_get_resources13k8s_get_pod_logsops-spotclaude-sonnet-5-5click a turn to see its pathlatest turn24 Oct, 17:07 · 21s1◆claude-sonnet-5-53.5s2→get_instructions4ms3→get_situation3ms4→list_open_issues1ms5→read_workspace_room10ms6→search_memory406ms7◆claude-sonnet-5-54.3s8→get_health2ms9→get_prediction4ms10→list_patterns1ms11→k8s_get_resources286ms12◆claude-sonnet-5-53.5s13→k8s_get_pod_logs104msagentmodel, toolsome failuresmanydrag to zoom19:0022:0001:0007:0016:00
usageTOTAL TOKENS585.3k562.2k in · 23.2k outESTIMATED COST$0.27all models pricedLLM CALLS2302.5k tokens per callAVG LATENCY2.4sper LLM calltokens per hour, by call kindagentannouncechatgateknowledgeoutcomepatternpredictionreflectionverifyvoice025k50k75k100k125k02:0008:0014:0020:0002:00Tokens come from LLM spans. Cost is computed from token counts and list prices.
runsevery evaluation, newest firstRUNS41LATEST PASS RATE100%AVG PASS RATE46%METRICS TRACKED3pass rate over time0%25%50%75%100%correction registered20 Oct22 Oct24 Octper-metric score trend00.250.50.751correction registered20 Oct22 Oct24 OctWHENSTATUSAGENTRESULTSPASS RATEDURATION24/10/26 01:31Succeededops-agent2P0F100%22.3s23/10/26 21:38Succeededops-agent1P1F50%32.0s
sessionsone agent turn, every call and toolTOKENS697k↓691.7k ↑5.7kEST. COST$0.27STARTED23 Oct 2026, 23:40SERVICE.NAMEops-spotCLAUDE CODE· 5 turnsTURN 123 Oct, 23:39:548 tools (1 failed)↓131.5k ↑1.3k16.1sUSERwake: issue opened on users-api, p99 latency 677ms vs baseline 30ms◆claude-sonnet-5-52.5s · first token 1.7s↓22.2k ↑199then used a tool→Bashls · 489ms✗ ran 48ms · ShellError→ToolSearch4ms✓ ran 2ms · approved by config◆claude-sonnet-5-52.5s · first token 1.4s↓23.5k ↑191then used a tool→get_triage_instructionscore11ms✓ ran 9ms · approved by config→get_tenant_situationcore20ms✓ ran 19ms · approved by config→list_open_issuescore8ms✓ ran 6ms · approved by config◆claude-sonnet-5-52.1s · first token 1.3s↓27.5k ↑116then used a tool→Bashkubectl get pods · 284ms✓ ran 276ms · approved by config→set_spot_statuscore16ms✓ ran 15ms · approved by config◆claude-sonnet-5-54.2s · first token 4.1s↓29.4k ↑445answered▸ TURN 223 Oct, 23:41:5810 tools (2 failed)▸ TURN 323 Oct, 23:43:203 tools

spot

Your always-on agent

A spot watches your infrastructure through Triage and keeps working when you are away. It holds its tasks, scope and conversation between visits, so it picks up where it left off.

Harness · connectors

A spot is a harness around the model: memory, tools, skills and a sandbox that run it, and connectors to Kubernetes, monitoring, cloud, messengers and MCP. The model can change; the harness is what keeps the spot the same agent.

Chat · voice · background

Ask it in chat, talk to it by voice, or hand it a task and hang up: “prepare an RCA for each issue from last week” runs in the background. It will chat with you as a teammate.

Substrate · sandboxes

Each spot runs in its own sandbox on Agent Substrate: an actor that suspends when idle, snapshots, and resumes with its tasks and conversation intact.

agent and connectors

The collection layer

The agent sits where your systems run and turns them into signals. It sends signals only: issues and root causes are decided in the core.

Kubernetes · Linux · Cloud

One agent for Kubernetes clusters and Linux hosts, with connectors to your cloud providers.

Auto discovery

It discovers virtual apps from your workloads and measures them with eBPF, cgroups and logs-based metrics, as USE, RED, SIG and LOG signals.

One outbound connection

Everything reaches the core over a single outbound secure WebSocket, so nothing has to reach into your network.

Spec

Foundations

What Triage is built on, and who to thank for it.

Dual-system thinking

A fast, cheap System 1 for the routine and a slow, deliberate System 2 for what deserves it. Triage answers with reflex rules and small models first and reasons only when the cheap answer is not enough.

Daniel Kahneman, Thinking, Fast and Slow, 2011 · white paper, section 2

CoALA memory

Working, episodic, semantic and procedural memory as separate modules, with one decision loop over them. Triage lays its memory out the same way: issues and events as episodes, facts and patterns as knowledge, compiled rules as procedure.

Sumers, Yao, Narasimhan & Griffiths, Cognitive Architectures for Language Agents, 2023 · white paper, section 2

USE RED SIGNALS

Utilisation, saturation and errors for resources. Rate, errors and duration for services. Latency, traffic, errors and saturation as the four golden signals. Triage measures every service with these three families, so a reading means what an SRE expects it to mean.

Brendan Gregg, The USE Method, 2012 · Tom Wilkie, The RED Method, 2015 · Google, Site Reliability Engineering, 2016 · white paper, section 5

Jev, the decision model

The System 1 judge. Every event passes Jev for guardrail, routing, severity and prognosis: fast, cheap and bounded, the only model in the event path. Reasoning happens elsewhere, and only when Jev says it is worth it.

TypeSafe AI, Jev · white paper, section 2

Claude Code

Claude Code is Anthropic’s agent runtime, and Triage is built with it every day: coding, reviewing and thinking things through together, on Fable, Sonnet and Opus. Spots run on it too: a persistent session in a sandbox with Triage’s tools over MCP, so a spot plans, reads and acts with the discipline of an engineer at a terminal.

Anthropic, Claude Code · spot

Gemini and Gemini Live

System 2 reasoning, reflection and knowledge run on Gemini through Vertex AI in the European Union. Voice is Gemini Live: Tria and the spots hold the session themselves and talk with you in real time.

Google, Vertex AI · Gemini Live API · subprocessors

Solo.io

Open-source agent infrastructure. ego is inspired by agentevals, spots run in sandboxes on Agent Substrate, traffic and model calls go through agentgateway, and kagent, the Kubernetes agent, is one of the connectors.

Solo.io, agentevals · agentgateway · kagent · Agent Substrate · ego · spot

OpenTelemetry and Grafana

The agent reads what services already emit. OpenTelemetry carries their traces, metrics and logs, and OBI, the OpenTelemetry eBPF instrumentation that began as Grafana Beyla, adds signals from services without code changes.

OpenTelemetry · OBI · Grafana Labs, Beyla

Nomic, HNSW and Tree-sitter

Triage embeds text with Nomic Embed, an open embedding model. xray, the agentic memory substrate, finds related memories with Hierarchical Navigable Small World graphs: a layered graph that reaches the nearest neighbours of a query in a few hops. Its code graph is built with Tree-sitter, which parses source files into syntax trees.

Nussbaum, Morris, Duderstadt & Mulyar, Nomic Embed: Training a Reproducible Long Context Text Embedder, 2024 · Malkov & Yashunin, Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs, 2016 · Tree-sitter · xray

Continuwuity

Tria’s messenger, the workspace chats and the encrypted direct chats, run on Continuwuity, a community-driven Matrix homeserver.

Continuwuity · Matrix