coder-eval 0.12.2__tar.gz → 0.12.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/harness-candidates.md +47 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/README.md +31 -11
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/agents.md +29 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/contracts.md +17 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/isolation.md +256 -133
- coder_eval-0.12.3/.claude/notes/lint-rules.md +964 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/orchestration.md +62 -34
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/permissions.md +14 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/reporting.md +81 -16
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/timing.md +113 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/run-layout.md +1 -1
- coder_eval-0.12.3/.github/scripts/harbor_e2e.py +287 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/harbor-e2e.yml +36 -10
- {coder_eval-0.12.2 → coder_eval-0.12.3}/CHANGELOG.md +194 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/CLAUDE.md +14 -9
- {coder_eval-0.12.2 → coder_eval-0.12.3}/Makefile +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/PKG-INFO +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/action.yml +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/Dockerfile.runtime +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DOCKER_ISOLATION.md +7 -5
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/REPORT_SCHEMA.md +3 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/USER_GUIDE.md +29 -24
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/run-layout.md +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/pyproject.toml +2 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/__init__.py +0 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/evaluate_command.py +52 -19
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/export_command.py +1 -11
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/report_command.py +53 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_command.py +6 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_task_internal_command.py +33 -75
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/config.py +1 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/base.py +4 -10
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/cli_called.py +0 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/experiment_packager.py +0 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/packager.py +84 -114
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/portability.py +18 -22
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/isolation/docker_runner.py +129 -214
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/__init__.py +4 -0
- coder_eval-0.12.3/src/coder_eval/models/container_context.py +65 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/container_paths.py +3 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/criteria.py +4 -6
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/batch.py +16 -5
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/early_stop.py +7 -9
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/regrade.py +48 -31
- coder_eval-0.12.3/src/coder_eval/orchestration/run_summary_rebuild.py +136 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestrator.py +23 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/path_utils.py +5 -7
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/helpers.py +6 -15
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/sandbox.py +46 -26
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/timing.py +0 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_bracket_clock.py +13 -33
- coder_eval-0.12.3/tests/_container_contract.py +25 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/_scrub.py +23 -93
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/codex_fixtures.py +6 -8
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/opencode_fixtures.py +17 -25
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/pi_fixtures.py +14 -26
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/task.toml +0 -1
- coder_eval-0.12.3/tests/_fixtures/harbor_export_golden/expected/tests/test.sh +32 -0
- {coder_eval-0.12.2/tests/_fixtures/harbor_export_golden/expected → coder_eval-0.12.3/tests/_fixtures/harbor_export_golden/source_task}/environment/Dockerfile +0 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/llm_judge.yaml +4 -4
- coder_eval-0.12.3/tests/harbor_e2e/fixtures/trajectory_criteria.yaml +43 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/action_docs.py +17 -32
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/agent_roster_parity.py +14 -27
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/dead_config_fields.py +16 -28
- coder_eval-0.12.3/tests/lint/doc_env_parity.py +120 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/doc_examples.py +14 -26
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/doc_indexes.py +16 -20
- coder_eval-0.12.3/tests/lint/doc_schema_parity.py +76 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/live_verdict_contract.py +41 -108
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/plugin_manifest_parity.py +13 -25
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/plugin_reference.py +17 -38
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/pricing_mirror.py +20 -44
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/prose_budget.py +155 -61
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/_layers.py +17 -44
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/_model_ctor.py +13 -20
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce014_merge_strategy_declared.py +10 -21
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce019_telemetry_non_fatal.py +13 -17
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +15 -23
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +15 -25
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +11 -17
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce024_discriminated_unions.py +13 -21
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce032_criteria_path_seam.py +9 -17
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce037_no_dead_private_helper.py +14 -23
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce038_acquire_inside_try.py +11 -23
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce039_config_error_escalates.py +13 -22
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce043_no_command_output_truncation.py +9 -15
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce046_env_info_spreads_super.py +7 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce048_no_in_process_typer_command_call.py +14 -16
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce049_no_score_or_zero.py +8 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce050_no_union_getattr_probe.py +13 -31
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce051_no_driver_override.py +13 -21
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce052_process_lethal_must_be_container_gated.py +14 -37
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce053_run_record_filename_literal.py +9 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce054_env_info_key_round_trip.py +15 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce056_no_container_env_literal.py +9 -26
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce057_sidecar_shim_stdlib_only.py +9 -19
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce058_no_timing_literal.py +25 -92
- coder_eval-0.12.3/tests/lint/rules/ce059_generation_window_is_two_reads.py +59 -0
- coder_eval-0.12.3/tests/lint/rules/ce060_message_id_declared.py +67 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce061_window_via_close_window.py +19 -54
- coder_eval-0.12.3/tests/lint/rules/ce063_no_busy_ms_in_agents.py +76 -0
- coder_eval-0.12.3/tests/lint/rules/ce064_turn_bracket_on_the_clock.py +73 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce066_no_report_imports_in_core.py +12 -29
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_agent_timing_access.py +5 -6
- coder_eval-0.12.3/tests/lint/rules/no_cli_imports_in_core.py +51 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_top_level_run_limits_access.py +4 -5
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_transcript_regex_in_eval.py +9 -17
- coder_eval-0.12.3/tests/lint/rules/yaml_models_forbid_extras.py +108 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/runner.py +8 -18
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/workflow_outputs.py +19 -37
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_action_inputs.py +22 -43
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_action_version_pin.py +9 -24
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent.py +16 -36
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_no_timing_fields.py +3 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_sdk_decoupling.py +3 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_golden_master.py +30 -86
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_telemetry.py +14 -29
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_antigravity_agent.py +56 -98
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_called_criterion.py +17 -15
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent.py +8 -14
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent_unit.py +9 -15
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_executed.py +11 -14
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_statistics.py +3 -3
- coder_eval-0.12.3/tests/test_container_context.py +333 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_custom_lint.py +124 -257
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_detached_grading_boundaries.py +206 -132
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_detached_grading_guards.py +6 -14
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_build_failure.py +3 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_container_death.py +12 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_mounts.py +10 -13
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_early_stop.py +35 -137
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_error_handling.py +1 -1
- coder_eval-0.12.3/tests/test_evaluate_command.py +419 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_event_collector.py +3 -4
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_command.py +81 -12
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_evaluate_loop.py +20 -28
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_reports.py +2 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_resolver.py +2 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_runner.py +3 -6
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_agent.py +1 -1
- coder_eval-0.12.3/tests/test_harbor_e2e_fixtures.py +49 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_experiment_packager.py +0 -7
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_export_golden.py +3 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_packager.py +114 -100
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_portability.py +18 -13
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_image_from_dockerfiles.py +8 -32
- coder_eval-0.12.3/tests/test_image_skew_refusal.py +180 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_anthropic.py +3 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_context_builder.py +8 -12
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_models.py +1 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_persistence.py +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_route.py +5 -6
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_llm_judge_criterion.py +2 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_new_criteria.py +0 -14
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_opencode_agent.py +35 -44
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator.py +3 -4
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_parallel.py +54 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_agent.py +31 -46
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pr_review_workflow.py +19 -28
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_preservation_mode.py +14 -19
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_prose_budget.py +222 -13
- coder_eval-0.12.3/tests/test_prose_budget_commands.py +35 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_permissions.py +39 -50
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_regrade.py +55 -87
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_junit.py +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_helpers.py +2 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_resolver.py +3 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_metrics.py +7 -11
- coder_eval-0.12.2/tests/test_aggregate.py → coder_eval-0.12.3/tests/test_run_summary_rebuild.py +227 -69
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox.py +8 -12
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_adopt.py +110 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_record_cli.py +8 -10
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_templates.py +5 -8
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_venv_live.py +6 -16
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_seed_from_prior_result.py +15 -16
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_events.py +1 -5
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sub_agent_runner.py +3 -4
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_suite_rollup.py +5 -4
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_tags.py +8 -13
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_task_definition_unknown_fields.py +2 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_teardown_interrupt.py +6 -6
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_telemetry.py +3 -3
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_exceptions.py +1 -1
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_close_window.py +20 -27
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_identity_contract.py +43 -100
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_ungraded_reporting.py +4 -2
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_verify_published_workflow.py +14 -21
- {coder_eval-0.12.2 → coder_eval-0.12.3}/uv.lock +1 -1
- coder_eval-0.12.2/.github/scripts/harbor_e2e.py +0 -163
- coder_eval-0.12.2/src/coder_eval/cli/aggregate_command.py +0 -153
- coder_eval-0.12.2/tests/_fixtures/harbor_export_golden/expected/tests/test.sh +0 -17
- coder_eval-0.12.2/tests/lint/doc_env_parity.py +0 -148
- coder_eval-0.12.2/tests/lint/doc_schema_parity.py +0 -98
- coder_eval-0.12.2/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -52
- coder_eval-0.12.2/tests/lint/rules/ce059_generation_window_is_two_reads.py +0 -79
- coder_eval-0.12.2/tests/lint/rules/ce060_message_id_declared.py +0 -112
- coder_eval-0.12.2/tests/lint/rules/ce063_no_busy_ms_in_agents.py +0 -105
- coder_eval-0.12.2/tests/lint/rules/ce064_turn_bracket_on_the_clock.py +0 -116
- coder_eval-0.12.2/tests/lint/rules/no_cli_imports_in_core.py +0 -63
- coder_eval-0.12.2/tests/lint/rules/yaml_models_forbid_extras.py +0 -147
- coder_eval-0.12.2/tests/test_evaluate_command.py +0 -218
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/persistence.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/axes.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude-plugin/marketplace.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.env.example +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/CODEOWNERS +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/actionlint.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/code_review.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/dependabot.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/pages-stub/index.html +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/scripts/release_notes.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/docs.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/pr-checks.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/release.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/verify-published-action.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.gitignore +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/.python-version +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/ADOPTERS.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/CONTRIBUTING.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/LICENSE +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/NOTICE +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/SECURITY.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/comparison.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/AB_EXPERIMENTS.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/CI_GATE.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DATASETS.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DIALOG_MODE.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/EXTENDING.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/PLUGIN.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/TASK_DEFINITION_GUIDE.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/ANTIGRAVITY.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/CLAUDE_CODE.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/CODEX.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/HARNESS_PARITY.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/OPENCODE.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/PI.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/assets/hero.gif +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/comparison.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/index.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/llms.txt +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/01-first-evaluation.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/02-ci-pipeline.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/03-evalboard-local.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/04-writing-a-task.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/05-comparing-models.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/06-use-docker-isolation.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/.gitignore +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/harness-selector.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/skeleton.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/harness-selector.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/skeleton.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_lib/source-param.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/harness-legend.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/harness-series.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/download/route.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/globals.css +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/icon.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/loading.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/task-table.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/scribe/page.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/scribe/run-table.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/trends-view.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/package.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/pi.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/default.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/cost_logger.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/litellm-config.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/start-litellm.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/mkdocs.yml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/osv-scanner.toml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/cli-setup.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/criteria.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/repo-layout.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/task-rubric.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/ci/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/init/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/task/SKILL.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/check_commit_msg.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/antigravity.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/claude-code.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/codex.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/opencode.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/pi.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/decompose_run.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/_skills.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/antigravity_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/claude_code_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/codex_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/noop_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/opencode_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/pi_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/argv_match.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/evaluate_target.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/execute_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/harbor_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_helpers.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/skill_triggered.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/durations.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/checker_misuse.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/reference.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_litellm.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/fs_permissions.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/agent_paths.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_emit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_hydrate.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/reward.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/invocation_log.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/litellm_cost.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/cli_match.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/run_limits.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/pricing.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/experiment.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/html.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/junit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/markdown.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/result_metrics.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/run_record.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/stats.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/anti_cheat_reference/reference/solution.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/opencode_smoke_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/pi_smoke_test.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/record_cli_responses.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/run_limits/max_turns_cap.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/run_limits/turn_timeout.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/token_check.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/antigravity_fixtures.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_a_single_text_turn.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_b_tool_call_resolved.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_c_thinking_and_tool_same_generation.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_d_orphaned_tool.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_e_multi_generation.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_a_single_text_turn.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_b_tool_call_resolved.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_c_multi_step_tiling.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_d_orphaned_tool.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_e_error_after_generation.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_a_single_text_turn.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_b_tool_call_resolved.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_c_multi_turn_tiling.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_d_orphaned_tool.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_e_error_after_generation.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_f_duplicate_turn_end.json +0 -0
- {coder_eval-0.12.2/tests/_fixtures/harbor_export_golden/source_task → coder_eval-0.12.3/tests/_fixtures/harbor_export_golden/expected}/environment/Dockerfile +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/environment/docker-compose.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/environment/task.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/instruction.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/tests/reference/greeting.txt +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/tests/task.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/source_task/reference/greeting.txt +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/source_task/task.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/live_criteria.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/timing_union_cases.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_path_helpers.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/conftest.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/atif/known_good_trajectory.json +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/mock_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/pi_happy_stream.jsonl +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/text_stub_agent.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/docker_baseline.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/template_sources.yaml +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/generated.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/pyright_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/violation.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agentless.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_emit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_hydrate.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_check_all_async.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_classification_match.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_claude_settings_enforcement_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_match_parity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cost_accounting_paths.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_litellm_env.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_durations.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluate_format_harbor.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluate_target.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_format_harbor.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_file_check.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_formatting.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_glob_paths_in_file_criteria.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_reward.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_integration.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_json_check.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_litellm.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_cost.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_cost_logger.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_judge_live.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_logging.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_mutations.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_path_utils.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_agent_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_smoke_task.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plan_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plugins.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_post_run.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pre_run.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pricing_mirror.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_registry.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_release_notes.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_report_command.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_html.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_package.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_result_metrics.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_resume.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_route_seam_exhaustiveness.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_routing.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_command_junit.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_record.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_scorers.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_integration.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_skill_triggered.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_stats.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_stats_nonfinite.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_summaries.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_union_parity.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_token_usage.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_user_simulator.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_utils.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_visible_turn_cap.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_watchdog.py +0 -0
- {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_yaml_migration.py +0 -0
|
@@ -962,3 +962,50 @@ re-derive from scratch.
|
|
|
962
962
|
leaves them stale with nothing failing. Needs a backtick-path extractor scoped to
|
|
963
963
|
one section, which is the narrow case of the prose-path candidate above. — caught
|
|
964
964
|
during the reports consolidation rebase.
|
|
965
|
+
|
|
966
|
+
- [ ] **A prose "see X's docstring" citation whose target no longer holds the
|
|
967
|
+
claim.** Moving rationale out of a docstring leaves every citation of that
|
|
968
|
+
docstring pointing at text that is gone, and `check_pointers` cannot see it
|
|
969
|
+
because the citation is prose, not a `Rationale:` pointer. Not mechanised: the
|
|
970
|
+
match is heuristic ("see the module docstring", "see CE063's docstring",
|
|
971
|
+
"see that class's docstring" all read differently), and most citations are
|
|
972
|
+
in-file and still valid, so a rule would need per-site triage rather than a
|
|
973
|
+
regex. Instances found (line numbers at 946ca968):
|
|
974
|
+
`src/coder_eval/harbor/packager.py:382` and `:386`,
|
|
975
|
+
`tests/test_harbor_packager.py:163` and `:187`,
|
|
976
|
+
`tests/lint/rules/ce064_turn_bracket_on_the_clock.py:40`. Caught in: tests
|
|
977
|
+
prose slimming, Phases 3 and 7.
|
|
978
|
+
|
|
979
|
+
- [ ] **Narrative after a docstring's `Args:`/`Returns:` block that follows a
|
|
980
|
+
`Rationale:` pointer.** `check_pointer_placement` accepts any tail that STARTS
|
|
981
|
+
with a trailing section, so pointer → `Args:` → an indented entry → a new
|
|
982
|
+
base-indented paragraph passes although the pointer is no longer the last prose
|
|
983
|
+
line. Guarding it means walking section blocks by indentation (the shape
|
|
984
|
+
`prose_words` already uses), plus false-positive triage over every src/ and
|
|
985
|
+
tests/ docstring that ends in a section — more than a quick add. Caught in:
|
|
986
|
+
tests prose slimming, final review (gpt-5.6-sol).
|
|
987
|
+
|
|
988
|
+
- [ ] **A `Rationale:` pointer whose target is not under `.claude/notes/`.**
|
|
989
|
+
`check_pointers` joins the captured path onto the repo root, so an absolute
|
|
990
|
+
path, a `..` segment or any other Markdown file resolves, while CLAUDE.md and
|
|
991
|
+
`.claude/notes/README.md` define the pointer as a repo-relative notes path. No
|
|
992
|
+
such pointer exists today. Deferred because restricting the target is a design
|
|
993
|
+
decision (a `docs/` guide heading is a plausible SSOT target) rather than a
|
|
994
|
+
mechanical guard. Caught in: tests prose slimming, final review (gpt-5.6-sol).
|
|
995
|
+
|
|
996
|
+
## From container-contract-and-command-surface (2026-09-15)
|
|
997
|
+
|
|
998
|
+
- [ ] **A field-name assertion against CLI output can pass vacuously through `tmp_path`.**
|
|
999
|
+
`assert "variant_id" in result.output` matched the echoed `context.json` path, because
|
|
1000
|
+
pytest names each `tmp_path` after the test (`test_a_non_string_variant_id_i…`). Nothing
|
|
1001
|
+
guards it today; the fix was to assert the pydantic `loc` line (`"\nvariant_id\n"`).
|
|
1002
|
+
Deferred because telling a vacuous substring from a real one needs to know the test's
|
|
1003
|
+
own name and what the command echoes — a convention for reviewers, not an AST pattern.
|
|
1004
|
+
Caught in: Phase 1 quality review.
|
|
1005
|
+
- [ ] **A path interpolated into Rich markup without `escape()`.** A run directory name is
|
|
1006
|
+
untrusted, and `[/y]` in it raised `rich.errors.MarkupError` (not an `OSError`) inside
|
|
1007
|
+
`evaluate`'s best-effort refresh, after the verdict printed. Nothing guards it; the fix
|
|
1008
|
+
escaped every new console line. Deferred because the rule needs type information (which
|
|
1009
|
+
f-string placeholders are `Path`s) that an AST-only rule does not have, and the existing
|
|
1010
|
+
CLI has many pre-existing unescaped lines a literal rule would flag at once. Caught in:
|
|
1011
|
+
Phase 5 quality review.
|
|
@@ -15,6 +15,7 @@ rule docstrings in `tests/lint/rules/`, then the guides under `docs/`.
|
|
|
15
15
|
- [agents.md](agents.md) — agent adapters, the turn lifecycle, token reconciliation, harness parity
|
|
16
16
|
- [contracts.md](contracts.md) — criteria, datasets, aggregation, judging
|
|
17
17
|
- [isolation.md](isolation.md) — the docker driver, the sandbox, detached grading
|
|
18
|
+
- [lint-rules.md](lint-rules.md) — why each CE lint rule exists
|
|
18
19
|
- [orchestration.md](orchestration.md) — config merge, resume, early stop, execute vs. run
|
|
19
20
|
- [permissions.md](permissions.md) — the chmod window and the reference anti-cheat
|
|
20
21
|
- [persistence.md](persistence.md) — atomic writes and judge persistence
|
|
@@ -46,12 +47,31 @@ Path relative to the repo root, then `§`, then the target `##` heading text ver
|
|
|
46
47
|
There is no other accepted form: `tests/lint/prose_budget.py` parses this one and fails
|
|
47
48
|
`make docs-budget` when the file or the heading does not exist.
|
|
48
49
|
|
|
49
|
-
## The prose budget is
|
|
50
|
-
|
|
51
|
-
`make docs-budget`
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
## The prose budget is not a lint rule
|
|
51
|
+
|
|
52
|
+
`make docs-budget` runs `tests/lint/prose_budget.py` over `src/coder_eval` and `tests`.
|
|
53
|
+
It enforces three rules with no baseline to maintain: no docstring over 150 prose words
|
|
54
|
+
(an `@abstractmethod` and the Typer commands are exempt), no own-line comment run over 8
|
|
55
|
+
lines, and a file's own-line comments within `MAX(20, 0.15 × lines)`. It also fails when a
|
|
56
|
+
`Rationale:` pointer does not resolve or is not the last prose line of its block.
|
|
57
|
+
|
|
58
|
+
The run cap is the primary rule and the file total is the backstop under it. The order
|
|
59
|
+
matters, because the total alone was inverted: it blocked `isolation/docker_runner.py` at
|
|
60
|
+
229/229 for carrying 62 short annotations pinned to the lines they explain, while a 16-line
|
|
61
|
+
essay in `tests/test_regrade.py` sat at 29% of its budget. Four files had settled at exactly
|
|
62
|
+
100% of the cap — a budget with an allowance becomes a target. The run cap has no allowance
|
|
63
|
+
and catches the shape the total could not see; the total still catches a file that is mostly
|
|
64
|
+
commentary however it is broken up.
|
|
65
|
+
|
|
66
|
+
Measured when the cap was chosen: 78.5% of comment runs in the tree are 1-2 lines, 2.5% are
|
|
67
|
+
6 or more, and the longest was 16. After the essays moved out, 21 runs sat at exactly 8
|
|
68
|
+
lines. They were cut to 7 or fewer so that no run starts at the cap, and an ordinary edit
|
|
69
|
+
to one of them does not fail the gate. The four files above still sit at 100% of their total
|
|
70
|
+
budget, so a comment added to one of them has to be paid for by deleting another.
|
|
71
|
+
|
|
72
|
+
It is deliberately **not** a `CE` rule: `tests/lint/rules/` polices per-pattern invariants
|
|
73
|
+
one AST at a time, while this measures prose across whole trees. Making it a rule would
|
|
74
|
+
mean a rule class, a rule test and a catalogue entry — enlarging the harness the budget
|
|
55
75
|
exists to shrink. Do not "fix" this by promoting it.
|
|
56
76
|
|
|
57
77
|
Nothing here states how many `CE` rules exist. `tests/lint/rules/` owns that count, and a
|
|
@@ -59,8 +79,8 @@ number written down anywhere else is a second declaration that will be wrong.
|
|
|
59
79
|
|
|
60
80
|
## Where a CE rule's rationale lives
|
|
61
81
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
82
|
+
A rule's invariant, scope and blind spots live in its rule file under `tests/lint/rules/`
|
|
83
|
+
(or its `@pytest.mark.lint` class in `tests/test_custom_lint.py`). Read that before you
|
|
84
|
+
edit, suppress or widen a rule. The defect that motivated it lives in
|
|
85
|
+
[lint-rules.md](lint-rules.md), under the rule's id. That file does not repeat the
|
|
86
|
+
invariant, scope or blind spots.
|
|
@@ -231,6 +231,27 @@ overlaps, so a call closing in the gap before a step start needs nobody to remem
|
|
|
231
231
|
The rule that used to live there was wrong once on OpenCode — clearing at `step_start`
|
|
232
232
|
wiped the span before `step_finish` could subtract it, a 100% overstatement of that window.
|
|
233
233
|
|
|
234
|
+
The OpenCode gap case is reachable only through the NON-TERMINAL tool path. The CLI
|
|
235
|
+
normally emits one already-`completed` event per call, and that call closes inside the
|
|
236
|
+
step that opened it. That is why the measured corpus shows 0.00% for this case, and why
|
|
237
|
+
`TestToolSpansSurviveTheStepBoundary` drives `_OpenCodeTurnState` directly instead of a
|
|
238
|
+
recorded stream.
|
|
239
|
+
|
|
240
|
+
The Pi inter-turn gap is small in practice: measured across 25 real window pairs, the
|
|
241
|
+
median was 0.25 ms and the maximum 0.75 ms. The fix is worth
|
|
242
|
+
keeping mainly because the tool spans must keep working once the gap closes, which
|
|
243
|
+
`tests/test_pi_agent.py::TestToolSpansSurviveTheTurnBoundary` pins.
|
|
244
|
+
|
|
245
|
+
An Antigravity call that is still running when a flush cuts the window must have its
|
|
246
|
+
already-elapsed part taken out of that window. Subtracting only CLOSED intervals published
|
|
247
|
+
that part as model time while the call's own `duration_ms` counted it again, and because
|
|
248
|
+
the windows cover the turn end to end, there is no slack to absorb it. Measured on `tasks/hello_date`
|
|
249
|
+
with a live gemini-3.1-pro-preview: a `Bash` opening 1.7 ms before the flush drove
|
|
250
|
+
Σ generation + Σ command 0.26 ms PAST the turn's own `duration_seconds`, on a turn whose
|
|
251
|
+
entire headroom was 1.4 ms. Four sibling runs passed by 1.2-8.7 ms out of ~12 s, so the
|
|
252
|
+
defect was a coin flip per run. `tests/test_antigravity_agent.py::test_a_tool_still_open_at_the_flush_is_not_generation_time`
|
|
253
|
+
pins it.
|
|
254
|
+
|
|
234
255
|
## Why a clean exit can still be a crash
|
|
235
256
|
|
|
236
257
|
An exit code of 0 with no telemetry is indistinguishable from a real pass in every
|
|
@@ -267,6 +288,14 @@ reports no usage at all — where crashing every turn makes the harness unusable
|
|
|
267
288
|
merely imprecise. It deliberately does NOT cover vocabulary drift: that arm has silently
|
|
268
289
|
zeroed a whole run before, and no provider quirk explains it.
|
|
269
290
|
|
|
291
|
+
The OpenCode golden fixtures (`tests/_fixtures/golden_streams/opencode_fixtures.py`) mirror
|
|
292
|
+
events captured from a live `opencode run --format json`, in the CLI's own compact
|
|
293
|
+
vocabulary (`step_start` / `step_finish` / `text` / `tool_use`, payload under `part`). The
|
|
294
|
+
`session.next.*` names in the server's OpenAPI schema describe `opencode serve`'s SSE
|
|
295
|
+
surface, not the CLI stream, so "correcting" a fixture toward them re-creates the
|
|
296
|
+
zero-telemetry vocabulary drift above. The fixtures need no import guard because
|
|
297
|
+
`pyproject.toml` declares `opencode = []`: there is no Python package to skip on.
|
|
298
|
+
|
|
270
299
|
## Token accounting, per harness
|
|
271
300
|
|
|
272
301
|
Keep the buckets straight: `uncached_input_tokens` is the FRESH prompt slice only, because
|
|
@@ -158,6 +158,23 @@ interpreter and its directory goes FIRST on a PATH the orchestrator also reuses
|
|
|
158
158
|
`run_command`, so `tool: python3` made the shim re-resolve its own interpreter to itself —
|
|
159
159
|
an exec loop that spins to the task timeout.
|
|
160
160
|
|
|
161
|
+
### Why the record_cli probe reads a real shim log
|
|
162
|
+
|
|
163
|
+
The `tasks/record_cli_responses.yaml` probe needs a detector that proves per-invocation
|
|
164
|
+
response dispatch, and most of its signals cannot. `cli_called` matches argv only, so it
|
|
165
|
+
passes whether a response rule answered or the entry fallback did. The agent can
|
|
166
|
+
transcribe `captured.txt`, because the task YAML is serialised to `/work/input` and mounted
|
|
167
|
+
at `/work/task_dir`, and both are readable. A codegen regression that renders `RULES = []`
|
|
168
|
+
raises nothing, so neither `rule_error` nor `sidecar_error` is booked. Only the
|
|
169
|
+
`"rule": N` key in the log catches it.
|
|
170
|
+
|
|
171
|
+
`tests/test_tags.py::TestRecordCliProbeIntegrity` therefore does not compare the YAML
|
|
172
|
+
against itself. It runs each stubbed command through a real shim and matches the task's
|
|
173
|
+
regexes against the lines the shim wrote. The needle's spelling (`"rule": 0`, with the
|
|
174
|
+
space) comes from the default `json.dumps` separators in `invocation_log.record`. A test
|
|
175
|
+
that copied the needle would stay green after a switch to compact separators, while the
|
|
176
|
+
blocking CI probe failed.
|
|
177
|
+
|
|
161
178
|
## The checker base class
|
|
162
179
|
|
|
163
180
|
### Exactly one of _check_impl or _check_impl_async
|