Skip to content

docs(utils): add 'Submitting a new adapter' checklist#205

Closed
borgr wants to merge 1 commit into
evaleval:mainfrom
borgr:docs/adapter-submission-checklist
Closed

docs(utils): add 'Submitting a new adapter' checklist#205
borgr wants to merge 1 commit into
evaleval:mainfrom
borgr:docs/adapter-submission-checklist

Conversation

@borgr

@borgr borgr commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Adds a Submitting a new adapter section to utils/README.md.

Adapter output can be schema-valid and still misrepresent the data — several issues only surface in review, not in validate. This section gives adapter authors a pre-submit routine that mirrors CI (ruff check, pytest tests, validate on the output, plus an offline shape test using llm_stats as the reference), and a short self-review list of the mistakes validate can't catch:

  • input.raw must not contain the model's answer (prompt = user/system turns only);
  • output.raw is the full generation, not the extracted answer;
  • metric_name (the metric) vs evaluation_name (the benchmark); no metric_type;
  • eval_library is the harness, not the platform;
  • source_type evaluation_run vs documentation;
  • continuous score_type needs min_score/max_score (no unbounded; inf serializes to null);
  • additional_details values must be strings;
  • model_info.id carries no effort/mode/quant suffix.

Docs only; no code changes.

Converts openlifescienceai/results (lm-evaluation-harness medical-QA output)
into EEE aggregate logs: one EvaluationLog per developer/model, with one
EvaluationResult per medical benchmark (MedMCQA, MedQA-USMLE, PubMedQA, and 6
MMLU medical subjects). accuracy -> continuous [0,1], acc_stderr -> uncertainty.

- source_type="documentation" + evaluator_relationship=third_party (the
  leaderboard re-hosts numbers it didn't produce), but eval_library names the
  unmistakable harness (lm-evaluation-harness).
- each result's source_data points at that benchmark's own HF dataset repo.
- evaluation_id keyed on the result file's parsed timestamp so re-ingest is
  idempotent; a stable path-derived fallback (never `now`) when unparseable.
- skips hand-curated closed-model baselines (different provenance), hidden dirs,
  and Jupyter *-checkpoint.json files.

Offline test (no optional deps -> runs in both core and full CI): builds logs
from synthetic lm-eval result objects and asserts schema-validity, field
mapping, per-benchmark dataset repos, and evaluation_id idempotency.
@borgr

borgr commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

Withdrawing this one. On review the per-field self-review rules here are low-level converter-authoring knowledge, not something that belongs in the human-oriented adapter README — and this repo already has docs/eval-converters/, docs/contributing/, and a per-field docs/data-structure/schema.md for public guidance. We'll keep this field-level guidance in our converter's own workflow notes instead. Sorry for the noise; happy to propose a targeted docs/ change if maintainers want one.

@borgr borgr closed this Jul 20, 2026
@borgr
borgr deleted the docs/adapter-submission-checklist branch July 20, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant