Skip to content

Storage

ArtemisKit supports multiple storage backends for persisting evaluation results. Choose the one that best fits your workflow.

BackendBest ForPersistence
LocalDevelopment, single-userFilesystem
SupabaseTeams, CI/CD, cloudPostgreSQL + Storage

Set the storage backend in your config file:

artemis.config.yaml
storage:
type: local # or "supabase"
basePath: ./artemis-runs

Or use environment variables:

Terminal window
export ARTEMIS_STORAGE_PATH=./artemis-runs

All storage backends support:

  • Save - Store run manifests with full results
  • Load - Retrieve a specific run by ID
  • List - Query runs with filtering and pagination
  • Delete - Remove runs
  • Compare - Diff two runs for regression detection

Each evaluation run produces a manifest containing:

interface RunManifest {
run_id: string; // Unique identifier (e.g., "ar-20260115-abc123")
project: string; // Project name
config: {
scenario: string; // Scenario filename
provider: string; // LLM provider used
model: string; // Model used
};
metrics: {
success_rate: number; // Pass rate (0-1)
total_cases: number;
passed_cases: number;
failed_cases: number;
median_latency_ms: number;
p95_latency_ms: number;
total_tokens: number;
};
git: {
commit: string;
branch: string;
dirty: boolean;
};
provenance: {
run_by: string;
run_reason: string;
};
start_time: string;
end_time: string;
results: CaseResult[];
}
  • Developing and testing scenarios
  • Running evaluations on a single machine
  • You don’t need to share results across team members
  • Quick setup with zero configuration
  • Running evaluations in CI/CD pipelines
  • Collaborating with a team
  • Need historical trending and analytics
  • Want SQL-queryable results
  • Building dashboards or integrations