Pattern detail
Composes a full single-pattern view by fetching data from three sources in parallel:
- event_lookup — identity, first_seen, per-service cost breakdown
- pattern_trend — 24h time series for the line chart
- pattern_examples — sample events from the SIEM (when available)
Returns a plain-text must_render_verbatim block with: pattern header + first-seen age, 24h line chart, cross-service ASCII bar chart, severity breakdown, and 3-5 sample events truncated to 120 chars.
Then asks: "Back to preview list" or "Apply with this in the picture."
Example
You
drill into pattern #2
Log10x
Pattern: healthcheck_ok_pod_$ First seen: 3 days ago
Volume trend (24h) [line chart]
Service distribution (30d) checkout-svc [INFO] ████████████████░░░░░░░░░░░░ 890MB payment-svc ██░░░░░░░░░░░░░░░░░░░░░░░░░░ 190MB
Severity breakdown: INFO: 0.85GB (82%) | (none): 0.19GB (18%)
Sample events (3 shown): 1. {"level":"info","msg":"healthcheck ok","pod":"checkout-7f8d9-x2p"}
What next? Back — return to the preview list Apply — proceed with applying the mode
Prerequisites
Reporter deployed (for TSDB trend and service breakdown). SIEM connector configured for sample events (optional — skipped gracefully if absent).
Schema and samples
Input schema
Agent-facing JSON Schema (the canonical shape the MCP server publishes via tools/list):
{
"type": "object",
"properties": {
"pattern_hash": {
"type": "string",
"description": "The tenx_hash of the pattern to drill into. Obtained from log10x_preview_filter data.patterns[].tenx_hash. Preferred over pattern when available (skips a metrics lookup)."
},
"pattern": {
"type": "string",
"description": "Pattern name (Symbol Message, e.g. \"Payment_Gateway_Timeout\") as an alias for pattern_hash. Resolved to hash via metrics lookup. Provide either pattern or pattern_hash."
},
"include_samples": {
"type": "boolean",
"default": true,
"description": "When true (default), attempts to fetch 3-5 sample events from the SIEM. Set false to skip the SIEM round-trip."
},
"timeRange": {
"type": "string",
"pattern": "^\d+[mhd]$",
"default": "7d",
"description": "Time window for the volume trend and sample events lookback. Default 7d. Pattern: ^\d+[mhd]$."
},
"environment": {
"type": "string",
"description": "Environment nickname for multi-env setups."
}
},
"additionalProperties": false
}
Source: src/tools/pattern-detail.ts.
Output schema
The data block inside the StructuredOutput envelope:
interface ToolData {
pattern_hash: string;
pattern_name: string | null;
services: Array<{
service: string;
severity: string;
bytes: number;
share_pct: number;
}>;
total_bytes: number;
first_seen_age_seconds: number | null;
trend_time_series: Array<{ ts: number; bytes_per_sec: number }>;
sample_events: string[];
must_render_verbatim: string;
must_ask_user: { question: string; options: string[] };
}
Envelope-level fields the agent should also read: summary.headline, actions[] (back to preview / apply), schema_epoch.