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.
Files changed (823) hide show
  1. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/harness-candidates.md +47 -0
  2. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/README.md +31 -11
  3. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/agents.md +29 -0
  4. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/contracts.md +17 -0
  5. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/isolation.md +256 -133
  6. coder_eval-0.12.3/.claude/notes/lint-rules.md +964 -0
  7. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/orchestration.md +62 -34
  8. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/permissions.md +14 -0
  9. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/reporting.md +81 -16
  10. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/timing.md +113 -0
  11. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/run-layout.md +1 -1
  12. coder_eval-0.12.3/.github/scripts/harbor_e2e.py +287 -0
  13. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/harbor-e2e.yml +36 -10
  14. {coder_eval-0.12.2 → coder_eval-0.12.3}/CHANGELOG.md +194 -0
  15. {coder_eval-0.12.2 → coder_eval-0.12.3}/CLAUDE.md +14 -9
  16. {coder_eval-0.12.2 → coder_eval-0.12.3}/Makefile +1 -1
  17. {coder_eval-0.12.2 → coder_eval-0.12.3}/PKG-INFO +1 -1
  18. {coder_eval-0.12.2 → coder_eval-0.12.3}/action.yml +1 -1
  19. {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/Dockerfile.runtime +1 -1
  20. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DOCKER_ISOLATION.md +7 -5
  21. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/REPORT_SCHEMA.md +3 -3
  22. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/USER_GUIDE.md +29 -24
  23. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
  24. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/run-layout.md +1 -1
  25. {coder_eval-0.12.2 → coder_eval-0.12.3}/pyproject.toml +2 -3
  26. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/__init__.py +1 -1
  27. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/__init__.py +0 -3
  28. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/evaluate_command.py +52 -19
  29. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/export_command.py +1 -11
  30. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/report_command.py +53 -3
  31. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_command.py +6 -0
  32. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_task_internal_command.py +33 -75
  33. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/config.py +1 -0
  34. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/base.py +4 -10
  35. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/cli_called.py +0 -1
  36. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/experiment_packager.py +0 -3
  37. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/packager.py +84 -114
  38. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/portability.py +18 -22
  39. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/isolation/docker_runner.py +129 -214
  40. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/__init__.py +4 -0
  41. coder_eval-0.12.3/src/coder_eval/models/container_context.py +65 -0
  42. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/container_paths.py +3 -2
  43. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/criteria.py +4 -6
  44. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/batch.py +16 -5
  45. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/early_stop.py +7 -9
  46. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/regrade.py +48 -31
  47. coder_eval-0.12.3/src/coder_eval/orchestration/run_summary_rebuild.py +136 -0
  48. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestrator.py +23 -18
  49. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/path_utils.py +5 -7
  50. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/helpers.py +6 -15
  51. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/sandbox.py +46 -26
  52. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/timing.py +0 -1
  53. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_bracket_clock.py +13 -33
  54. coder_eval-0.12.3/tests/_container_contract.py +25 -0
  55. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/_scrub.py +23 -93
  56. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/codex_fixtures.py +6 -8
  57. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/opencode_fixtures.py +17 -25
  58. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/pi_fixtures.py +14 -26
  59. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/task.toml +0 -1
  60. coder_eval-0.12.3/tests/_fixtures/harbor_export_golden/expected/tests/test.sh +32 -0
  61. {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
  62. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/llm_judge.yaml +4 -4
  63. coder_eval-0.12.3/tests/harbor_e2e/fixtures/trajectory_criteria.yaml +43 -0
  64. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/action_docs.py +17 -32
  65. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/agent_roster_parity.py +14 -27
  66. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/dead_config_fields.py +16 -28
  67. coder_eval-0.12.3/tests/lint/doc_env_parity.py +120 -0
  68. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/doc_examples.py +14 -26
  69. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/doc_indexes.py +16 -20
  70. coder_eval-0.12.3/tests/lint/doc_schema_parity.py +76 -0
  71. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/live_verdict_contract.py +41 -108
  72. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/plugin_manifest_parity.py +13 -25
  73. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/plugin_reference.py +17 -38
  74. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/pricing_mirror.py +20 -44
  75. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/prose_budget.py +155 -61
  76. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/_layers.py +17 -44
  77. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/_model_ctor.py +13 -20
  78. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce014_merge_strategy_declared.py +10 -21
  79. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce019_telemetry_non_fatal.py +13 -17
  80. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +15 -23
  81. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +15 -25
  82. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +11 -17
  83. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce024_discriminated_unions.py +13 -21
  84. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce032_criteria_path_seam.py +9 -17
  85. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce037_no_dead_private_helper.py +14 -23
  86. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce038_acquire_inside_try.py +11 -23
  87. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce039_config_error_escalates.py +13 -22
  88. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce043_no_command_output_truncation.py +9 -15
  89. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce046_env_info_spreads_super.py +7 -18
  90. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce048_no_in_process_typer_command_call.py +14 -16
  91. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce049_no_score_or_zero.py +8 -18
  92. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce050_no_union_getattr_probe.py +13 -31
  93. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce051_no_driver_override.py +13 -21
  94. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce052_process_lethal_must_be_container_gated.py +14 -37
  95. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce053_run_record_filename_literal.py +9 -18
  96. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce054_env_info_key_round_trip.py +15 -18
  97. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce056_no_container_env_literal.py +9 -26
  98. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce057_sidecar_shim_stdlib_only.py +9 -19
  99. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce058_no_timing_literal.py +25 -92
  100. coder_eval-0.12.3/tests/lint/rules/ce059_generation_window_is_two_reads.py +59 -0
  101. coder_eval-0.12.3/tests/lint/rules/ce060_message_id_declared.py +67 -0
  102. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce061_window_via_close_window.py +19 -54
  103. coder_eval-0.12.3/tests/lint/rules/ce063_no_busy_ms_in_agents.py +76 -0
  104. coder_eval-0.12.3/tests/lint/rules/ce064_turn_bracket_on_the_clock.py +73 -0
  105. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce066_no_report_imports_in_core.py +12 -29
  106. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_agent_timing_access.py +5 -6
  107. coder_eval-0.12.3/tests/lint/rules/no_cli_imports_in_core.py +51 -0
  108. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_top_level_run_limits_access.py +4 -5
  109. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_transcript_regex_in_eval.py +9 -17
  110. coder_eval-0.12.3/tests/lint/rules/yaml_models_forbid_extras.py +108 -0
  111. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/runner.py +8 -18
  112. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/workflow_outputs.py +19 -37
  113. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_action_inputs.py +22 -43
  114. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_action_version_pin.py +9 -24
  115. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent.py +16 -36
  116. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_no_timing_fields.py +3 -2
  117. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_sdk_decoupling.py +3 -3
  118. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_golden_master.py +30 -86
  119. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_telemetry.py +14 -29
  120. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_antigravity_agent.py +56 -98
  121. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_called_criterion.py +17 -15
  122. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent.py +8 -14
  123. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent_unit.py +9 -15
  124. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_executed.py +11 -14
  125. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_statistics.py +3 -3
  126. coder_eval-0.12.3/tests/test_container_context.py +333 -0
  127. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_custom_lint.py +124 -257
  128. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_detached_grading_boundaries.py +206 -132
  129. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_detached_grading_guards.py +6 -14
  130. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_build_failure.py +3 -3
  131. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_container_death.py +12 -2
  132. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_mounts.py +10 -13
  133. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_early_stop.py +35 -137
  134. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_error_handling.py +1 -1
  135. coder_eval-0.12.3/tests/test_evaluate_command.py +419 -0
  136. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_event_collector.py +3 -4
  137. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_command.py +81 -12
  138. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_evaluate_loop.py +20 -28
  139. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_reports.py +2 -2
  140. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_resolver.py +2 -2
  141. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_runner.py +3 -6
  142. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_agent.py +1 -1
  143. coder_eval-0.12.3/tests/test_harbor_e2e_fixtures.py +49 -0
  144. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_experiment_packager.py +0 -7
  145. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_export_golden.py +3 -2
  146. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_packager.py +114 -100
  147. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_portability.py +18 -13
  148. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_image_from_dockerfiles.py +8 -32
  149. coder_eval-0.12.3/tests/test_image_skew_refusal.py +180 -0
  150. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_anthropic.py +3 -3
  151. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_context_builder.py +8 -12
  152. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_models.py +1 -2
  153. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_persistence.py +1 -1
  154. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_route.py +5 -6
  155. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_llm_judge_criterion.py +2 -2
  156. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_new_criteria.py +0 -14
  157. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_opencode_agent.py +35 -44
  158. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator.py +3 -4
  159. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_parallel.py +54 -0
  160. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_agent.py +31 -46
  161. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pr_review_workflow.py +19 -28
  162. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_preservation_mode.py +14 -19
  163. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_prose_budget.py +222 -13
  164. coder_eval-0.12.3/tests/test_prose_budget_commands.py +35 -0
  165. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_permissions.py +39 -50
  166. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_regrade.py +55 -87
  167. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_junit.py +1 -1
  168. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_helpers.py +2 -2
  169. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_resolver.py +3 -2
  170. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_metrics.py +7 -11
  171. coder_eval-0.12.2/tests/test_aggregate.py → coder_eval-0.12.3/tests/test_run_summary_rebuild.py +227 -69
  172. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox.py +8 -12
  173. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_adopt.py +110 -0
  174. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_record_cli.py +8 -10
  175. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_templates.py +5 -8
  176. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_venv_live.py +6 -16
  177. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_seed_from_prior_result.py +15 -16
  178. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_events.py +1 -5
  179. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sub_agent_runner.py +3 -4
  180. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_suite_rollup.py +5 -4
  181. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_tags.py +8 -13
  182. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_task_definition_unknown_fields.py +2 -2
  183. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_teardown_interrupt.py +6 -6
  184. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_telemetry.py +3 -3
  185. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_exceptions.py +1 -1
  186. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_close_window.py +20 -27
  187. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_identity_contract.py +43 -100
  188. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_ungraded_reporting.py +4 -2
  189. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_verify_published_workflow.py +14 -21
  190. {coder_eval-0.12.2 → coder_eval-0.12.3}/uv.lock +1 -1
  191. coder_eval-0.12.2/.github/scripts/harbor_e2e.py +0 -163
  192. coder_eval-0.12.2/src/coder_eval/cli/aggregate_command.py +0 -153
  193. coder_eval-0.12.2/tests/_fixtures/harbor_export_golden/expected/tests/test.sh +0 -17
  194. coder_eval-0.12.2/tests/lint/doc_env_parity.py +0 -148
  195. coder_eval-0.12.2/tests/lint/doc_schema_parity.py +0 -98
  196. coder_eval-0.12.2/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -52
  197. coder_eval-0.12.2/tests/lint/rules/ce059_generation_window_is_two_reads.py +0 -79
  198. coder_eval-0.12.2/tests/lint/rules/ce060_message_id_declared.py +0 -112
  199. coder_eval-0.12.2/tests/lint/rules/ce063_no_busy_ms_in_agents.py +0 -105
  200. coder_eval-0.12.2/tests/lint/rules/ce064_turn_bracket_on_the_clock.py +0 -116
  201. coder_eval-0.12.2/tests/lint/rules/no_cli_imports_in_core.py +0 -63
  202. coder_eval-0.12.2/tests/lint/rules/yaml_models_forbid_extras.py +0 -147
  203. coder_eval-0.12.2/tests/test_evaluate_command.py +0 -218
  204. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review-full.md +0 -0
  205. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review-wf.md +0 -0
  206. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-code-review.md +0 -0
  207. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-create-plan.md +0 -0
  208. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-implement-plan.md +0 -0
  209. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/commands/coder-eval-review.md +0 -0
  210. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/notes/persistence.md +0 -0
  211. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/axes.md +0 -0
  212. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/multi-model-review.md +0 -0
  213. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/shared/review-rubric.md +0 -0
  214. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/workflows/cr-axis.js +0 -0
  215. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude/workflows/cr-parent.js +0 -0
  216. {coder_eval-0.12.2 → coder_eval-0.12.3}/.claude-plugin/marketplace.json +0 -0
  217. {coder_eval-0.12.2 → coder_eval-0.12.3}/.env.example +0 -0
  218. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/CODEOWNERS +0 -0
  219. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
  220. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  221. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  222. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/actionlint.yaml +0 -0
  223. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/code_review.md +0 -0
  224. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/dependabot.yml +0 -0
  225. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/pages-stub/index.html +0 -0
  226. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/scripts/release_notes.py +0 -0
  227. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/claude-pr-review.yml +0 -0
  228. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/codeql.yml +0 -0
  229. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/conventional-commits.yml +0 -0
  230. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/docker-publish.yml +0 -0
  231. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/docs.yml +0 -0
  232. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/pr-checks.yml +0 -0
  233. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/publish-testpypi.yml +0 -0
  234. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/release.yml +0 -0
  235. {coder_eval-0.12.2 → coder_eval-0.12.3}/.github/workflows/verify-published-action.yml +0 -0
  236. {coder_eval-0.12.2 → coder_eval-0.12.3}/.gitignore +0 -0
  237. {coder_eval-0.12.2 → coder_eval-0.12.3}/.pre-commit-config.yaml +0 -0
  238. {coder_eval-0.12.2 → coder_eval-0.12.3}/.python-version +0 -0
  239. {coder_eval-0.12.2 → coder_eval-0.12.3}/ADOPTERS.md +0 -0
  240. {coder_eval-0.12.2 → coder_eval-0.12.3}/CODE_OF_CONDUCT.md +0 -0
  241. {coder_eval-0.12.2 → coder_eval-0.12.3}/CONTRIBUTING.md +0 -0
  242. {coder_eval-0.12.2 → coder_eval-0.12.3}/LICENSE +0 -0
  243. {coder_eval-0.12.2 → coder_eval-0.12.3}/NOTICE +0 -0
  244. {coder_eval-0.12.2 → coder_eval-0.12.3}/README.md +0 -0
  245. {coder_eval-0.12.2 → coder_eval-0.12.3}/SECURITY.md +0 -0
  246. {coder_eval-0.12.2 → coder_eval-0.12.3}/comparison.md +0 -0
  247. {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/Dockerfile +0 -0
  248. {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/coder_eval_entrypoint.sh +0 -0
  249. {coder_eval-0.12.2 → coder_eval-0.12.3}/docker/coder_eval_runtime_entrypoint.sh +0 -0
  250. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/AB_EXPERIMENTS.md +0 -0
  251. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/CI_GATE.md +0 -0
  252. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DATASETS.md +0 -0
  253. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/DIALOG_MODE.md +0 -0
  254. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/EXTENDING.md +0 -0
  255. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/PLUGIN.md +0 -0
  256. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/TASK_DEFINITION_GUIDE.md +0 -0
  257. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/ANTIGRAVITY.md +0 -0
  258. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/CLAUDE_CODE.md +0 -0
  259. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/CODEX.md +0 -0
  260. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/HARNESS_PARITY.md +0 -0
  261. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/OPENCODE.md +0 -0
  262. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/agents/PI.md +0 -0
  263. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/assets/hero.gif +0 -0
  264. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/comparison.md +0 -0
  265. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/index.md +0 -0
  266. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/llms.txt +0 -0
  267. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/01-first-evaluation.md +0 -0
  268. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/02-ci-pipeline.md +0 -0
  269. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/03-evalboard-local.md +0 -0
  270. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/04-writing-a-task.md +0 -0
  271. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/05-comparing-models.md +0 -0
  272. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/06-use-docker-isolation.md +0 -0
  273. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
  274. {coder_eval-0.12.2 → coder_eval-0.12.3}/docs/tutorials/README.md +0 -0
  275. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/.gitignore +0 -0
  276. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/README.md +0 -0
  277. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
  278. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/harness-selector.test.tsx +0 -0
  279. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
  280. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/__tests__/skeleton.test.tsx +0 -0
  281. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/col-help.tsx +0 -0
  282. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/collapsible-rail.tsx +0 -0
  283. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/harness-badge.tsx +0 -0
  284. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/harness-selector.tsx +0 -0
  285. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/scroll-table.tsx +0 -0
  286. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/search-box.tsx +0 -0
  287. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/skeleton.tsx +0 -0
  288. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/unit-toggle.tsx +0 -0
  289. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_components/version-list.tsx +0 -0
  290. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
  291. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_lib/source-param.ts +0 -0
  292. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
  293. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
  294. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
  295. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/daily-chart.tsx +0 -0
  296. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
  297. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/harness-legend.tsx +0 -0
  298. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/harness-series.ts +0 -0
  299. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/tag-rail.tsx +0 -0
  300. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
  301. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
  302. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/_overview/window-summary.tsx +0 -0
  303. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/download/route.ts +0 -0
  304. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/file/route.ts +0 -0
  305. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
  306. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/api/refresh/route.ts +0 -0
  307. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/error.tsx +0 -0
  308. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/globals.css +0 -0
  309. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/icon.png +0 -0
  310. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/layout.tsx +0 -0
  311. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/loading.tsx +0 -0
  312. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/page.tsx +0 -0
  313. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
  314. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/page.tsx +0 -0
  315. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/path-to-ga/task-table.tsx +0 -0
  316. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/scribe/page.tsx +0 -0
  317. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/scribe/run-table.tsx +0 -0
  318. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
  319. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/actions.ts +0 -0
  320. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/page.tsx +0 -0
  321. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/trends/trends-view.tsx +0 -0
  322. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
  323. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/page.tsx +0 -0
  324. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
  325. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/next-env.d.ts +0 -0
  326. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/next.config.mjs +0 -0
  327. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/package.json +0 -0
  328. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/pnpm-lock.yaml +0 -0
  329. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/postcss.config.mjs +0 -0
  330. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/antigravity.png +0 -0
  331. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/claude-code.png +0 -0
  332. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/codex.png +0 -0
  333. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/harness/pi.png +0 -0
  334. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/public/uipath.png +0 -0
  335. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/tailwind.config.ts +0 -0
  336. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/tsconfig.json +0 -0
  337. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/vitest.config.ts +0 -0
  338. {coder_eval-0.12.2 → coder_eval-0.12.3}/evalboard/vitest.setup.ts +0 -0
  339. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/default.yaml +0 -0
  340. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/early-stop-ab.yaml +0 -0
  341. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/model-comparison.yaml +0 -0
  342. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/permissions-smoke.yaml +0 -0
  343. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/plugin-comparison.yaml +0 -0
  344. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/prompt-mutations-example.yaml +0 -0
  345. {coder_eval-0.12.2 → coder_eval-0.12.3}/experiments/smoke_variants.yaml +0 -0
  346. {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/README.md +0 -0
  347. {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/cost_logger.py +0 -0
  348. {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/litellm-config.yaml +0 -0
  349. {coder_eval-0.12.2 → coder_eval-0.12.3}/litellm/start-litellm.sh +0 -0
  350. {coder_eval-0.12.2 → coder_eval-0.12.3}/mkdocs.yml +0 -0
  351. {coder_eval-0.12.2 → coder_eval-0.12.3}/osv-scanner.toml +0 -0
  352. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/README.md +0 -0
  353. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/cli-setup.md +0 -0
  354. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/criteria.md +0 -0
  355. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/repo-layout.md +0 -0
  356. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/task-rubric.md +0 -0
  357. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
  358. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
  359. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
  360. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
  361. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/ci/SKILL.md +0 -0
  362. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/init/SKILL.md +0 -0
  363. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
  364. {coder_eval-0.12.2 → coder_eval-0.12.3}/plugins/coder-eval/skills/task/SKILL.md +0 -0
  365. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/check_commit_msg.sh +0 -0
  366. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/README.md +0 -0
  367. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/antigravity.json +0 -0
  368. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/claude-code.json +0 -0
  369. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/codex.json +0 -0
  370. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/opencode.json +0 -0
  371. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/corpus/pi.json +0 -0
  372. {coder_eval-0.12.2 → coder_eval-0.12.3}/scripts/timing/decompose_run.py +0 -0
  373. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/.gitattributes +0 -0
  374. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agent.py +0 -0
  375. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/__init__.py +0 -0
  376. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/_logging.py +0 -0
  377. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/_skills.py +0 -0
  378. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/antigravity_agent.py +0 -0
  379. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/claude_code_agent.py +0 -0
  380. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/codex_agent.py +0 -0
  381. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/noop_agent.py +0 -0
  382. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/opencode_agent.py +0 -0
  383. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/pi_agent.py +0 -0
  384. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/registry.py +0 -0
  385. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/agents/watchdog.py +0 -0
  386. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/analysis.py +0 -0
  387. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/argv_match.py +0 -0
  388. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/console.py +0 -0
  389. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/evaluate_target.py +0 -0
  390. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/execute_command.py +0 -0
  391. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/harbor_command.py +0 -0
  392. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/plan_command.py +0 -0
  393. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/run_helpers.py +0 -0
  394. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/cli/utils.py +0 -0
  395. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/__init__.py +0 -0
  396. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
  397. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/agent_judge.py +0 -0
  398. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/classification_match.py +0 -0
  399. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/command_executed.py +0 -0
  400. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/commands_efficiency.py +0 -0
  401. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_check.py +0 -0
  402. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_contains.py +0 -0
  403. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_exists.py +0 -0
  404. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/file_matches_regex.py +0 -0
  405. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/json_check.py +0 -0
  406. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/llm_judge.py +0 -0
  407. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/reference_comparison.py +0 -0
  408. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/run_command.py +0 -0
  409. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/skill_triggered.py +0 -0
  410. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/criteria/uipath_eval.py +0 -0
  411. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/durations.py +0 -0
  412. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/__init__.py +0 -0
  413. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/agent.py +0 -0
  414. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/budget.py +0 -0
  415. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/categories.py +0 -0
  416. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/categorization.py +0 -0
  417. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/checker_misuse.py +0 -0
  418. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/executor.py +0 -0
  419. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/judge.py +0 -0
  420. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/reference.py +0 -0
  421. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/retry.py +0 -0
  422. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/errors/timeout.py +0 -0
  423. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/__init__.py +0 -0
  424. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/checker.py +0 -0
  425. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
  426. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
  427. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_context.py +0 -0
  428. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_litellm.py +0 -0
  429. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_models.py +0 -0
  430. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_persistence.py +0 -0
  431. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/judge_usage.py +0 -0
  432. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/sub_agent.py +0 -0
  433. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/summaries.py +0 -0
  434. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/evaluation/verdict_tool.py +0 -0
  435. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/formatting.py +0 -0
  436. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/fs_permissions.py +0 -0
  437. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/__init__.py +0 -0
  438. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/agent.py +0 -0
  439. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/agent_paths.py +0 -0
  440. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_emit.py +0 -0
  441. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_hydrate.py +0 -0
  442. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/atif_models.py +0 -0
  443. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/harbor/reward.py +0 -0
  444. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/invocation_log.py +0 -0
  445. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/isolation/__init__.py +0 -0
  446. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/litellm_cost.py +0 -0
  447. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/logging_config.py +0 -0
  448. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/agent_config.py +0 -0
  449. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/cli_match.py +0 -0
  450. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/enums.py +0 -0
  451. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/experiment.py +0 -0
  452. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/judge.py +0 -0
  453. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/judge_defaults.py +0 -0
  454. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/limits.py +0 -0
  455. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/merge_strategy.py +0 -0
  456. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/mutations.py +0 -0
  457. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/results.py +0 -0
  458. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/routing.py +0 -0
  459. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/sandbox.py +0 -0
  460. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/tasks.py +0 -0
  461. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/telemetry.py +0 -0
  462. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/models/templates.py +0 -0
  463. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/__init__.py +0 -0
  464. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/config.py +0 -0
  465. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/config_merge.py +0 -0
  466. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/evaluation.py +0 -0
  467. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/experiment.py +0 -0
  468. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/overrides.py +0 -0
  469. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/run_limits.py +0 -0
  470. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/orchestration/task_loader.py +0 -0
  471. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/plugins.py +0 -0
  472. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/pricing.py +0 -0
  473. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/py.typed +0 -0
  474. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/__init__.py +0 -0
  475. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/experiment.py +0 -0
  476. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/html.py +0 -0
  477. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/junit.py +0 -0
  478. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/reports/markdown.py +0 -0
  479. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/__init__.py +0 -0
  480. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
  481. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/resources/tags.yaml +0 -0
  482. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/result_metrics.py +0 -0
  483. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/run_record.py +0 -0
  484. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/__init__.py +0 -0
  485. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/ast_similarity.py +0 -0
  486. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/complexity.py +0 -0
  487. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/quality.py +0 -0
  488. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/signature_similarity.py +0 -0
  489. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/similarity.py +0 -0
  490. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/scoring/token_similarity.py +0 -0
  491. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/__init__.py +0 -0
  492. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/termination.py +0 -0
  493. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/simulation/user_simulator.py +0 -0
  494. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/stats.py +0 -0
  495. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/__init__.py +0 -0
  496. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/callbacks.py +0 -0
  497. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/collector.py +0 -0
  498. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/events.py +0 -0
  499. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/renderers.py +0 -0
  500. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/streaming/wire.py +0 -0
  501. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/telemetry.py +0 -0
  502. {coder_eval-0.12.2 → coder_eval-0.12.3}/src/coder_eval/utils.py +0 -0
  503. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/README.md +0 -0
  504. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agentless_smoke_test.yaml +0 -0
  505. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/antigravity_hello_world.yaml +0 -0
  506. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
  507. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_hello_world.yaml +0 -0
  508. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_hello_world_docker.yaml +0 -0
  509. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
  510. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/claude_subagent_test.yaml +0 -0
  511. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
  512. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_hello_world.yaml +0 -0
  513. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_parallel_commands.yaml +0 -0
  514. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
  515. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_skills_test.yaml +0 -0
  516. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_string_utils.yaml +0 -0
  517. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/codex_subagent_test.yaml +0 -0
  518. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/subagent_bash_long_input.yaml +0 -0
  519. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/agents/subagent_merge_sort.yaml +0 -0
  520. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
  521. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/anti_cheat_reference/reference/solution.py +0 -0
  522. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/byod_smoke_test.yaml +0 -0
  523. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dataset_example.yaml +0 -0
  524. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/datasets/sentiment.jsonl +0 -0
  525. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
  526. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
  527. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
  528. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/environment/input.txt +0 -0
  529. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
  530. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
  531. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
  532. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
  533. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
  534. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/fibonacci_with_template.yaml +0 -0
  535. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/hello_date.yaml +0 -0
  536. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/inline_starter_example.yaml +0 -0
  537. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/internal/session_resumption.yaml +0 -0
  538. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_smoke.yaml +0 -0
  539. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
  540. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
  541. {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
  542. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
  543. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
  544. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/opencode_smoke_test.yaml +0 -0
  545. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/pi_smoke_test.yaml +0 -0
  546. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
  547. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/record_cli_responses.yaml +0 -0
  548. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/run_limits/max_turns_cap.yaml +0 -0
  549. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/run_limits/turn_timeout.yaml +0 -0
  550. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
  551. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
  552. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
  553. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
  554. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
  555. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
  556. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/README.md +0 -0
  557. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
  558. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
  559. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
  560. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
  561. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
  562. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
  563. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
  564. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
  565. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
  566. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
  567. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/sentiment_classification.yaml +0 -0
  568. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_agent_judge.yaml +0 -0
  569. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_budget_exceeded.yaml +0 -0
  570. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
  571. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_llm_judge.yaml +0 -0
  572. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_negative_path.yaml +0 -0
  573. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_task_timeout.yaml +0 -0
  574. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/smoke_variants.yaml +0 -0
  575. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/test_sandbox.yaml +0 -0
  576. {coder_eval-0.12.2 → coder_eval-0.12.3}/tasks/token_check.yaml +0 -0
  577. {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/byod_smoke_test/Dockerfile +0 -0
  578. {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/README.md +0 -0
  579. {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/src/main.py +0 -0
  580. {coder_eval-0.12.2 → coder_eval-0.12.3}/templates/fibonacci-starter/tests/test_main.py +0 -0
  581. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/__init__.py +0 -0
  582. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/__init__.py +0 -0
  583. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/__init__.py +0 -0
  584. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/antigravity_fixtures.py +0 -0
  585. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
  586. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_a_single_text_turn.json +0 -0
  587. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_b_tool_call_resolved.json +0 -0
  588. {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
  589. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_d_orphaned_tool.json +0 -0
  590. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/antigravity_e_multi_generation.json +0 -0
  591. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
  592. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
  593. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
  594. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
  595. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
  596. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
  597. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
  598. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
  599. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
  600. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
  601. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
  602. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
  603. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
  604. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
  605. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
  606. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
  607. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
  608. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
  609. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_a_single_text_turn.json +0 -0
  610. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_b_tool_call_resolved.json +0 -0
  611. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_c_multi_step_tiling.json +0 -0
  612. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_d_orphaned_tool.json +0 -0
  613. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/opencode_e_error_after_generation.json +0 -0
  614. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_a_single_text_turn.json +0 -0
  615. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_b_tool_call_resolved.json +0 -0
  616. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_c_multi_turn_tiling.json +0 -0
  617. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_d_orphaned_tool.json +0 -0
  618. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_e_error_after_generation.json +0 -0
  619. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/golden_streams/expected/pi_f_duplicate_turn_end.json +0 -0
  620. {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
  621. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/environment/docker-compose.yaml +0 -0
  622. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/environment/task.yaml +0 -0
  623. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/instruction.md +0 -0
  624. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/tests/reference/greeting.txt +0 -0
  625. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/expected/tests/task.yaml +0 -0
  626. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/source_task/reference/greeting.txt +0 -0
  627. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/harbor_export_golden/source_task/task.yaml +0 -0
  628. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/live_criteria.py +0 -0
  629. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/__init__.py +0 -0
  630. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
  631. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
  632. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
  633. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
  634. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/run_full.md +0 -0
  635. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
  636. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_fixtures/timing_union_cases.json +0 -0
  637. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/_path_helpers.py +0 -0
  638. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/conftest.py +0 -0
  639. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/__init__.py +0 -0
  640. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/atif/known_good_trajectory.json +0 -0
  641. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
  642. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
  643. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/mock_agent.py +0 -0
  644. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/pi_happy_stream.jsonl +0 -0
  645. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
  646. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
  647. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
  648. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/fixtures/text_stub_agent.py +0 -0
  649. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/docker_baseline.yaml +0 -0
  650. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/harbor_e2e/fixtures/template_sources.yaml +0 -0
  651. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/__init__.py +0 -0
  652. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/generated.py +0 -0
  653. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/pyright_config.py +0 -0
  654. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/__init__.py +0 -0
  655. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/base.py +0 -0
  656. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
  657. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
  658. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
  659. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
  660. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
  661. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_silent_except.py +0 -0
  662. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_submodule_model_imports.py +0 -0
  663. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
  664. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/open_explicit_encoding.py +0 -0
  665. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
  666. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/register_criterion_required.py +0 -0
  667. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
  668. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/lint/violation.py +0 -0
  669. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_optional_type.py +0 -0
  670. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_config_registry_dispatch.py +0 -0
  671. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_judge_criterion.py +0 -0
  672. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_telemetry_advanced.py +0 -0
  673. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agent_timeout.py +0 -0
  674. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_agentless.py +0 -0
  675. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_emit.py +0 -0
  676. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_hydrate.py +0 -0
  677. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_atif_models.py +0 -0
  678. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byoa_plugin.py +0 -0
  679. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byoa_plugin_live.py +0 -0
  680. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_byod_feature.py +0 -0
  681. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_check_all_async.py +0 -0
  682. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_checker_logging.py +0 -0
  683. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_classification_match.py +0 -0
  684. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_claude_settings_enforcement_live.py +0 -0
  685. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cleanup_preservation_guard.py +0 -0
  686. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_backend_flag.py +0 -0
  687. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_empty_glob.py +0 -0
  688. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_match_parity.py +0 -0
  689. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_sdk_options.py +0 -0
  690. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_set_overrides.py +0 -0
  691. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_telemetry.py +0 -0
  692. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cli_type_flag.py +0 -0
  693. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_code_review_bugs.py +0 -0
  694. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_agent_live.py +0 -0
  695. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_codex_token_mapping.py +0 -0
  696. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_command_telemetry_result_data.py +0 -0
  697. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_commands_efficiency.py +0 -0
  698. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_lineage.py +0 -0
  699. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_merge_engine.py +0 -0
  700. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_config_precedence.py +0 -0
  701. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_continuous_scoring.py +0 -0
  702. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_cost_accounting_paths.py +0 -0
  703. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_criterion_result_round_trip.py +0 -0
  704. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_dataset_expansion.py +0 -0
  705. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_debug_logging.py +0 -0
  706. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_litellm_env.py +0 -0
  707. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_runner_stream_limit.py +0 -0
  708. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_wildcard_env.py +0 -0
  709. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_docker_workdir_live.py +0 -0
  710. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_driver_resolver.py +0 -0
  711. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_durations.py +0 -0
  712. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluate_format_harbor.py +0 -0
  713. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluate_target.py +0 -0
  714. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_evaluator.py +0 -0
  715. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_execute_format_harbor.py +0 -0
  716. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_cli.py +0 -0
  717. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_loader.py +0 -0
  718. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_experiment_models.py +0 -0
  719. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_file_check.py +0 -0
  720. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_file_contains_scoring.py +0 -0
  721. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_formatting.py +0 -0
  722. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_git_clone_failure.py +0 -0
  723. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_glob_paths_in_file_criteria.py +0 -0
  724. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_harbor_reward.py +0 -0
  725. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_heartbeat_watchdog.py +0 -0
  726. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_ignore_patterns_negation.py +0 -0
  727. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_integration.py +0 -0
  728. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_json_check.py +0 -0
  729. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_bedrock.py +0 -0
  730. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_burn_in_live.py +0 -0
  731. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_judge_litellm.py +0 -0
  732. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_lint_no_top_level_run_limits.py +0 -0
  733. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_lint_runner.py +0 -0
  734. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_config.py +0 -0
  735. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_cost.py +0 -0
  736. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_cost_logger.py +0 -0
  737. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_litellm_judge_live.py +0 -0
  738. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_log_tail_buffer.py +0 -0
  739. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_logging.py +0 -0
  740. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_logging_isolation.py +0 -0
  741. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_characterization.py +0 -0
  742. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_strategy_annotations.py +0 -0
  743. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_merge_unification.py +0 -0
  744. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_models.py +0 -0
  745. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_mutations.py +0 -0
  746. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_node_env_config.py +0 -0
  747. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_optional_dependencies.py +0 -0
  748. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator_error_log_tail.py +0 -0
  749. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_orchestrator_telemetry.py +0 -0
  750. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_overrides_engine.py +0 -0
  751. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_path_utils.py +0 -0
  752. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_agent_config.py +0 -0
  753. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pi_smoke_task.py +0 -0
  754. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plan_command.py +0 -0
  755. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plugin_processing.py +0 -0
  756. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_plugins.py +0 -0
  757. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_post_run.py +0 -0
  758. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pre_run.py +0 -0
  759. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pricing_mirror.py +0 -0
  760. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_pricing_registry.py +0 -0
  761. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_comparison_scoring.py +0 -0
  762. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_evaluator.py +0 -0
  763. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_missing_file.py +0 -0
  764. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reference_models.py +0 -0
  765. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_registry.py +0 -0
  766. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_release_notes.py +0 -0
  767. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_replicate_stats.py +0 -0
  768. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_report_command.py +0 -0
  769. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports.py +0 -0
  770. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_html.py +0 -0
  771. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_reports_package.py +0 -0
  772. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_resolve_task_files.py +0 -0
  773. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_result_metrics.py +0 -0
  774. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_resume.py +0 -0
  775. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_retry_logic_comprehensive.py +0 -0
  776. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_route_seam_exhaustiveness.py +0 -0
  777. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_routing.py +0 -0
  778. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_command_junit.py +0 -0
  779. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_command_stdout.py +0 -0
  780. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_models.py +0 -0
  781. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_limits_orchestrator.py +0 -0
  782. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_run_record.py +0 -0
  783. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_runtime_tool_versions.py +0 -0
  784. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_layer_builder.py +0 -0
  785. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_optional.py +0 -0
  786. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_security.py +0 -0
  787. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sandbox_symlink_preservation.py +0 -0
  788. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_scorers.py +0 -0
  789. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_scoring_quality.py +0 -0
  790. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_sdk_option_classification.py +0 -0
  791. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_config.py +0 -0
  792. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_integration.py +0 -0
  793. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_termination.py +0 -0
  794. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_simulation_trials.py +0 -0
  795. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_skill_triggered.py +0 -0
  796. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_stats.py +0 -0
  797. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_stats_nonfinite.py +0 -0
  798. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_agent_integration.py +0 -0
  799. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_batch.py +0 -0
  800. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_callbacks.py +0 -0
  801. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_cli.py +0 -0
  802. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_orchestrator.py +0 -0
  803. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_renderers.py +0 -0
  804. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_streaming_wire.py +0 -0
  805. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_success_criterion_union.py +0 -0
  806. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_summaries.py +0 -0
  807. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_template_env_expansion.py +0 -0
  808. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_threshold_enforcement.py +0 -0
  809. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_batch.py +0 -0
  810. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_categorization.py +0 -0
  811. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_models.py +0 -0
  812. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timeout_orchestrator.py +0 -0
  813. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_timing_union_parity.py +0 -0
  814. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_token_usage.py +0 -0
  815. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_uipath_eval.py +0 -0
  816. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_user_simulator.py +0 -0
  817. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_utils.py +0 -0
  818. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_utterance_extraction.py +0 -0
  819. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_variant_prompt_file.py +0 -0
  820. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_verdict_tool.py +0 -0
  821. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_visible_turn_cap.py +0 -0
  822. {coder_eval-0.12.2 → coder_eval-0.12.3}/tests/test_watchdog.py +0 -0
  823. {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 one number, not a lint rule
50
-
51
- `make docs-budget` reports the standing total and fails when it grows. It is deliberately
52
- **not** a `CE` rule: `tests/lint/rules/` polices per-pattern invariants one AST at a time,
53
- while this is a single whole-tree total. Making it a rule would mean a rule class, a rule
54
- test and a catalogue entry to enforce one integer enlarging the harness the budget
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
- Each rule's authoritative rationale is its own module docstring under
63
- `tests/lint/rules/` or, for the doc-surface and whole-tree rules, the corresponding
64
- `@pytest.mark.lint` class in `tests/test_custom_lint.py`. Read that before editing,
65
- suppressing or widening a rule. No prose summary is kept here: a second copy is a second
66
- declaration, and it is the one that goes stale.
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