{"serverId":"mcp-registry/com.rubrkit/rubrkit","tools":[{"name":"rubrkit_add_golden_case","fixed":{"name":"rubrkit_add_golden_case","description":"Add a golden case (a real edge-case input with a confirmed-correct output) to an artifact bundle via POST /api/v1/artifact-bundles/{artifactBundleId}/golden-cases. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","input"],"properties":{"tags":{"type":"array","items":{"type":"string"}},"input":{"type":"object"},"origin":{"enum":["audit","human","prod"],"type":"string"},"weight":{"type":"integer","minimum":1},"criteria":{"type":"object"},"originRef":{"type":"object"},"expectedOutput":{"type":"object"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Add golden case"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":186,"tokensAfter":186},{"name":"rubrkit_create_artifact_bundle","fixed":{"name":"rubrkit_create_artifact_bundle","description":"Create an artifact bundle through /api/v1/artifact-bundles. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"settings":{"type":"object","additionalProperties":true},"description":{"type":["string","null"],"maxLength":2000},"customRubric":{"type":"object","additionalProperties":true}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create artifact bundle"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"rubrkit_create_drift_monitor","fixed":{"name":"rubrkit_create_drift_monitor","description":"Create a drift monitor pinned to a file version via POST /api/v1/artifact-bundles/{artifactBundleId}/drift-monitors. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","pinnedVersionId"],"properties":{"cadence":{"type":"string"},"repeats":{"type":"integer","maximum":5,"minimum":2},"pinnedVersionId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create drift monitor"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"rubrkit_delete_artifact_bundle","fixed":{"name":"rubrkit_delete_artifact_bundle","description":"Archive an artifact bundle (soft delete) through DELETE /api/v1/artifact-bundles/{artifactBundleId}. The bundle moves to the archived state and can be restored or permanently deleted later. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Delete artifact bundle"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"rubrkit_estimate_deep_compaction","fixed":{"name":"rubrkit_estimate_deep_compaction","description":"Estimate the credit cost of a deep compaction of one file before starting it. Requires compactions:run for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","fileId"],"properties":{"fileId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Estimate deep compaction"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"rubrkit_export_proof_report","fixed":{"name":"rubrkit_export_proof_report","description":"Start an async proof report job with export storage enabled by default. Requires evals:run for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"evalRunId":{"type":"string","format":"uuid"},"auditRunId":{"type":"string","format":"uuid"},"sourceFileId":{"type":"string","format":"uuid"},"includeExport":{"type":"boolean","default":true},"rubricVersion":{"type":"string"},"candidateFileId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"},"sourceFileVersionId":{"type":"string","format":"uuid"},"sourceVersionNumber":{"type":"integer","minimum":1},"candidateFileVersionId":{"type":"string","format":"uuid"},"candidateVersionNumber":{"type":"integer","minimum":1}}},"annotations":{"readOnlyHint":true},"title":"Export proof report"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":221,"tokensAfter":221},{"name":"rubrkit_hard_delete_artifact_bundle","fixed":{"name":"rubrkit_hard_delete_artifact_bundle","description":"Permanently delete an archived artifact bundle and all of its files, versions, and run history through DELETE /api/v1/artifact-bundles/{artifactBundleId}/permanent. This is irreversible and only works on bundles that are already archived. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Permanently delete artifact bundle"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"rubrkit_list_artifact_bundle_versions","fixed":{"name":"rubrkit_list_artifact_bundle_versions","description":"List bundle-level version events. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"limit":{"type":"integer","default":100,"maximum":100,"minimum":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List artifact bundle versions"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"rubrkit_list_artifact_bundles","fixed":{"name":"rubrkit_list_artifact_bundles","description":"List artifact bundles through /api/v1/artifact-bundles. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":100,"maximum":100,"minimum":1},"status":{"enum":["active","archived","all"],"type":"string","default":"active"}}},"annotations":{"readOnlyHint":true},"title":"List artifact bundles"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"rubrkit_list_artifact_files","fixed":{"name":"rubrkit_list_artifact_files","description":"List files in an artifact bundle. Requires files:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"limit":{"type":"integer","default":200,"maximum":200,"minimum":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List artifact files"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"rubrkit_list_audits","fixed":{"name":"rubrkit_list_audits","description":"List persisted audit history. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List audits"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"rubrkit_list_drift_monitors","fixed":{"name":"rubrkit_list_drift_monitors","description":"List the drift monitors for an artifact bundle via /api/v1/artifact-bundles/{artifactBundleId}/drift-monitors. Requires artifact_bundles:read (or artifacts:pull) for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List drift monitors"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"rubrkit_list_evals","fixed":{"name":"rubrkit_list_evals","description":"List eval history. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List evals"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"rubrkit_list_file_versions","fixed":{"name":"rubrkit_list_file_versions","description":"List immutable versions for a file. Requires files:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","fileId"],"properties":{"limit":{"type":"integer","default":100,"maximum":100,"minimum":1},"fileId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List file versions"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"rubrkit_list_golden_cases","fixed":{"name":"rubrkit_list_golden_cases","description":"List the golden cases for an artifact bundle via /api/v1/artifact-bundles/{artifactBundleId}/golden-cases. Requires artifact_bundles:read (or artifacts:pull) for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"status":{"enum":["active","retired",null],"type":["string","null"]},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"List golden cases"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"rubrkit_list_job_events","fixed":{"name":"rubrkit_list_job_events","description":"Read append-only job progress events. Requires jobs:read for API keys.","inputSchema":{"type":"object","required":["jobId"],"properties":{"jobId":{"type":"string","format":"uuid"},"limit":{"type":"integer","default":100,"maximum":100,"minimum":1}}},"annotations":{"readOnlyHint":true},"title":"List job events"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"rubrkit_read_api_doc","fixed":{"name":"rubrkit_read_api_doc","description":"Read a docs/api Markdown guide or OpenAPI source by slug, file name, or docs/api path.","inputSchema":{"type":"object","required":["slugOrPath"],"properties":{"slugOrPath":{"type":"string","minLength":1}}},"annotations":{"readOnlyHint":true},"title":"Read Rubrkit API doc"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"rubrkit_read_artifact_bundle","fixed":{"name":"rubrkit_read_artifact_bundle","description":"Read artifact bundle details, files, and file tree. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read artifact bundle"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"rubrkit_read_artifact_file","fixed":{"name":"rubrkit_read_artifact_file","description":"Read the latest file metadata and content. Requires files:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","fileId"],"properties":{"fileId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read artifact file"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":88,"tokensAfter":88},{"name":"rubrkit_read_audit","fixed":{"name":"rubrkit_read_audit","description":"Read a single audit run. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","auditRunId"],"properties":{"auditRunId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read audit"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"rubrkit_read_drift_observations","fixed":{"name":"rubrkit_read_drift_observations","description":"List the recorded observations for a drift monitor via /api/v1/drift-monitors/{driftMonitorId}/observations. Requires artifact_bundles:read (or artifacts:pull) for API keys.","inputSchema":{"type":"object","required":["driftMonitorId"],"properties":{"driftMonitorId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read drift observations"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"rubrkit_read_eval","fixed":{"name":"rubrkit_read_eval","description":"Read one eval run, including the `stats` statistical verdict on advanced-mode runs (empty for standard runs). Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","evalRunId"],"properties":{"evalRunId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read eval"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"rubrkit_read_input_drift","fixed":{"name":"rubrkit_read_input_drift","description":"Compare recent production inputs against a prior reference window (population stability index) for an artifact bundle via GET /api/v1/artifact-bundles/{artifactBundleId}/drift/input. Requires artifact_bundles:read (or artifacts:pull) for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"binCount":{"type":"integer","minimum":1},"windowDays":{"type":"integer","minimum":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read input drift"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"rubrkit_read_openapi_contract","fixed":{"name":"rubrkit_read_openapi_contract","description":"Read the canonical docs/api/openapi.yaml contract.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Read Rubrkit OpenAPI contract"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"rubrkit_read_proof_report","fixed":{"name":"rubrkit_read_proof_report","description":"Read one proof report. Requires artifact_bundles:read for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","proofReportId"],"properties":{"proofReportId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read proof report"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"rubrkit_read_validity_drift","fixed":{"name":"rubrkit_read_validity_drift","description":"Correlate rubric scores against recorded outcome metrics for an artifact bundle to check whether the rubric is still predictive via GET /api/v1/artifact-bundles/{artifactBundleId}/drift/validity. Requires artifact_bundles:read (or artifacts:pull) for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":true},"title":"Read validity drift"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"rubrkit_run_drift_check","fixed":{"name":"rubrkit_run_drift_check","description":"Queue a drift check immediately instead of waiting for the monitor's schedule, via POST /api/v1/drift-monitors/{driftMonitorId}/check. The first check on a new monitor calibrates its baseline. Costs one audit per repeat. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["driftMonitorId"],"properties":{"driftMonitorId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Run drift check now"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"rubrkit_run_evals","fixed":{"name":"rubrkit_run_evals","description":"Start an async eval run. Requires evals:run for API keys. Set mode: \"advanced\" with baselineVersionId and candidateVersionId to run a statistically-backed A/B (repeats defaults to 3, max 5).","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"mode":{"enum":["standard","advanced"],"type":"string"},"repeats":{"type":"integer","maximum":5,"minimum":1},"maxCases":{"type":"integer","maximum":20,"minimum":1},"testCases":{"type":"array","items":{"type":"object","additionalProperties":true}},"auditRunId":{"type":"string","format":"uuid"},"sourceFileId":{"type":"string","format":"uuid"},"rubricVersion":{"type":"string"},"candidateFileId":{"type":"string","format":"uuid"},"artifactBundleId":{"type":"string","format":"uuid"},"baselineVersionId":{"type":"string","format":"uuid"},"candidateVersionId":{"type":"string","format":"uuid"},"sourceFileVersionId":{"type":"string","format":"uuid"},"sourceVersionNumber":{"type":"integer","minimum":1},"candidateFileVersionId":{"type":"string","format":"uuid"},"candidateVersionNumber":{"type":"integer","minimum":1}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Run evals"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":315,"tokensAfter":315},{"name":"rubrkit_search_api_docs","fixed":{"name":"rubrkit_search_api_docs","description":"Search the canonical docs/api Markdown guides and OpenAPI operation summaries.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":8,"maximum":20,"minimum":1},"query":{"type":"string","minLength":1}}},"annotations":{"readOnlyHint":true},"title":"Search Rubrkit API docs"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"rubrkit_set_drift_monitor_status","fixed":{"name":"rubrkit_set_drift_monitor_status","description":"Pause or resume a drift monitor via PATCH /api/v1/drift-monitors/{driftMonitorId}. Requires artifact_bundles:write for API keys.","inputSchema":{"type":"object","required":["driftMonitorId","status"],"properties":{"status":{"enum":["active","paused"],"type":"string"},"driftMonitorId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Set drift monitor status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"rubrkit_start_audit","fixed":{"name":"rubrkit_start_audit","description":"Start an async audit job. Audit results are cached per account by a content hash of their inputs; pass force: true to bypass the cache and run a fresh audit (the same as the CLI's --no-cache flag). Requires audits:run for API keys.","inputSchema":{"type":"object","required":["artifactBundleId"],"properties":{"force":{"type":"boolean","default":false},"modelTier":{"enum":["cheap","standard","premium"],"type":"string"},"rubricKey":{"type":"string"},"artifactType":{"type":"string"},"targetFileId":{"type":"string","format":"uuid"},"reasoningEffort":{"enum":["minimal","low","medium","high"],"type":"string"},"artifactBundleId":{"type":"string","format":"uuid"},"customRequirements":{"type":"array","items":{"type":"string"}},"targetVersionNumber":{"type":"integer","minimum":1},"artifactBundleVersionNumber":{"type":"integer","minimum":1}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Start audit"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":247,"tokensAfter":247},{"name":"rubrkit_update_artifact_file","fixed":{"name":"rubrkit_update_artifact_file","description":"Write a new editable version for a file. Requires files:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","fileId","content"],"properties":{"fileId":{"type":"string","format":"uuid"},"content":{"type":"string"},"message":{"type":"string","maxLength":500},"mediaType":{"type":"string"},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update artifact file"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"rubrkit_upload_artifact_files","fixed":{"name":"rubrkit_upload_artifact_files","description":"Upload one or more text files into an artifact bundle. Requires files:write for API keys.","inputSchema":{"type":"object","required":["artifactBundleId","files"],"properties":{"files":{"type":"array","items":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","minLength":1},"content":{"type":"string"},"message":{"type":"string","maxLength":500},"mediaType":{"type":"string"},"artifactType":{"type":"string"}}},"minItems":1},"artifactBundleId":{"type":"string","format":"uuid"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Upload artifact files"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":159,"tokensAfter":159}],"toolsChanged":33,"tokensSaved":0,"todo":[{"tool":"rubrkit_add_golden_case","params":["tags","input","origin","weight","criteria","originRef","expectedOutput","artifactBundleId"]},{"tool":"rubrkit_apply_audit_rewrite","params":["auditRunId","artifactBundleId"]},{"tool":"rubrkit_apply_deep_compaction","params":["jobId","fileId","artifactBundleId"]},{"tool":"rubrkit_compact_artifact_file","params":["mode","dryRun","fileId","artifactBundleId"]},{"tool":"rubrkit_create_artifact_bundle","params":["name","settings","description","customRubric"]},{"tool":"rubrkit_create_drift_monitor","params":["cadence","repeats","pinnedVersionId","artifactBundleId"]},{"tool":"rubrkit_delete_artifact_bundle","params":["artifactBundleId"]},{"tool":"rubrkit_estimate_deep_compaction","params":["fileId","artifactBundleId"]},{"tool":"rubrkit_export_proof_report","params":["evalRunId","auditRunId","sourceFileId","includeExport","rubricVersion","candidateFileId","artifactBundleId","sourceFileVersionId","sourceVersionNumber","candidateFileVersionId","candidateVersionNumber"]},{"tool":"rubrkit_hard_delete_artifact_bundle","params":["artifactBundleId"]},{"tool":"rubrkit_list_artifact_bundle_versions","params":["limit","artifactBundleId"]},{"tool":"rubrkit_list_artifact_bundles","params":["limit","status"]},{"tool":"rubrkit_list_artifact_files","params":["limit","artifactBundleId"]},{"tool":"rubrkit_list_audits","params":["limit","artifactBundleId"]},{"tool":"rubrkit_list_drift_monitors","params":["artifactBundleId"]},{"tool":"rubrkit_list_evals","params":["limit","artifactBundleId"]},{"tool":"rubrkit_list_file_versions","params":["limit","fileId","artifactBundleId"]},{"tool":"rubrkit_list_golden_cases","params":["status","artifactBundleId"]},{"tool":"rubrkit_list_job_events","params":["jobId","limit"]},{"tool":"rubrkit_poll_job","params":["jobId"]},{"tool":"rubrkit_read_api_doc","params":["slugOrPath"]},{"tool":"rubrkit_read_artifact_bundle","params":["artifactBundleId"]},{"tool":"rubrkit_read_artifact_file","params":["fileId","artifactBundleId"]},{"tool":"rubrkit_read_audit","params":["auditRunId","artifactBundleId"]},{"tool":"rubrkit_read_drift_observations","params":["driftMonitorId"]},{"tool":"rubrkit_read_eval","params":["evalRunId","artifactBundleId"]},{"tool":"rubrkit_read_input_drift","params":["binCount","windowDays","artifactBundleId"]},{"tool":"rubrkit_read_proof_report","params":["proofReportId","artifactBundleId"]},{"tool":"rubrkit_read_validity_drift","params":["artifactBundleId"]},{"tool":"rubrkit_record_outcome","params":["inputHash","occurredAt","inputFeature","outcomeLabel","outcomeMetric","artifactBundleId","artifactVersionId"]},{"tool":"rubrkit_restore_artifact_bundle_version","params":["message","versionNumber","artifactBundleId"]},{"tool":"rubrkit_restore_file_version","params":["fileId","message","versionNumber","artifactBundleId"]},{"tool":"rubrkit_retire_golden_case","params":["goldenCaseId"]},{"tool":"rubrkit_run_drift_check","params":["driftMonitorId"]},{"tool":"rubrkit_run_evals","params":["mode","repeats","maxCases","testCases","auditRunId","sourceFileId","rubricVersion","candidateFileId","artifactBundleId","baselineVersionId","candidateVersionId","sourceFileVersionId","sourceVersionNumber","candidateFileVersionId","candidateVersionNumber"]},{"tool":"rubrkit_search_api_docs","params":["limit","query"]},{"tool":"rubrkit_set_drift_monitor_status","params":["status","driftMonitorId"]},{"tool":"rubrkit_start_audit","params":["force","modelTier","rubricKey","artifactType","targetFileId","reasoningEffort","artifactBundleId","customRequirements","targetVersionNumber","artifactBundleVersionNumber"]},{"tool":"rubrkit_update_artifact_file","params":["fileId","content","message","mediaType","artifactBundleId"]},{"tool":"rubrkit_upload_artifact_files","params":["files","artifactBundleId"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}