Probe
Fires a synthetic query at the deployed Retriever and asserts every stage of the chain: freshness of the customer-owned offload bucket, indexer pipeline running, SQS queues drained, pod ready, query submission, CloudWatch scan match, CloudWatch stream fetch, S3 qr/*.jsonl write, and MCP-side events returned. Each stage is a named assert with a one-line observed summary and a stored remedy keyed on the assert name. Use as a deep doctor diagnostic or as the post-install verify step.
The probe reads from the offload (overflow) bucket the Receiver writes to and the result bucket the Retriever writes back to. Both are customer-owned S3.
Example
You
run the retriever probe
Log10x
Retriever end-to-end health check passed.
Picked the highest-volume pattern, ran query qr-7c12, all 8 checks succeeded (4.2s).
More to ask
- "post-install verify for the retriever"
- "is the retriever chain healthy end-to-end?"
- "probe the retriever against hash 3f8a..."
Prerequisites
Retriever installed in the cluster, with kubectl and aws CLI reachable from the MCP host. The probe needs S3 read on the offload + result buckets, SQS list/describe, CloudWatch Logs filter, and the metric backend reachable for the top-hash pick (or pass target_hash explicitly).
Schema and samples
Input example
Representative call (synthetic, not captured from the live demo env).
Input schema
Agent-facing JSON Schema (the canonical shape the MCP server publishes via tools/list):
{
"type": "object",
"properties": {
"namespace": {
"type": "string",
"default": "log10x",
"description": "Kubernetes namespace where the retriever pod runs. Default: \"log10x\"."
},
"offload_bucket": {
"type": "string",
"description": "S3 bucket the receiver offloads data to (the bucket the retriever indexer reads from). Default: read from LOG10X_STREAMER_BUCKET env."
},
"input_bucket": {
"type": "string",
"description": "S3 bucket where the retriever WRITES qr/<id>/*.jsonl result objects. Default: read from retriever state (helm probe)."
},
"query_log_group": {
"type": "string",
"default": "log10x-retriever-query-events",
"description": "CloudWatch log group the retriever writes per-query execution events to."
},
"target_hash": {
"type": "string",
"description": "Pre-picked tenx_hash to query for. When omitted, the probe queries the metric backend for the top-volume hash over the last 5 min."
},
"window_minutes": {
"type": "number",
"default": 5,
"description": "Query window size in minutes. Default: 5."
}
},
"additionalProperties": false
}
Source: src/tools/retriever-probe.ts.
Output example
Representative envelope (synthetic, not captured from the live demo env). view: "summary" returns the full StructuredOutput with typed data.
Headline (the 1-line agent-facing answer):
Retriever end-to-end health check passed. Picked the highest-volume pattern, ran query qr-7c12, all 8 checks succeeded (4214ms).
{
"schema_version": "1.0",
"schema_epoch": "2026-05-25",
"tool": "log10x_retriever_probe",
"generated_at": "2026-06-05T12:00:00.000Z",
"view": "summary",
"summary": {
"headline": "Retriever end-to-end health check passed. Picked the highest-volume pattern, ran query qr-7c12, all 8 checks succeeded (4214ms)."
},
"data": {
"verdict": "green",
"picked_hash": "3f8a1b2c4d5e6f70",
"query_id": "qr-7c12",
"asserts": [
{
"name": "offload_bucket_has_recent_data",
"pass": true,
"observed": "12 object(s) modified in last 5 min in s3://log10x-offload/"
},
{
"name": "indexer_pipeline_running",
"pass": true,
"observed": "indexer-pipeline start line observed 3 time(s) in last 60s"
},
{
"name": "sqs_queues_drained",
"pass": true,
"observed": "2 queue(s) checked, max depth 0"
},
{
"name": "retriever_pod_ready",
"pass": true,
"observed": "pod retriever-10x-abc: 2/2 containers ready"
},
{
"name": "cw_scan_match",
"pass": true,
"observed": "cw scan complete events for qr-7c12: 1 line(s), total matched=42"
},
{
"name": "cw_stream_fetch",
"pass": true,
"observed": "cw stream worker completion lines for qr-7c12: 1"
},
{
"name": "s3_qr_jsonl_written",
"pass": true,
"observed": "1 jsonl file(s) under s3://log10x-results/indexing-results/tenx/app/qr/qr-7c12/"
},
{
"name": "mcp_events_returned",
"pass": true,
"observed": "mcp eventsMatched=42, eventsReturned=1"
}
],
"total_runtime_ms": 4214
},
"actions": [],
"truncated": false,
"warnings": []
}
Output schema
The data block inside the StructuredOutput envelope:
interface ToolData {
verdict: 'green' | 'broken' | 'unknown';
picked_hash?: string;
query_id?: string;
asserts: Array<{
name: string;
pass: boolean;
observed: string;
remedy?: string;
}>;
first_failed_assert?: string;
surfaced_remedy?: string;
total_runtime_ms: number;
reason?: string;
}
Envelope-level fields the agent should also read: summary.headline (1-line answer), actions[] (next-call chain hints as {tool, args, reason}), truncated: boolean, images[] (PNG attachments where applicable), schema_epoch (engine-ID stability boundary).