{"record":{"id":"ad70e11d5d2f08ac","repo":"JuliusBrussee/caveman","slug":"unknown-experiment-read-action-action","errorCode":null,"errorMessage":"unknown experiment read action: ${action}","messagePattern":"unknown experiment read action: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/agent-mcp.ts","lineNumber":590,"sourceCode":"        value = await client.request(`/api/v1/traces/search?${new URLSearchParams({ project_id: projectId })}`, {\n          method: \"POST\",\n          body: args,\n        });\n        break;\n      }\n      case \"caveman_trace_get\": {\n        const traceId = encodeURIComponent(stringArg(args, \"trace_id\"));\n        const projectQuery = `?${new URLSearchParams({ project_id: await client.projectId() })}`;\n        const [trace, spans] = await Promise.all([\n          client.request(`/api/v1/traces/${traceId}${projectQuery}`),\n          client.request(`/api/v1/traces/${traceId}/spans${projectQuery}`),\n        ]);\n        value = { trace: metadataOnlyTrace(trace), spans: metadataOnlySpans(spans) };\n        break;\n      }\n      case \"caveman_experiment_get\": {\n        const action = stringArg(args, \"action\");\n        if (![\"list\", \"get\", \"results\"].includes(action)) throw new Error(`unknown experiment read action: ${action}`);\n        if (action === \"list\") {\n          value = await client.request(await withProjectQuery(client, \"/api/v1/experiments\"));\n          break;\n        }\n        const experimentId = encodeURIComponent(stringArg(args, \"experiment_id\"));\n        const query = new URLSearchParams({ project_id: await client.projectId() });\n        value = await client.request(`/api/v1/experiments/${experimentId}${action === \"results\" ? \"/results\" : \"\"}?${query}`);\n        break;\n      }\n      default:\n        throw new Error(`unknown tool: ${name}`);\n    }\n    return result(value);\n  } catch (error) {\n    outcome = \"error\";\n    return errorResult(error);\n  } finally {\n    client.recordToolCall?.({ tool: name, result: outcome, durationMs: Date.now() - started });","sourceCodeStart":572,"sourceCodeEnd":608,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/packages/cli/src/agent-mcp.ts#L572-L608","documentation":"Error \"unknown experiment read action: ${action}\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at packages/cli/src/agent-mcp.ts:590 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a supported experiment read action; the requested action is unknown."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}