UPDATED IN OCTOBER 2026

Incident data available for context

Past incidents, runbooks and metric baselines are reachable programmatically, rather than buried in Confluence pages, Slack threads and people's memories.

L3 · SYSTEMATICWhat this level takes
MUSTNot met, not at this level
  • Traces, metrics and logs from production are queryable in one place
  • Production metrics feed into dashboards accessible to all developers
  • Incident data (post-mortems, error patterns) is available as agent context
SHOULDExpected in practice, not required
  • SLOs are defined and tracked for key services
  • Incident data is structured for machine consumption (not just human-readable post-mortem docs)
EVIDENCEHow you would check
  • Observability stack configuration (OTel collector, Grafana dashboards)
  • Production metrics dashboards with developer access
  • Incident data accessible via MCP or structured API
DEPENDS ON
  • Infrastructure L2 (Observability & Feedback Loop) - structured logging and OTel must be in place
  • Development L2 (Context Engineering) - agent instruction files must exist for incident context to be usable

What It Is

"Incident data available for context" means that when an AI agent or human engineer begins investigating a production issue, all the relevant historical context is immediately accessible through programmatic interfaces - not buried in Confluence pages, Slack threads, or people's memories. This includes past incidents with their root cause, resolution steps, and affected services; runbooks with step-by-step investigation procedures; historical metric baselines that define what "normal" looks like; and the linkage between specific error patterns and their known remediation paths.

At L3, this context availability is primarily about making data accessible to agents via MCP servers. An MCP server wrapping PagerDuty's API allows an agent to query: "what incidents has the payment service had in the last 6 months?" An MCP server wrapping Confluence allows an agent to retrieve the runbook for a specific alert type. An MCP server wrapping your internal incident database allows an agent to find all incidents where this specific error code appeared and what the resolution was each time. The agent combines this historical context with the current production signals (metrics, traces, logs) to form an investigation hypothesis that would take a human hours to assemble.

The architecture of this context layer matters. Incident data that lives only in human-readable pages is not agent-accessible in any practical sense. The agent needs structured, queryable interfaces: REST APIs, MCP tools, or search endpoints that return machine-parseable data. PagerDuty, OpsGenie, and Jira Service Management all expose APIs that can be wrapped as MCP tools. Confluence and Notion expose search APIs. Internal runbook systems can be queried via Elasticsearch or similar. The MCP layer is the translation between human-oriented incident management tools and agent-consumable context APIs.

Runbooks are the highest-value context assets for agent investigation. A well-structured runbook contains: the alert condition that triggers it, the likely root causes ranked by frequency, the investigation steps in order, the remediation steps for each root cause, and links to relevant dashboards and past incidents. An agent with access to this runbook can follow its investigation steps programmatically: query the metrics the runbook specifies, check the conditions the runbook lists, and execute the remediation steps if a root cause is confirmed. The runbook essentially programs the agent's investigation procedure.

Once agents act in production, the incident record needs a new column: who actually did it. For every tool call an agent makes, the trace should carry three identities - the agent (which workload, which run), the human it was acting for, and the token it used. September 2026 showed why each one matters. In the first mass-exploitation campaign run by AI agents (VentureBeat, from GreyNoise data), stolen Claude, Cursor and Gemini tokens on 5,871 machines were used to act as legitimate users; an investigation that can only say "the developer's session did this" cannot tell a developer's agent from an attacker holding that developer's token. The platforms moved to supply the linkage: CrowdStrike's Agentic Identity Provider (September 2) chains every agent action to a human or workload, Kong AI Gateway 2.0's Identity Principals carry one identity through access control, rate limiting and cost attribution, and Agent Router (formerly Envoy AI Gateway) v1.1 emits OpenTelemetry GenAI traces with per-request upstream credentials. Retention is the other half: Cursor's Admin API keeps audit events for only 30 days with no per-request content log, so an incident discovered in week five has no vendor-side record unless you exported it.

Why It Matters

