get_evidence_ladder
Retrieve the complete audit trail for a query, showing each step from decomposition through model execution, consensus, verification, and conclusion with confidence scores and timestamps.
Instructions
Return the full Evidence Ladder for a query — immutable append-only audit trail showing every step: QUERY → DECOMPOSE → MODEL_EXECUTE → CONSENSUS → VERIFY → CONCLUDE. Each entry records: step, actor (model name or "system"), content, confidence, and timestamp.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query_id | Yes | The run/query ID returned by converge_query |
Implementation Reference
- src/index.ts:86-99 (schema)Tool schema/definition for 'get_evidence_ladder' registered in ListToolsRequestSchema handler. Defines name, description, and inputSchema requiring query_id (string).
{ name: 'get_evidence_ladder', description: 'Return the full Evidence Ladder for a query — immutable append-only audit trail showing every step: QUERY → DECOMPOSE → MODEL_EXECUTE → CONSENSUS → VERIFY → CONCLUDE. ' + 'Each entry records: step, actor (model name or "system"), content, confidence, and timestamp.', inputSchema: { type: 'object' as const, required: ['query_id'], properties: { query_id: { type: 'string', description: 'The run/query ID returned by converge_query', }, }, - src/index.ts:172-185 (handler)Handler for 'get_evidence_ladder' tool call. Validates input via Zod schema (query_id: string), calls getEvidenceLadder(params.query_id), and returns the result as JSON text.
case 'get_evidence_ladder': { const schema = z.object({ query_id: z.string() }); const params = schema.parse(args); const result = await getEvidenceLadder(params.query_id); return { content: [ { type: 'text' as const, text: JSON.stringify(result, null, 2), }, ], }; } - src/lib/client.ts:113-115 (helper)The getEvidenceLadder function that performs an HTTP GET to ${EVIDENCE_SERVICE_URL}/evidence/${queryId} and returns a Promise<EvidenceLadder>. It delegates to a remote service at the EVIDENCE_SERVICE_URL (default http://localhost:3002).
export async function getEvidenceLadder(queryId: string): Promise<EvidenceLadder> { return get<EvidenceLadder>(`${EVIDENCE_SERVICE_URL}/evidence/${queryId}`); } - src/lib/client.ts:67-79 (schema)EvidenceLadder TypeScript interface defining the response type: query_id, entry_count, and ladder array with step details (id, step, step_order, actor, content, confidence, created_at).
export interface EvidenceLadder { query_id: string; entry_count: number; ladder: Array<{ id: string; step: string; step_order: number; actor: string; content: string; confidence: number | null; created_at: string; }>; } - src/index.ts:35-40 (registration)Import of getEvidenceLadder from './lib/client.js' in the main server file.
import { convergeQuery, getEvidenceLadder, checkCompliance, listModelDisagreements, } from './lib/client.js';