You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently benchmarks are run manually from a developer's machine. For longitudinal tracking across vera compiler versions and model releases, we need automated scheduled runs that store results in a structured, queryable format — not flat JSONL files.
What this looks like
A GitHub Actions scheduled workflow that:
Triggers weekly (or on vera release tags)
Installs the latest vera from main (or a pinned release)
Runs the full 50-problem benchmark against a matrix of models:
Claude Sonnet 4, Claude Opus 4
GPT-4o
(Others as API access permits)
Runs both Vera full-spec and spec-from-NL modes
Stores results in a structured format (not flat files)
Flat JSONL files in results/ don't scale for longitudinal tracking. Each run produces ~100-200 result records (50 problems × 2-4 modes × 1-2 attempts), and we'll accumulate hundreds of runs over time. Options:
Keep JSONL but add a metadata record at the top of each file: {"_meta": {"run_id": "...", "vera_version": "0.0.105", "skill_md_hash": "abc123", "timestamp": "..."}}
Simpler than SQLite but harder to query across runs
Recommendation: Start with SQLite (Option A). It's zero-infrastructure, queryable, and the vera-bench report command can read from it directly. Migrate to a cloud DB later if the dashboard needs an API.
Cost considerations
Each full run (50 problems × 1 model × 2 modes) costs approximately:
~100 API calls
~500K input tokens (mostly SKILL.md context, ~65K per call)
~15K output tokens
Estimated cost: ~$2-5 per model per run (varies by model pricing)
Weekly runs across 3 models ≈ $30-60/month. Acceptable for a research project.
Secrets management
The scheduled workflow needs API keys as GitHub Actions secrets:
ANTHROPIC_API_KEY — for Claude models
OPENAI_API_KEY — for GPT models
These are already used in the manual workflow pattern.
Context
Currently benchmarks are run manually from a developer's machine. For longitudinal tracking across vera compiler versions and model releases, we need automated scheduled runs that store results in a structured, queryable format — not flat JSONL files.
What this looks like
A GitHub Actions scheduled workflow that:
main(or a pinned release)Storage: beyond flat JSONL
Flat JSONL files in
results/don't scale for longitudinal tracking. Each run produces ~100-200 result records (50 problems × 2-4 modes × 1-2 attempts), and we'll accumulate hundreds of runs over time. Options:Option A: SQLite database in the repo
results/verabench.dbfilerunstable (run_id, timestamp, vera_version, skill_md_hash) +resultstable (run_id, problem_id, model, language, mode, check_pass, verify_pass, run_correct, ...)vera-bench reportreads from DB instead of globbing JSONLOption B: Cloud database (Supabase, PlanetScale, etc.)
Option C: Structured JSONL with metadata headers
{"_meta": {"run_id": "...", "vera_version": "0.0.105", "skill_md_hash": "abc123", "timestamp": "..."}}results/{date}-{vera_version}-{model}.jsonlRecommendation: Start with SQLite (Option A). It's zero-infrastructure, queryable, and the
vera-bench reportcommand can read from it directly. Migrate to a cloud DB later if the dashboard needs an API.Cost considerations
Each full run (50 problems × 1 model × 2 modes) costs approximately:
Weekly runs across 3 models ≈ $30-60/month. Acceptable for a research project.
Secrets management
The scheduled workflow needs API keys as GitHub Actions secrets:
ANTHROPIC_API_KEY— for Claude modelsOPENAI_API_KEY— for GPT modelsThese are already used in the manual workflow pattern.
Relates to