Making incident data available for agent context enables qualitatively different incident response:

  • Agent investigation reaches human expert quality - a new on-call engineer has no institutional memory; an agent with access to 2 years of incident history and runbooks can investigate with the knowledge of your most experienced SRE
  • Runbook execution becomes automatable - when runbooks are structured data (not just prose) accessible via API, agents can follow them step by step rather than requiring humans to translate text into actions
  • Pattern recognition across incident history - agents can identify that three seemingly different incidents in the past month all involved the same root cause, something a human might miss when investigating each incident in isolation
  • Reduces tribal knowledge risk - incident knowledge stored only in people's heads is lost when those people leave; incident data in structured, queryable systems is organizational knowledge that persists
  • Answers "was that the agent, the human or a stolen token?" - tracing each tool call to agent identity, human principal and token lets an investigation separate an agent's own action from an attacker replaying a harvested session, which is the first question in any agent-involved incident
  • Enables proactive context injection - when an alert fires, the agent automatically retrieves all relevant historical incidents, runbooks, and baselines before the human even opens the page, reducing time-to-context from 20 minutes to seconds

Getting Started

  1. Build an MCP server for your incident management tool - PagerDuty, OpsGenie, and Jira Service Management all expose REST APIs. Build an MCP server with tools: get_incidents(service, time_range), get_incident_detail(incident_id), get_runbook(alert_name). This gives agents programmatic access to your incident history and runbooks without scraping web pages.
  2. Structure your runbooks for machine consumption - Convert prose runbooks into structured formats: investigation steps as an ordered list, each step with an expected outcome and a condition ("if this step shows X, go to step 4; if it shows Y, go to step 7"). Store runbooks in a system with a query API (Confluence has a REST API, as does Notion). Even YAML files in a git repository are more agent-accessible than PDF documents.
  3. Create an incident tagging taxonomy - Tag every incident with: affected service, root cause category, resolution category, and duration. This taxonomy makes historical queries meaningful: "how many incidents in the last 6 months had root_cause=database_connection_pool_exhaustion?" Without consistent tagging, incident history is a collection of text rather than queryable data.
  4. Define and store metric baselines - For every key metric, store the "normal" baseline as a Prometheus recording rule or a separate time series: P99 latency baseline, request rate baseline, error rate baseline. When an incident fires, the agent queries the current value and the baseline to quantify the deviation: "error rate is 15x the 30-day baseline."
  5. Link Sentry error groups to incident records - When a Sentry error group corresponds to a past incident, link them: add the incident ID to the Sentry error group's tags, or add the Sentry error group ID to the incident record. This bidirectional linkage allows agents to find all past incidents related to a current error pattern and retrieve their resolution paths.
  6. Trace every agent tool call to three identities - At the gateway or MCP layer, record for each tool call: the agent identity and run ID, the human principal it acts on behalf of, and a token identifier (a hash or jti, never the token itself). Export vendor audit logs (Cursor keeps 30 days) into your own store with retention at least as long as your incident look-back window, and make the three identities queryable from the incident MCP server.
  7. Build a "context package" assembler - Create a service that, given an alert (service name, alert type, timestamp), assembles a context package: recent incidents for the service, the relevant runbook, current metric deviation from baseline, recent deployments, and the Sentry error groups active in the window. This package is delivered to the agent at the start of investigation rather than requiring the agent to query each source separately.
TIP

The most valuable incident context is often the "false alarm" documentation: incidents that were investigated and found to be benign (flaky external API, expected traffic spike from a marketing campaign). Without this documentation, agents and humans will repeatedly investigate the same benign conditions as if they are novel problems. Tag resolved-as-not-actionable incidents explicitly.

Common Pitfalls

Runbooks that describe symptoms rather than investigation procedures. A runbook that says "this alert means the payment service is unhealthy - check the dashboard" is not useful to an agent. A runbook needs to be procedural: step 1 check metric X, if above threshold Y proceed to step 2, step 2 check log query Z, if pattern W found execute command V. The procedural format is what makes a runbook automatable.

Incident data in inaccessible formats. PDF runbooks, screenshots of dashboards, Slack threads as the primary incident record - none of these are agent-accessible. Every piece of incident knowledge stored in a human-only format is a dead end for agent investigation. Migrate knowledge to systems with APIs before expecting agents to use it.

Not maintaining incident context over time. Incident runbooks that were accurate two years ago may be completely wrong today if the architecture has changed. Stale runbooks are worse than no runbooks because they send agents down incorrect investigation paths. Assign runbook owners and require quarterly review. Track when each runbook was last validated and flag unreviewed runbooks in the agent's context package.

Over-relying on incident history without current context. An agent that looks only at historical incidents without also examining current metrics, traces, and logs will match the wrong historical pattern. Historical context should inform hypothesis formation, not replace investigation. The agent should use historical incidents to generate hypotheses and then validate those hypotheses against current production data.

Logging the session, not the actor. An audit trail that records "user alice, session 123" for every agent action cannot distinguish Alice, Alice's agent, and an attacker using Alice's stolen token. If the agent identity and the token used are not on the record, the most important question in an agent-involved incident has no data behind it.

No feedback loop from agent investigations back to incident records. When an agent investigates an incident and identifies a root cause, that finding should be written back to the incident record. Over time, this creates an incident history that includes agent-generated analyses alongside human ones - compounding institutional knowledge rather than just consuming it.

How Different Roles See It

BobHEAD OF ENGINEERING

Bob's team loses significant institutional knowledge every time an engineer leaves. Post-mortems are written but rarely referenced; runbooks exist but are not maintained; new on-call engineers spend their first incidents reinventing investigations that veterans handle in minutes. Bob wants to capture this knowledge in a form that persists and compounds.

What Bob should do: Bob should treat incident knowledge management as an engineering investment with measurable ROI: the metric is "time for a new on-call engineer to reach full effectiveness." Currently that might be 3-6 months; with structured, accessible incident history and runbooks, it should be 2-4 weeks. Bob should mandate that every significant incident generate a structured post-mortem that follows a template: timeline, root cause, contributing factors, resolution steps, and "what an agent should check" as a specific section. This last section is the bridge to agent-assisted investigation. Bob should also schedule a quarterly runbook review as a team ritual: every runbook is checked against current system architecture and updated or retired.

SarahPRODUCTIVITY LEAD

Sarah is focused on reducing the expertise barrier for on-call rotation. Junior developers avoid on-call because they feel unprepared; senior developers carry disproportionate on-call burden because they are the only ones who can investigate incidents effectively. Accessible incident context is the equalizer.

What Sarah should do: Sarah should advocate for making incident context the first thing a new on-call engineer receives when a page fires. She should work with the team to build the context package assembler: when a PagerDuty alert fires, an automated system immediately posts in the incident Slack thread: the relevant runbook link, the three most similar past incidents with their resolutions, the current metric deviation from baseline, and a link to the pre-filtered Grafana dashboard. This context package reduces the expertise gap: a junior engineer with this package can follow a structured investigation path that previously required institutional memory. Sarah should measure whether on-call rotation participation increases after context packages are introduced, and whether junior engineers' incident resolution time approaches senior engineers' time.

VictorSTAFF ENGINEER - AI CHAMPION

Victor wants agents to be the primary consumers of the incident context layer. He is building an automated investigation agent that, when an alert fires, assembles all relevant context and produces a preliminary root cause hypothesis before any human engages. This requires the context layer to be comprehensive, structured, and API-accessible.

What Victor should do: Victor should build the incident context MCP server as a priority infrastructure investment. The server exposes: get_similar_incidents(service, error_pattern), get_runbook(alert_name), get_metric_baseline(service, metric_name), get_recent_deployments(service, time_range), and get_active_sentry_errors(service). An investigation agent calls all five in parallel when an alert fires, synthesizes the results into a preliminary analysis, and posts it in the incident Slack thread within 2 minutes of alert firing. Victor should also instrument the quality of agent investigations: when an agent's preliminary analysis is confirmed as correct by the human responder, that success case is logged. When the agent is wrong, the failure case is logged with the correct root cause. Over time, this feedback loop improves both the runbooks and the agent's investigation strategy.

How This Guide Changed

What each edition changed in this guide, newest first.

  1. V1.7October 2026LATEST

    Added agent attribution to the incident record: every tool call traced to the agent identity, the human it acts for and the token used. The first mass agent-run campaign used stolen Claude, Cursor and Gemini sessions from 5,871 machines, which made "was it the agent, the human or someone holding their token?" the first question of an agent incident; the guide also warns that vendor audit retention (30 days at Cursor) is shorter than most look-back windows.

  2. V1.5August 2026

    A presentation-level pass. The guide's opening description was rewritten to lead with the failure it addresses - history stranded in Confluence pages, Slack threads and people's memories - instead of restating the level definition. The practice behind it was unchanged.

  3. V1.0March 2026

    Built around a simple test: can an agent ask what this service has broken before, and get an answer? The founding version treated past incidents, runbooks and metric baselines as data behind MCP servers rather than prose behind a wiki search, on the grounds that an agent combining that history with live signals can assemble an investigation hypothesis in the time a person spends locating the runbook.

Where does your team actually sit on this?

This guide describes one level of one area. Run the assessment to place your team across all 16 areas, see which gates you have passed, and get a report you can take to your stakeholders.

Start the assessment