prepare-submission-workflow
Prepare an evaluation for PR submission — add dependencies, tests, linting, eval.yaml, README, and changelog. Use when user asks to prepare an eval for submission or finalize a PR. Trigger when the user asks you to run the "Prepare Evaluation For Submission" workflow.
Prepare Eval For Submission
Workflow Steps
To prepare an evaluation for submission as a pull request:
-
Add custom dependencies in the pyproject.toml file, if required. Don't forget to add your evaluation to the
[test]dependencies if you've added any custom dependencies.[project.optional-dependencies] worldsense = ["pandas", "matplotlib"] # existing groups your_evaluation = ["example-python-package"] # add this line for your evaluation test = [ "inspect_evals[dev]", # existing groups "inspect_evals[your_evaluation]", # add this line for your evaluation ]Pin the package version if your evaluation might be sensitive to version updates.
Make sure your module does not import your custom dependencies when the module is imported. This breaks the way
inspect_aiimports tasks from the registry.To check for this,
pip uninstallyour optional dependences and run another eval with--limit=0. If it fails due to one of your imports, you need to change how you are importing that dependency -
Add pytest tests covering the custom functions included in your evaluation. See the Testing Standards section for more details.
-
Run
pytestto ensure all new and existing tests pass.To install test dependencies:
uv sync --extra testThen run the tests
uv run pytest -
Add an
eval.yamlfile to your evaluation directory (e.g.,src/inspect_evals/your_eval/eval.yaml) to include it in the documentation (which is automatically generated and deployed by Github Actions after merge). See the eval.yaml Reference section in CONTRIBUTING.md for a complete example and field documentation.Don't forget to add any custom dependencies to pyproject.toml if applicable.
-
Run linting, formatting, and type checking and address any issues:
make check EVAL=<eval_name>Note that we automatically run these commands on all incoming PRs, so be sure your contribution passes those before opening a PR. run_autolint.py handles automated checks
-
Fill in the missing sections of the generated README.md which are marked with 'TODO:'.
-
Create a changelog fragment to document your changes by running
uv run scriv create.
이 스킬의 파일
이 스킬에는 보조 파일이 없습니다.