Skip to main content

Engineering Context Graph

Think of the Engineering Context Graph (ECG) as the onboarding guide you'd give a new engineer joining your on-call rotation. It contains everything they'd need to investigate incidents effectively: which services exist and who owns them, which repositories to check, what Datadog dashboards to pull up, how to interpret specific alerts, and the tribal knowledge your team has accumulated over years.

Your Autoheal agents use this context during investigations. Unlike a new hire, it never forgets.

How agents use your context

When an investigation starts, an agent doesn't operate in isolation. It combines two capabilities:

Integrations (MCP Tools)

Real-time access to your observability stack: Datadog, Grafana, GitHub, Sentry, and more. Agents can query metrics, search logs, pull traces, and check deployment history.

Engineering Context Graph (Native tools)

Your team's operational knowledge: what exists in your systems, who owns it, and the documented procedures for handling it. This tells an agent how to use the tools effectively.

Integrations give agents capabilities. The Engineering Context Graph gives them context.

Without ECG content, an agent can query Datadog but doesn't know which dashboard matters for your payment service. With your context, it knows to check payments-api-latency first, that spikes after 2pm PST usually correlate with batch jobs, and that the payments-oncall Slack channel is where your team coordinates.

Components of the graph

The ECG has three kinds of content, and they arrive in three different ways.

What it holdsWhere it comes from
CatalogServices, teams, people, and repositories, and the relationships between themMostly imported from your integrations; you can author or correct entities
SkillsArchitecture overviews, alert procedures, and tool conventionsAuthored by you
MemoriesLearnings from resolved incidents: root causes, investigation paths, resolutionsCaptured automatically from agent runs

The split matters when you're deciding where to put something. If it's a fact about what exists, such as a service, its owner, or its dependencies, it belongs in the Catalog, and it may already be there. If it's a judgment about what to do, such as how to investigate an alert or which dashboard to open first, it's a skill, and only you can write it.

How context evolves

Your Engineering Context Graph grows with every investigation.

During investigations

As an agent investigates, it may discover gaps:

  • Agent asks a question → your answer is a candidate for a skill
  • Agent finds a useful query → document it for future incidents
  • Agent can't resolve an owner → fill in the Catalog relationship
note

When an agent asks "Which dashboard should I check for this service?" or "Who owns this component?", that's a signal to add the missing context: a skill for the first, and a Catalog relationship for the second.

After incidents

The most valuable learning comes from real incidents, and Autoheal captures it automatically. When an incident is resolved, it records a memory of what happened, the root cause, how it was found, and how it was resolved, then recalls it the next time a similar incident occurs. See Agent Context for the memory lifecycle.

A captured memory holds the kind of knowledge shown below. Durable, repeatable procedures are worth promoting into an authored skill.

# Memory: Payment Timeouts During Batch Processing

## What Happened
On Jan 15, 2024, payment latency spiked to 2s+ every day at 2pm PST.

## Root Cause
The nightly batch job (which actually runs at 2pm PST due to timezone confusion)
was executing large database queries without connection limits, exhausting the
connection pool for the payments-api.

## How We Found It
1. Noticed pattern only occurred on weekdays at same time
2. Correlated with batch job schedule in Kubernetes CronJobs
3. Found connection pool metrics showed saturation during batch runs

## Resolution
- Added connection pooling limits to batch job
- Separated batch job to use read replica
- Added alert for connection pool saturation

## Prevention
- New alert: `postgresql.connections.active > 80%` triggers warning
- Skill updated to check batch job schedule for time-correlated issues

The feedback loop

1
Investigation Starts

An agent loads relevant ECG content and queries your integrations.

2
Gaps Identified

The agent asks questions or makes assumptions that could be documented.

3
Incident Resolved

Your team captures what worked, what was missing, and what to check next time.

4
ECG Updated

You add or refine skills and Catalog entries; Autoheal captures memories automatically.

5
Future Investigations

Agents work from the improved graph, and investigations get faster.

Get Started