Skip to content

HuggingFace dataset integration: auto-push spreads + leaderboard dataset card #45

Description

@jkbennitt

Goal

Make HuggingFace the public, citable home for RLE benchmark data — every spread lands on the Hub automatically, with a dataset card that doubles as a live leaderboard.

Current state

  • tracking/hf_logger.py exists (pushes benchmark_history.jsonl, baselines, run dirs) but has never run: the default repo_id points at a namespace that doesn't exist, and --push-hf in run_benchmark.py is gated behind --runs 4+ so N=1 spreads can't push at all.
  • scripts/export_site_data.py (PR feat: add export_site_data.py website fold-in exporter #43) already emits site_data.json — the exact machine-readable payload the dataset should carry.

Work

  • Point repo_id at the real dataset (env-overridable, e.g. HF_DATASET_REPO)
  • Drop/relax the --runs 4+ gate — N=1 content spreads are valid dataset entries when labeled as such
  • Dataset card generator: README.md with an auto-regenerated leaderboard table (from leaderboard.json), N=1 framing note, link to rle.appsprout.dev
  • Push site_data.json + leaderboard.json + per-run summaries/CSVs alongside history and baselines (exclude raw video/media)
  • Standalone scripts/push_hf.py so an existing spread dir can be pushed without re-running the benchmark
  • Backfill: v0.3.0 validation spread (2026-06-11) + static baseline as the inaugural dataset
  • Later: Gradio leaderboard Space reading the dataset (HF discovery surface)

Notes

Auth via HF_TOKEN. Real OpenRouter billed costs now flow automatically (PR #44), so future pushes carry ground-truth real_cost_usd without hand-patching.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions