agentevolve-optimizer 0.5.0__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 (757) hide show
  1. agentevolve_optimizer-0.5.0/LICENSE +21 -0
  2. agentevolve_optimizer-0.5.0/PKG-INFO +599 -0
  3. agentevolve_optimizer-0.5.0/README.md +552 -0
  4. agentevolve_optimizer-0.5.0/pyproject.toml +124 -0
  5. agentevolve_optimizer-0.5.0/setup.cfg +4 -0
  6. agentevolve_optimizer-0.5.0/src/agent_evolve/__init__.py +722 -0
  7. agentevolve_optimizer-0.5.0/src/agent_evolve/agentic.py +2800 -0
  8. agentevolve_optimizer-0.5.0/src/agent_evolve/api.py +767 -0
  9. agentevolve_optimizer-0.5.0/src/agent_evolve/application/__init__.py +1580 -0
  10. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_allocation.py +744 -0
  11. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_allocation_frame.py +347 -0
  12. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_allocation_frame_commit.py +185 -0
  13. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_allocation_frame_commit_v3.py +184 -0
  14. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_allocation_frame_v3.py +338 -0
  15. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_archive_value.py +497 -0
  16. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_evidence_consistency.py +455 -0
  17. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_forecast_partitioning.py +1471 -0
  18. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_metric_projection.py +211 -0
  19. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_role_value.py +680 -0
  20. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_score_authorities.py +363 -0
  21. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_structural_signature.py +116 -0
  22. agentevolve_optimizer-0.5.0/src/agent_evolve/application/action_target_realization.py +402 -0
  23. agentevolve_optimizer-0.5.0/src/agent_evolve/application/agentic_evolution.py +7734 -0
  24. agentevolve_optimizer-0.5.0/src/agent_evolve/application/agentic_portfolio_residual_expert.py +835 -0
  25. agentevolve_optimizer-0.5.0/src/agent_evolve/application/anchor_residual_identification.py +463 -0
  26. agentevolve_optimizer-0.5.0/src/agent_evolve/application/archive_conditioned_action_target.py +208 -0
  27. agentevolve_optimizer-0.5.0/src/agent_evolve/application/artifact_journal.py +246 -0
  28. agentevolve_optimizer-0.5.0/src/agent_evolve/application/artifact_replay.py +347 -0
  29. agentevolve_optimizer-0.5.0/src/agent_evolve/application/budgeted_optimizer.py +1828 -0
  30. agentevolve_optimizer-0.5.0/src/agent_evolve/application/calibrated_campaign.py +485 -0
  31. agentevolve_optimizer-0.5.0/src/agent_evolve/application/calibrated_current_prefix_forecast_opportunity.py +322 -0
  32. agentevolve_optimizer-0.5.0/src/agent_evolve/application/calibrated_positive_gain_opportunity.py +1581 -0
  33. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_capacity_recourse.py +254 -0
  34. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_contextual_outcomes.py +119 -0
  35. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_diagnostic_blocks.py +930 -0
  36. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_evidence_registry.py +262 -0
  37. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_execution.py +2537 -0
  38. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_generation_audit.py +942 -0
  39. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_learning.py +1812 -0
  40. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_learning_runtime.py +1977 -0
  41. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_search_phase.py +227 -0
  42. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_selector_context_extension.py +220 -0
  43. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_variation_envelope.py +649 -0
  44. agentevolve_optimizer-0.5.0/src/agent_evolve/application/campaign_variation_trace.py +451 -0
  45. agentevolve_optimizer-0.5.0/src/agent_evolve/application/candidate_archive_consequence.py +128 -0
  46. agentevolve_optimizer-0.5.0/src/agent_evolve/application/causal_opportunity_portfolio_gate.py +385 -0
  47. agentevolve_optimizer-0.5.0/src/agent_evolve/application/composite_outcome_updater.py +145 -0
  48. agentevolve_optimizer-0.5.0/src/agent_evolve/application/composition_portfolio_selection.py +363 -0
  49. agentevolve_optimizer-0.5.0/src/agent_evolve/application/concurrent_stage.py +144 -0
  50. agentevolve_optimizer-0.5.0/src/agent_evolve/application/contextual_action_allocation.py +181 -0
  51. agentevolve_optimizer-0.5.0/src/agent_evolve/application/contextual_campaign_outcomes.py +267 -0
  52. agentevolve_optimizer-0.5.0/src/agent_evolve/application/contextual_campaign_planning.py +1366 -0
  53. agentevolve_optimizer-0.5.0/src/agent_evolve/application/contextual_delayed_credit.py +651 -0
  54. agentevolve_optimizer-0.5.0/src/agent_evolve/application/contextual_search_controller.py +2374 -0
  55. agentevolve_optimizer-0.5.0/src/agent_evolve/application/current_prefix_forecast_opportunity.py +714 -0
  56. agentevolve_optimizer-0.5.0/src/agent_evolve/application/decision_metric_projection.py +112 -0
  57. agentevolve_optimizer-0.5.0/src/agent_evolve/application/derived_action_semantics.py +129 -0
  58. agentevolve_optimizer-0.5.0/src/agent_evolve/application/detailed_evaluation.py +449 -0
  59. agentevolve_optimizer-0.5.0/src/agent_evolve/application/earned_lineage.py +1011 -0
  60. agentevolve_optimizer-0.5.0/src/agent_evolve/application/effective_choice_audit.py +484 -0
  61. agentevolve_optimizer-0.5.0/src/agent_evolve/application/empirical_consequence_calibration.py +908 -0
  62. agentevolve_optimizer-0.5.0/src/agent_evolve/application/evaluation_accounting.py +325 -0
  63. agentevolve_optimizer-0.5.0/src/agent_evolve/application/evaluation_cache.py +199 -0
  64. agentevolve_optimizer-0.5.0/src/agent_evolve/application/evaluation_escrow.py +547 -0
  65. agentevolve_optimizer-0.5.0/src/agent_evolve/application/evaluation_recourse.py +253 -0
  66. agentevolve_optimizer-0.5.0/src/agent_evolve/application/event_recorder.py +151 -0
  67. agentevolve_optimizer-0.5.0/src/agent_evolve/application/evolution_campaign.py +1840 -0
  68. agentevolve_optimizer-0.5.0/src/agent_evolve/application/executable_hypothesis.py +323 -0
  69. agentevolve_optimizer-0.5.0/src/agent_evolve/application/factorial_branch_pilot.py +772 -0
  70. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_acquisition_capacity_recourse.py +672 -0
  71. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_acquisition_residual_expert.py +373 -0
  72. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_acquisition_variation_envelope.py +802 -0
  73. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_action_hypothesis_semantics.py +446 -0
  74. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_action_selection.py +188 -0
  75. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_action_set.py +306 -0
  76. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_action_transition.py +537 -0
  77. agentevolve_optimizer-0.5.0/src/agent_evolve/application/finite_variation_eligibility.py +296 -0
  78. agentevolve_optimizer-0.5.0/src/agent_evolve/application/forecast_geometry_portfolio.py +799 -0
  79. agentevolve_optimizer-0.5.0/src/agent_evolve/application/forecast_opportunity_shadow_calibration.py +316 -0
  80. agentevolve_optimizer-0.5.0/src/agent_evolve/application/front_proximity_admission.py +311 -0
  81. agentevolve_optimizer-0.5.0/src/agent_evolve/application/front_proximity_parent_basis.py +458 -0
  82. agentevolve_optimizer-0.5.0/src/agent_evolve/application/frozen_hurdle_score.py +659 -0
  83. agentevolve_optimizer-0.5.0/src/agent_evolve/application/g3_causal_screen.py +2257 -0
  84. agentevolve_optimizer-0.5.0/src/agent_evolve/application/g3_causal_validation.py +1046 -0
  85. agentevolve_optimizer-0.5.0/src/agent_evolve/application/g3_postseal_curation.py +818 -0
  86. agentevolve_optimizer-0.5.0/src/agent_evolve/application/gated_agentic_generator.py +205 -0
  87. agentevolve_optimizer-0.5.0/src/agent_evolve/application/generation_feedback.py +293 -0
  88. agentevolve_optimizer-0.5.0/src/agent_evolve/application/generative_proposal_journal.py +185 -0
  89. agentevolve_optimizer-0.5.0/src/agent_evolve/application/geometry_conditional_elasticity.py +453 -0
  90. agentevolve_optimizer-0.5.0/src/agent_evolve/application/global_wave_action_allocation.py +1151 -0
  91. agentevolve_optimizer-0.5.0/src/agent_evolve/application/head_mass_conditional_seat.py +268 -0
  92. agentevolve_optimizer-0.5.0/src/agent_evolve/application/identifiable_reflection_evidence.py +1147 -0
  93. agentevolve_optimizer-0.5.0/src/agent_evolve/application/identifiable_reflection_learning.py +395 -0
  94. agentevolve_optimizer-0.5.0/src/agent_evolve/application/identifiable_reflection_request.py +364 -0
  95. agentevolve_optimizer-0.5.0/src/agent_evolve/application/in_memory_residual_archive.py +341 -0
  96. agentevolve_optimizer-0.5.0/src/agent_evolve/application/insight_memory.py +1804 -0
  97. agentevolve_optimizer-0.5.0/src/agent_evolve/application/live_runtime_manifest.py +758 -0
  98. agentevolve_optimizer-0.5.0/src/agent_evolve/application/llm_task_queue.py +769 -0
  99. agentevolve_optimizer-0.5.0/src/agent_evolve/application/matched_finite_action_block.py +409 -0
  100. agentevolve_optimizer-0.5.0/src/agent_evolve/application/materialized_action_broker.py +2328 -0
  101. agentevolve_optimizer-0.5.0/src/agent_evolve/application/materialized_action_constraints.py +83 -0
  102. agentevolve_optimizer-0.5.0/src/agent_evolve/application/materialized_variation.py +211 -0
  103. agentevolve_optimizer-0.5.0/src/agent_evolve/application/multi_option_evolution.py +1536 -0
  104. agentevolve_optimizer-0.5.0/src/agent_evolve/application/outcome_adaptive_action_racing.py +2827 -0
  105. agentevolve_optimizer-0.5.0/src/agent_evolve/application/outcome_adaptive_residual_campaign_runtime.py +580 -0
  106. agentevolve_optimizer-0.5.0/src/agent_evolve/application/outcome_adaptive_residual_portfolio_evolution.py +3671 -0
  107. agentevolve_optimizer-0.5.0/src/agent_evolve/application/outcome_conditioned_portfolio_selection.py +1374 -0
  108. agentevolve_optimizer-0.5.0/src/agent_evolve/application/outcome_relation.py +193 -0
  109. agentevolve_optimizer-0.5.0/src/agent_evolve/application/paired_allocation_comparison.py +241 -0
  110. agentevolve_optimizer-0.5.0/src/agent_evolve/application/paired_block_schedule.py +127 -0
  111. agentevolve_optimizer-0.5.0/src/agent_evolve/application/parent_measurement.py +226 -0
  112. agentevolve_optimizer-0.5.0/src/agent_evolve/application/pareto_archive.py +811 -0
  113. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_campaign_runtime.py +4739 -0
  114. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_evolution.py +2950 -0
  115. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_hypothesis_observations.py +814 -0
  116. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_memory_attribution.py +581 -0
  117. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_memory_dose.py +788 -0
  118. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_memory_matched_control.py +938 -0
  119. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_memory_transfer.py +297 -0
  120. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_optimization_memory.py +363 -0
  121. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_outcome_feedback.py +1613 -0
  122. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_projection.py +335 -0
  123. agentevolve_optimizer-0.5.0/src/agent_evolve/application/portfolio_recombination.py +2032 -0
  124. agentevolve_optimizer-0.5.0/src/agent_evolve/application/post_evolution_reflection.py +834 -0
  125. agentevolve_optimizer-0.5.0/src/agent_evolve/application/postcommit_rank_authority.py +245 -0
  126. agentevolve_optimizer-0.5.0/src/agent_evolve/application/precommitted_portfolio_racing.py +2762 -0
  127. agentevolve_optimizer-0.5.0/src/agent_evolve/application/prequential_archive_opportunity_calibration.py +1154 -0
  128. agentevolve_optimizer-0.5.0/src/agent_evolve/application/prequential_residual_exploration.py +343 -0
  129. agentevolve_optimizer-0.5.0/src/agent_evolve/application/prequential_score_portfolio.py +954 -0
  130. agentevolve_optimizer-0.5.0/src/agent_evolve/application/projections.py +292 -0
  131. agentevolve_optimizer-0.5.0/src/agent_evolve/application/protected_action_committee.py +1027 -0
  132. agentevolve_optimizer-0.5.0/src/agent_evolve/application/protected_branch_pilot.py +376 -0
  133. agentevolve_optimizer-0.5.0/src/agent_evolve/application/protected_current_prefix_forecast_opportunity.py +552 -0
  134. agentevolve_optimizer-0.5.0/src/agent_evolve/application/provider_replay.py +910 -0
  135. agentevolve_optimizer-0.5.0/src/agent_evolve/application/rank_balanced_causal_pilot.py +1372 -0
  136. agentevolve_optimizer-0.5.0/src/agent_evolve/application/recombination_residual_expert.py +403 -0
  137. agentevolve_optimizer-0.5.0/src/agent_evolve/application/reflection_workflow.py +571 -0
  138. agentevolve_optimizer-0.5.0/src/agent_evolve/application/region_conditional_credit.py +911 -0
  139. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_campaign_runtime.py +531 -0
  140. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_headroom_campaign_runtime.py +459 -0
  141. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_headroom_ledger.py +1544 -0
  142. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_learning_transaction.py +396 -0
  143. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_portfolio_evolution.py +1228 -0
  144. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_reachability.py +749 -0
  145. agentevolve_optimizer-0.5.0/src/agent_evolve/application/residual_stage_credit.py +499 -0
  146. agentevolve_optimizer-0.5.0/src/agent_evolve/application/same_prefix_paired_audit.py +1580 -0
  147. agentevolve_optimizer-0.5.0/src/agent_evolve/application/semantic_coverage_score_portfolio.py +838 -0
  148. agentevolve_optimizer-0.5.0/src/agent_evolve/application/sequential_lineage_allocation.py +1017 -0
  149. agentevolve_optimizer-0.5.0/src/agent_evolve/application/sequential_market_replay.py +1395 -0
  150. agentevolve_optimizer-0.5.0/src/agent_evolve/application/sequential_residual_campaign_runtime.py +305 -0
  151. agentevolve_optimizer-0.5.0/src/agent_evolve/application/sequential_residual_portfolio_evolution.py +940 -0
  152. agentevolve_optimizer-0.5.0/src/agent_evolve/application/single_score_action_allocation.py +299 -0
  153. agentevolve_optimizer-0.5.0/src/agent_evolve/application/source_exposure_allocation.py +906 -0
  154. agentevolve_optimizer-0.5.0/src/agent_evolve/application/staged_memory.py +210 -0
  155. agentevolve_optimizer-0.5.0/src/agent_evolve/application/stratified_cold_start_allocation.py +732 -0
  156. agentevolve_optimizer-0.5.0/src/agent_evolve/application/support_guarded_hurdle_score.py +549 -0
  157. agentevolve_optimizer-0.5.0/src/agent_evolve/application/target_conditioned_action_forecast.py +595 -0
  158. agentevolve_optimizer-0.5.0/src/agent_evolve/application/target_conditioned_campaign.py +566 -0
  159. agentevolve_optimizer-0.5.0/src/agent_evolve/application/treatment_assignment.py +201 -0
  160. agentevolve_optimizer-0.5.0/src/agent_evolve/application/trusted_objective_evidence.py +217 -0
  161. agentevolve_optimizer-0.5.0/src/agent_evolve/application/two_stage_action_evolution.py +1131 -0
  162. agentevolve_optimizer-0.5.0/src/agent_evolve/application/v8lite_allocation_policy.py +1083 -0
  163. agentevolve_optimizer-0.5.0/src/agent_evolve/application/v9_candidate_policy.py +1303 -0
  164. agentevolve_optimizer-0.5.0/src/agent_evolve/bootstrap.py +108 -0
  165. agentevolve_optimizer-0.5.0/src/agent_evolve/campaign_presets.py +517 -0
  166. agentevolve_optimizer-0.5.0/src/agent_evolve/campaign_profiles.py +452 -0
  167. agentevolve_optimizer-0.5.0/src/agent_evolve/campaign_variation_topology.py +288 -0
  168. agentevolve_optimizer-0.5.0/src/agent_evolve/campaign_workload.py +950 -0
  169. agentevolve_optimizer-0.5.0/src/agent_evolve/cli.py +797 -0
  170. agentevolve_optimizer-0.5.0/src/agent_evolve/contract.py +241 -0
  171. agentevolve_optimizer-0.5.0/src/agent_evolve/core/__init__.py +91 -0
  172. agentevolve_optimizer-0.5.0/src/agent_evolve/core/action_semantics.py +411 -0
  173. agentevolve_optimizer-0.5.0/src/agent_evolve/core/authored.py +105 -0
  174. agentevolve_optimizer-0.5.0/src/agent_evolve/core/formatting.py +286 -0
  175. agentevolve_optimizer-0.5.0/src/agent_evolve/core/optimization_semantics.py +324 -0
  176. agentevolve_optimizer-0.5.0/src/agent_evolve/core/problem.py +167 -0
  177. agentevolve_optimizer-0.5.0/src/agent_evolve/core/results.py +323 -0
  178. agentevolve_optimizer-0.5.0/src/agent_evolve/core/stats.py +70 -0
  179. agentevolve_optimizer-0.5.0/src/agent_evolve/core/telemetry.py +100 -0
  180. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/__init__.py +89 -0
  181. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/artifact.py +162 -0
  182. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/durable_text.py +68 -0
  183. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/event.py +1454 -0
  184. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/finite_action_set.py +426 -0
  185. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/finite_variation.py +526 -0
  186. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/generative_emission.py +559 -0
  187. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/ids.py +163 -0
  188. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/inline_text.py +106 -0
  189. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/insight.py +27 -0
  190. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/lineage.py +737 -0
  191. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/llm_task_queue.py +960 -0
  192. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/outcome.py +96 -0
  193. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/patch.py +854 -0
  194. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/typed_json.py +542 -0
  195. agentevolve_optimizer-0.5.0/src/agent_evolve/domain/variation_space.py +158 -0
  196. agentevolve_optimizer-0.5.0/src/agent_evolve/driver.py +1014 -0
  197. agentevolve_optimizer-0.5.0/src/agent_evolve/harness/__init__.py +29 -0
  198. agentevolve_optimizer-0.5.0/src/agent_evolve/harness/base.py +242 -0
  199. agentevolve_optimizer-0.5.0/src/agent_evolve/harness/directives.py +163 -0
  200. agentevolve_optimizer-0.5.0/src/agent_evolve/harness/generative_seal.py +479 -0
  201. agentevolve_optimizer-0.5.0/src/agent_evolve/harness/registry.py +41 -0
  202. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/__init__.py +39 -0
  203. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/artifacts/__init__.py +6 -0
  204. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/artifacts/_verification.py +67 -0
  205. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/artifacts/filesystem.py +343 -0
  206. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/artifacts/in_memory.py +73 -0
  207. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/asyncio_runtime.py +109 -0
  208. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/authored_runtime.py +188 -0
  209. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/authored_worker.py +171 -0
  210. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/clock.py +53 -0
  211. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/events/__init__.py +6 -0
  212. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/events/_validation.py +89 -0
  213. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/events/in_memory.py +56 -0
  214. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/events/jsonl.py +193 -0
  215. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/exception_provenance.py +215 -0
  216. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/ids.py +118 -0
  217. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/lineage_codec.py +1836 -0
  218. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/outcome_adaptive_phase_journal.py +170 -0
  219. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/residual_headroom_journal.py +221 -0
  220. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/resource_lease.py +370 -0
  221. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/sanitization/__init__.py +8 -0
  222. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/sanitization/strict_json.py +484 -0
  223. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/sequential_phase_journal.py +170 -0
  224. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/stream_liveness.py +383 -0
  225. agentevolve_optimizer-0.5.0/src/agent_evolve/infrastructure/subprocess_boundary.py +136 -0
  226. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/__init__.py +1 -0
  227. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/__init__.py +28 -0
  228. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi.py +190 -0
  229. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi_batch.py +155 -0
  230. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi_batch_identity.py +20 -0
  231. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi_batch_worker.py +55 -0
  232. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi_identity.py +22 -0
  233. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/finite_qlognehvi_worker.py +55 -0
  234. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/subprocess_qlognehvi.py +261 -0
  235. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/botorch/subprocess_qlognehvi_batch.py +273 -0
  236. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/completion.py +242 -0
  237. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/__init__.py +441 -0
  238. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/action_forecast.py +1068 -0
  239. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/agentic_generator.py +2308 -0
  240. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/async_generator.py +1604 -0
  241. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/boundary_codec.py +1526 -0
  242. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/calibrated_portfolio_campaign.py +756 -0
  243. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/calibrated_portfolio_selection.py +7537 -0
  244. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/campaign_acquisition.py +609 -0
  245. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/execution_binding.py +138 -0
  246. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/forecast_geometry_action_committee.py +217 -0
  247. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/harness.py +159 -0
  248. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/heterogeneous_model_execution.py +306 -0
  249. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/hierarchical_residual_adaptive_semantic_view.py +179 -0
  250. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/json_schema_dialect.py +108 -0
  251. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/materialized_hierarchical_residual_expert.py +952 -0
  252. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/materialized_portfolio_judge.py +520 -0
  253. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/model_execution_profile.py +659 -0
  254. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/outbound_request_manifest.py +1170 -0
  255. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/portable_residual_consequence_features.py +575 -0
  256. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/portfolio_selection.py +422 -0
  257. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/progress_aware_openrouter.py +416 -0
  258. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/provider_attempt_join.py +1523 -0
  259. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/provider_free_calibrated_runner.py +607 -0
  260. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/queued_runner.py +2634 -0
  261. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/reconciled_residual_reachability.py +1417 -0
  262. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/residual_forecast_geometry.py +445 -0
  263. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/residual_reachability.py +674 -0
  264. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/residual_semantic_cells.py +239 -0
  265. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/sealed_output_replay.py +1068 -0
  266. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/semantic_coverage_residual_portfolio.py +770 -0
  267. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/semantic_decision_replay.py +383 -0
  268. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/support_adaptive_residual_portfolio.py +135 -0
  269. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/trusted_residual_prompt_context.py +143 -0
  270. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pydantic_ai/validated_openrouter_model.py +107 -0
  271. agentevolve_optimizer-0.5.0/src/agent_evolve/integrations/pymoo_adapter.py +242 -0
  272. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/__init__.py +17 -0
  273. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/check.py +469 -0
  274. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/emit_scaffold.py +451 -0
  275. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/feedback/__init__.py +37 -0
  276. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/feedback/held_out_asn.py +1325 -0
  277. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/genetic.py +607 -0
  278. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_backoff.py +183 -0
  279. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_chooser.py +226 -0
  280. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_generator.py +1760 -0
  281. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_init.py +267 -0
  282. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_operator.py +109 -0
  283. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_prior.py +194 -0
  284. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/llm_surrogate.py +334 -0
  285. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/measurement_evidence.py +704 -0
  286. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/__init__.py +223 -0
  287. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/balanced_subset_blocks.py +707 -0
  288. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/compatibility_matching.py +593 -0
  289. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/global_falsification.py +1841 -0
  290. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/prompt_shape.py +503 -0
  291. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/randomized_subset.py +714 -0
  292. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/staged_causal.py +1270 -0
  293. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/memory/treatment_compliance.py +759 -0
  294. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/objective_resolution/__init__.py +17 -0
  295. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/objective_resolution/fixed_grid.py +364 -0
  296. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/operator_portfolio.py +407 -0
  297. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reguidance.py +1133 -0
  298. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/__init__.py +83 -0
  299. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/affine_candidate_consequence.py +156 -0
  300. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/affine_candidate_consequence_3d.py +159 -0
  301. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/affine_hypervolume.py +490 -0
  302. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/affine_hypervolume_3d.py +567 -0
  303. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/contextual_marginal_utility.py +318 -0
  304. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/frozen_archive.py +360 -0
  305. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/reward/frozen_wave_archive.py +368 -0
  306. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/search_state.py +208 -0
  307. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/__init__.py +345 -0
  308. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/acquisition_certified_slate.py +684 -0
  309. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/affine_frontier_context.py +330 -0
  310. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/affine_frontier_target.py +473 -0
  311. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/archive_elite.py +1346 -0
  312. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/calibrated_portfolio_binding.py +640 -0
  313. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/calibrated_slate.py +1394 -0
  314. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/calibrated_slate_codec.py +579 -0
  315. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/common_candidate_pool.py +685 -0
  316. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/diagnostic_sampling.py +319 -0
  317. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/disjoint_pairs.py +479 -0
  318. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/elite_explorer.py +719 -0
  319. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/finite_action.py +187 -0
  320. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/finite_option_prompt_projection.py +377 -0
  321. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/finite_palette_evidence.py +247 -0
  322. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/forecast_calibration.py +922 -0
  323. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/frontier_probe_slate.py +814 -0
  324. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/frozen_archive_pairs.py +762 -0
  325. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/full_support_slate.py +91 -0
  326. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/meaningful_direction.py +240 -0
  327. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/memory_dose_feasibility.py +259 -0
  328. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/model_anchored_slate.py +826 -0
  329. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/phenotype_recourse.py +979 -0
  330. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/proposal_support.py +368 -0
  331. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/random_portfolio.py +254 -0
  332. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/regret_bounded_slate.py +1084 -0
  333. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/residual_frontier.py +463 -0
  334. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/residual_frontier_target.py +605 -0
  335. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/structural_posterior_slate.py +1571 -0
  336. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/target_conditioned_allocator.py +648 -0
  337. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/target_conditioned_features.py +812 -0
  338. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/target_conditioned_prequential.py +1527 -0
  339. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/selection/task_keyed_palette.py +906 -0
  340. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/semantics.py +147 -0
  341. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/structure.py +362 -0
  342. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/structured_output_budget.py +62 -0
  343. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/surrogate.py +696 -0
  344. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/__init__.py +1 -0
  345. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/compositional_finite_catalog.py +426 -0
  346. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/crossover_inheritance.py +575 -0
  347. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/disjoint_recombination.py +611 -0
  348. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/exact_composition_capacity.py +214 -0
  349. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/exact_parent_crossover.py +950 -0
  350. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/multiscale_restart_catalog.py +372 -0
  351. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/source_union_finite_catalog.py +403 -0
  352. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/variation/typed_patch.py +1981 -0
  353. agentevolve_optimizer-0.5.0/src/agent_evolve/policies/weighted_prior.py +394 -0
  354. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/__init__.py +383 -0
  355. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_allocation.py +733 -0
  356. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_allocation_frame.py +1153 -0
  357. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_allocation_frame_commit.py +294 -0
  358. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_allocation_frame_commit_v3.py +432 -0
  359. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_allocation_frame_v3.py +995 -0
  360. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_forecast.py +1568 -0
  361. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/action_metric_projection.py +165 -0
  362. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/agentic_generator.py +1561 -0
  363. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/archive_context.py +136 -0
  364. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/artifact_sanitizer.py +44 -0
  365. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/artifact_store.py +225 -0
  366. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/clock.py +13 -0
  367. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/contextual_search_allocation.py +827 -0
  368. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/decision_metric_projection.py +258 -0
  369. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/event_store.py +55 -0
  370. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/executable_hypothesis.py +557 -0
  371. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_acquisition.py +377 -0
  372. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_acquisition_batch.py +296 -0
  373. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_acquisition_batch_json.py +164 -0
  374. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_acquisition_json.py +247 -0
  375. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_acquisition_space.py +168 -0
  376. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_action_selection.py +348 -0
  377. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/finite_action_set.py +256 -0
  378. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/frontier_target.py +396 -0
  379. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/generation_failure.py +43 -0
  380. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/hard_feasibility.py +233 -0
  381. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/id_factory.py +34 -0
  382. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/llm_task_queue.py +93 -0
  383. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/objective_resolution.py +419 -0
  384. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/paired_allocation_comparison.py +401 -0
  385. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/paired_block_schedule.py +475 -0
  386. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/parent_measurement.py +336 -0
  387. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/portfolio_memory_dose.py +643 -0
  388. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/portfolio_selection.py +3169 -0
  389. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/postcommit_rank_authority.py +467 -0
  390. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/presented_action_evidence.py +794 -0
  391. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/resource_lease.py +162 -0
  392. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/structured_generator.py +734 -0
  393. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/structured_output_budget.py +120 -0
  394. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/subprocess_boundary.py +138 -0
  395. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/treatment_assignment.py +466 -0
  396. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/variation_catalog.py +76 -0
  397. agentevolve_optimizer-0.5.0/src/agent_evolve/ports/variation_source.py +226 -0
  398. agentevolve_optimizer-0.5.0/src/agent_evolve/proposal_mode.py +157 -0
  399. agentevolve_optimizer-0.5.0/src/agent_evolve/proposers/__init__.py +10 -0
  400. agentevolve_optimizer-0.5.0/src/agent_evolve/proposers/random_proposer.py +188 -0
  401. agentevolve_optimizer-0.5.0/src/agent_evolve/provider_accounting.py +163 -0
  402. agentevolve_optimizer-0.5.0/src/agent_evolve/py.typed +0 -0
  403. agentevolve_optimizer-0.5.0/src/agent_evolve/reference_method.py +1570 -0
  404. agentevolve_optimizer-0.5.0/src/agent_evolve/session/__init__.py +11 -0
  405. agentevolve_optimizer-0.5.0/src/agent_evolve/session/authorship.py +864 -0
  406. agentevolve_optimizer-0.5.0/src/agent_evolve/session/evaluate.py +236 -0
  407. agentevolve_optimizer-0.5.0/src/agent_evolve/session/fidelity.py +237 -0
  408. agentevolve_optimizer-0.5.0/src/agent_evolve/session/genetic_loop.py +742 -0
  409. agentevolve_optimizer-0.5.0/src/agent_evolve/session/loop.py +803 -0
  410. agentevolve_optimizer-0.5.0/src/agent_evolve/session/screening.py +671 -0
  411. agentevolve_optimizer-0.5.0/src/agent_evolve/settings.py +376 -0
  412. agentevolve_optimizer-0.5.0/src/agent_evolve/workload_kit.py +368 -0
  413. agentevolve_optimizer-0.5.0/src/agent_evolve/workload_prompt.py +398 -0
  414. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/PKG-INFO +599 -0
  415. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/SOURCES.txt +755 -0
  416. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/dependency_links.txt +1 -0
  417. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/entry_points.txt +2 -0
  418. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/requires.txt +33 -0
  419. agentevolve_optimizer-0.5.0/src/agentevolve_optimizer.egg-info/top_level.txt +1 -0
  420. agentevolve_optimizer-0.5.0/tests/test_acquisition_certified_slate.py +423 -0
  421. agentevolve_optimizer-0.5.0/tests/test_action_allocation_frame.py +1734 -0
  422. agentevolve_optimizer-0.5.0/tests/test_action_evidence_consistency.py +562 -0
  423. agentevolve_optimizer-0.5.0/tests/test_action_forecast_allocation.py +1963 -0
  424. agentevolve_optimizer-0.5.0/tests/test_action_forecast_partitioning.py +1148 -0
  425. agentevolve_optimizer-0.5.0/tests/test_action_semantics.py +291 -0
  426. agentevolve_optimizer-0.5.0/tests/test_action_target_realization.py +260 -0
  427. agentevolve_optimizer-0.5.0/tests/test_affine_frontier_context.py +731 -0
  428. agentevolve_optimizer-0.5.0/tests/test_affine_hypervolume.py +143 -0
  429. agentevolve_optimizer-0.5.0/tests/test_affine_hypervolume_3d.py +237 -0
  430. agentevolve_optimizer-0.5.0/tests/test_agentic_evolution_engine.py +1739 -0
  431. agentevolve_optimizer-0.5.0/tests/test_agentic_pipeline_v2_replay.py +313 -0
  432. agentevolve_optimizer-0.5.0/tests/test_agentic_public_api.py +1148 -0
  433. agentevolve_optimizer-0.5.0/tests/test_airfoil_convergence_adapter.py +97 -0
  434. agentevolve_optimizer-0.5.0/tests/test_airfoil_v10_exact_stack_conformance.py +610 -0
  435. agentevolve_optimizer-0.5.0/tests/test_airfoil_v10_multi_option_inputs.py +490 -0
  436. agentevolve_optimizer-0.5.0/tests/test_airfoil_v10_multi_option_live.py +349 -0
  437. agentevolve_optimizer-0.5.0/tests/test_airfoil_v10_multi_option_runner.py +1505 -0
  438. agentevolve_optimizer-0.5.0/tests/test_airfoil_v10_runtime_manifest.py +285 -0
  439. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_composition.py +623 -0
  440. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_experiment_runner.py +177 -0
  441. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_finite_oracle.py +357 -0
  442. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_g2_prequeue_gate.py +686 -0
  443. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_g3_live.py +732 -0
  444. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_g3_release.py +414 -0
  445. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_live_launch.py +609 -0
  446. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_oracle_portfolio_development.py +328 -0
  447. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_oracle_portfolio_live_launch.py +314 -0
  448. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_oracle_portfolio_recovery.py +278 -0
  449. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_paired_block_schedule.py +203 -0
  450. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_physics_baseline.py +346 -0
  451. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_postcommit_rank_authority.py +138 -0
  452. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_readiness.py +191 -0
  453. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_selector_only_stability.py +606 -0
  454. agentevolve_optimizer-0.5.0/tests/test_airfoil_v7_two_stage_agent_evolution.py +1283 -0
  455. agentevolve_optimizer-0.5.0/tests/test_airfoil_v8_stage_b_live.py +394 -0
  456. agentevolve_optimizer-0.5.0/tests/test_anchor_residual_identification.py +121 -0
  457. agentevolve_optimizer-0.5.0/tests/test_archive_elite_parent_selection.py +378 -0
  458. agentevolve_optimizer-0.5.0/tests/test_archive_reservoir_parent_selection.py +392 -0
  459. agentevolve_optimizer-0.5.0/tests/test_artifact_journal.py +328 -0
  460. agentevolve_optimizer-0.5.0/tests/test_artifact_replay.py +407 -0
  461. agentevolve_optimizer-0.5.0/tests/test_artifact_sanitization.py +317 -0
  462. agentevolve_optimizer-0.5.0/tests/test_artifact_store_contract.py +634 -0
  463. agentevolve_optimizer-0.5.0/tests/test_async_structured_generator.py +2302 -0
  464. agentevolve_optimizer-0.5.0/tests/test_atomic_variation_catalog.py +235 -0
  465. agentevolve_optimizer-0.5.0/tests/test_authored_runtime.py +130 -0
  466. agentevolve_optimizer-0.5.0/tests/test_balanced_memory_subset_blocks.py +271 -0
  467. agentevolve_optimizer-0.5.0/tests/test_boils_abc_benchmark.py +375 -0
  468. agentevolve_optimizer-0.5.0/tests/test_boils_agentic_public_port.py +159 -0
  469. agentevolve_optimizer-0.5.0/tests/test_boils_budgeted_v5_analysis.py +665 -0
  470. agentevolve_optimizer-0.5.0/tests/test_boils_budgeted_v5_planner.py +764 -0
  471. agentevolve_optimizer-0.5.0/tests/test_boils_budgeted_v5_runner.py +1170 -0
  472. agentevolve_optimizer-0.5.0/tests/test_boils_budgeted_v5_support.py +450 -0
  473. agentevolve_optimizer-0.5.0/tests/test_boils_campaign_reflection.py +525 -0
  474. agentevolve_optimizer-0.5.0/tests/test_boils_campaign_workload.py +131 -0
  475. agentevolve_optimizer-0.5.0/tests/test_boils_compositional_finite_catalog.py +82 -0
  476. agentevolve_optimizer-0.5.0/tests/test_boils_detailed_evaluation_adapter.py +406 -0
  477. agentevolve_optimizer-0.5.0/tests/test_boils_exact_stack_conformance.py +529 -0
  478. agentevolve_optimizer-0.5.0/tests/test_boils_finite_acquisition_space.py +60 -0
  479. agentevolve_optimizer-0.5.0/tests/test_boils_g1_two_call_canary.py +774 -0
  480. agentevolve_optimizer-0.5.0/tests/test_boils_generic_campaign_launch.py +733 -0
  481. agentevolve_optimizer-0.5.0/tests/test_boils_global_restart_catalog.py +100 -0
  482. agentevolve_optimizer-0.5.0/tests/test_botorch_finite_qlognehvi.py +68 -0
  483. agentevolve_optimizer-0.5.0/tests/test_budget_sizing.py +158 -0
  484. agentevolve_optimizer-0.5.0/tests/test_budgeted_optimizer.py +719 -0
  485. agentevolve_optimizer-0.5.0/tests/test_calibrated_anchor_geometry_channel.py +413 -0
  486. agentevolve_optimizer-0.5.0/tests/test_calibrated_campaign_binding.py +276 -0
  487. agentevolve_optimizer-0.5.0/tests/test_calibrated_campaign_public_api.py +148 -0
  488. agentevolve_optimizer-0.5.0/tests/test_calibrated_portfolio_evolution.py +4946 -0
  489. agentevolve_optimizer-0.5.0/tests/test_calibrated_positive_gain_opportunity.py +468 -0
  490. agentevolve_optimizer-0.5.0/tests/test_calibrated_score_informativeness_repair.py +727 -0
  491. agentevolve_optimizer-0.5.0/tests/test_calibrated_slate_policy.py +579 -0
  492. agentevolve_optimizer-0.5.0/tests/test_campaign_acquisition.py +368 -0
  493. agentevolve_optimizer-0.5.0/tests/test_campaign_closed_loop_learning.py +590 -0
  494. agentevolve_optimizer-0.5.0/tests/test_campaign_conservative_promotion.py +250 -0
  495. agentevolve_optimizer-0.5.0/tests/test_campaign_diagnostic_blocks.py +366 -0
  496. agentevolve_optimizer-0.5.0/tests/test_campaign_evaluation_accounting.py +192 -0
  497. agentevolve_optimizer-0.5.0/tests/test_campaign_evidence_registry.py +144 -0
  498. agentevolve_optimizer-0.5.0/tests/test_campaign_execution.py +1112 -0
  499. agentevolve_optimizer-0.5.0/tests/test_campaign_experiment_profile.py +826 -0
  500. agentevolve_optimizer-0.5.0/tests/test_campaign_generation_audit.py +85 -0
  501. agentevolve_optimizer-0.5.0/tests/test_campaign_learning_public_api.py +136 -0
  502. agentevolve_optimizer-0.5.0/tests/test_campaign_learning_runtime_g5.py +981 -0
  503. agentevolve_optimizer-0.5.0/tests/test_campaign_presets.py +309 -0
  504. agentevolve_optimizer-0.5.0/tests/test_candidate_authorship_and_usage.py +144 -0
  505. agentevolve_optimizer-0.5.0/tests/test_check.py +218 -0
  506. agentevolve_optimizer-0.5.0/tests/test_compatibility_matching.py +280 -0
  507. agentevolve_optimizer-0.5.0/tests/test_compiled_hypothesis_treatment.py +492 -0
  508. agentevolve_optimizer-0.5.0/tests/test_completion_seam.py +510 -0
  509. agentevolve_optimizer-0.5.0/tests/test_completion_wire_model.py +132 -0
  510. agentevolve_optimizer-0.5.0/tests/test_composition_portfolio_selection.py +303 -0
  511. agentevolve_optimizer-0.5.0/tests/test_compositional_finite_catalog.py +280 -0
  512. agentevolve_optimizer-0.5.0/tests/test_concurrent_stage.py +126 -0
  513. agentevolve_optimizer-0.5.0/tests/test_contextual_campaign_outcomes.py +120 -0
  514. agentevolve_optimizer-0.5.0/tests/test_contextual_outcome_memory.py +341 -0
  515. agentevolve_optimizer-0.5.0/tests/test_contextual_search_controller.py +1290 -0
  516. agentevolve_optimizer-0.5.0/tests/test_contrast_sharded_reflection_workflow.py +368 -0
  517. agentevolve_optimizer-0.5.0/tests/test_corpus_paths.py +94 -0
  518. agentevolve_optimizer-0.5.0/tests/test_cost_crosscheck.py +344 -0
  519. agentevolve_optimizer-0.5.0/tests/test_crossover_inheritance.py +119 -0
  520. agentevolve_optimizer-0.5.0/tests/test_current_prefix_forecast_opportunity.py +307 -0
  521. agentevolve_optimizer-0.5.0/tests/test_decision_metric_projection.py +548 -0
  522. agentevolve_optimizer-0.5.0/tests/test_dedup_and_hooks.py +41 -0
  523. agentevolve_optimizer-0.5.0/tests/test_detailed_evaluation.py +499 -0
  524. agentevolve_optimizer-0.5.0/tests/test_development_dag_dispatch_codesign.py +346 -0
  525. agentevolve_optimizer-0.5.0/tests/test_diagnostic_sampling.py +111 -0
  526. agentevolve_optimizer-0.5.0/tests/test_disjoint_pair_selection.py +223 -0
  527. agentevolve_optimizer-0.5.0/tests/test_disjoint_patch_recombination.py +417 -0
  528. agentevolve_optimizer-0.5.0/tests/test_earned_lineage.py +340 -0
  529. agentevolve_optimizer-0.5.0/tests/test_effective_choice_audit.py +329 -0
  530. agentevolve_optimizer-0.5.0/tests/test_elite_explorer_parent_selection.py +380 -0
  531. agentevolve_optimizer-0.5.0/tests/test_empirical_consequence_calibration.py +558 -0
  532. agentevolve_optimizer-0.5.0/tests/test_engine_phenotype_identity.py +270 -0
  533. agentevolve_optimizer-0.5.0/tests/test_evaluate.py +179 -0
  534. agentevolve_optimizer-0.5.0/tests/test_evaluation_cache.py +289 -0
  535. agentevolve_optimizer-0.5.0/tests/test_evaluation_escrow.py +270 -0
  536. agentevolve_optimizer-0.5.0/tests/test_evaluation_recourse_application.py +315 -0
  537. agentevolve_optimizer-0.5.0/tests/test_event_domain.py +275 -0
  538. agentevolve_optimizer-0.5.0/tests/test_event_recorder.py +190 -0
  539. agentevolve_optimizer-0.5.0/tests/test_event_store_contract.py +258 -0
  540. agentevolve_optimizer-0.5.0/tests/test_evolution_campaign.py +587 -0
  541. agentevolve_optimizer-0.5.0/tests/test_exact_composition_capacity.py +70 -0
  542. agentevolve_optimizer-0.5.0/tests/test_exact_parent_crossover.py +375 -0
  543. agentevolve_optimizer-0.5.0/tests/test_examples_knapsack.py +47 -0
  544. agentevolve_optimizer-0.5.0/tests/test_exception_provenance.py +92 -0
  545. agentevolve_optimizer-0.5.0/tests/test_executable_hypothesis.py +312 -0
  546. agentevolve_optimizer-0.5.0/tests/test_factorial_branch_pilot.py +289 -0
  547. agentevolve_optimizer-0.5.0/tests/test_finite_acquisition_capacity_recourse.py +376 -0
  548. agentevolve_optimizer-0.5.0/tests/test_finite_acquisition_port.py +74 -0
  549. agentevolve_optimizer-0.5.0/tests/test_finite_acquisition_variation_envelope.py +545 -0
  550. agentevolve_optimizer-0.5.0/tests/test_finite_action_hypothesis_semantics.py +418 -0
  551. agentevolve_optimizer-0.5.0/tests/test_finite_action_set.py +417 -0
  552. agentevolve_optimizer-0.5.0/tests/test_finite_option_prompt_projection.py +133 -0
  553. agentevolve_optimizer-0.5.0/tests/test_finite_palette_structural_evidence.py +122 -0
  554. agentevolve_optimizer-0.5.0/tests/test_finite_variation_eligibility.py +97 -0
  555. agentevolve_optimizer-0.5.0/tests/test_finite_variation_selection.py +386 -0
  556. agentevolve_optimizer-0.5.0/tests/test_fixed_grid_objective_resolution.py +267 -0
  557. agentevolve_optimizer-0.5.0/tests/test_fossil_stream.py +82 -0
  558. agentevolve_optimizer-0.5.0/tests/test_front_proximity_admission.py +335 -0
  559. agentevolve_optimizer-0.5.0/tests/test_front_proximity_parent_basis.py +385 -0
  560. agentevolve_optimizer-0.5.0/tests/test_frozen_archive_pair_selection.py +495 -0
  561. agentevolve_optimizer-0.5.0/tests/test_frozen_archive_reward.py +159 -0
  562. agentevolve_optimizer-0.5.0/tests/test_frozen_wave_archive_reward.py +150 -0
  563. agentevolve_optimizer-0.5.0/tests/test_g3_causal_screen.py +293 -0
  564. agentevolve_optimizer-0.5.0/tests/test_g3_causal_validation.py +316 -0
  565. agentevolve_optimizer-0.5.0/tests/test_gated_agentic_generator.py +206 -0
  566. agentevolve_optimizer-0.5.0/tests/test_generation_failure_classification.py +76 -0
  567. agentevolve_optimizer-0.5.0/tests/test_generative_proposal_seal.py +599 -0
  568. agentevolve_optimizer-0.5.0/tests/test_generator_emit_scaffold.py +545 -0
  569. agentevolve_optimizer-0.5.0/tests/test_generic_driver_acceptance.py +445 -0
  570. agentevolve_optimizer-0.5.0/tests/test_genetic_loop.py +247 -0
  571. agentevolve_optimizer-0.5.0/tests/test_genetic_operators.py +243 -0
  572. agentevolve_optimizer-0.5.0/tests/test_geometry_conditional_elasticity.py +421 -0
  573. agentevolve_optimizer-0.5.0/tests/test_global_hypothesis_falsification.py +834 -0
  574. agentevolve_optimizer-0.5.0/tests/test_harness_equivalence.py +72 -0
  575. agentevolve_optimizer-0.5.0/tests/test_head_mass_conditional_seat.py +415 -0
  576. agentevolve_optimizer-0.5.0/tests/test_headline_defaults.py +306 -0
  577. agentevolve_optimizer-0.5.0/tests/test_heat2d_campaign_workload.py +144 -0
  578. agentevolve_optimizer-0.5.0/tests/test_heat2d_constructive_agentic_port.py +513 -0
  579. agentevolve_optimizer-0.5.0/tests/test_heat2d_delayed_identifiable_campaign.py +419 -0
  580. agentevolve_optimizer-0.5.0/tests/test_heat2d_finite_acquisition_space.py +92 -0
  581. agentevolve_optimizer-0.5.0/tests/test_heat2d_g6_uniform_control.py +240 -0
  582. agentevolve_optimizer-0.5.0/tests/test_heat2d_memory_context_projection.py +775 -0
  583. agentevolve_optimizer-0.5.0/tests/test_heat2d_multiobjective_v1.py +319 -0
  584. agentevolve_optimizer-0.5.0/tests/test_heat2d_runner_process_manifest.py +160 -0
  585. agentevolve_optimizer-0.5.0/tests/test_heterogeneous_model_execution.py +148 -0
  586. agentevolve_optimizer-0.5.0/tests/test_identifiable_reflection_evidence.py +397 -0
  587. agentevolve_optimizer-0.5.0/tests/test_identifiable_reflection_learning.py +574 -0
  588. agentevolve_optimizer-0.5.0/tests/test_identifiable_reflection_request.py +310 -0
  589. agentevolve_optimizer-0.5.0/tests/test_identifiable_reflection_runtime.py +315 -0
  590. agentevolve_optimizer-0.5.0/tests/test_init_scaffold.py +103 -0
  591. agentevolve_optimizer-0.5.0/tests/test_inline_event_text.py +576 -0
  592. agentevolve_optimizer-0.5.0/tests/test_insight_memory.py +371 -0
  593. agentevolve_optimizer-0.5.0/tests/test_launch_record.py +452 -0
  594. agentevolve_optimizer-0.5.0/tests/test_lineage_codec_m4c.py +1085 -0
  595. agentevolve_optimizer-0.5.0/tests/test_lineage_patch_m4b.py +2425 -0
  596. agentevolve_optimizer-0.5.0/tests/test_live_runtime_manifest.py +156 -0
  597. agentevolve_optimizer-0.5.0/tests/test_llm_chooser.py +169 -0
  598. agentevolve_optimizer-0.5.0/tests/test_llm_generator.py +524 -0
  599. agentevolve_optimizer-0.5.0/tests/test_llm_init.py +264 -0
  600. agentevolve_optimizer-0.5.0/tests/test_llm_prior.py +99 -0
  601. agentevolve_optimizer-0.5.0/tests/test_llm_surrogate.py +275 -0
  602. agentevolve_optimizer-0.5.0/tests/test_llm_task_queue.py +1239 -0
  603. agentevolve_optimizer-0.5.0/tests/test_loop_fakes.py +113 -0
  604. agentevolve_optimizer-0.5.0/tests/test_matched_finite_action_block.py +646 -0
  605. agentevolve_optimizer-0.5.0/tests/test_materialized_action_broker.py +961 -0
  606. agentevolve_optimizer-0.5.0/tests/test_materialized_disjoint_engine.py +198 -0
  607. agentevolve_optimizer-0.5.0/tests/test_materialized_hierarchical_residual_expert.py +1693 -0
  608. agentevolve_optimizer-0.5.0/tests/test_meaningful_direction.py +134 -0
  609. agentevolve_optimizer-0.5.0/tests/test_measurement_conditioned.py +857 -0
  610. agentevolve_optimizer-0.5.0/tests/test_memory_dose_feasibility.py +96 -0
  611. agentevolve_optimizer-0.5.0/tests/test_model_anchored_slate_policy.py +728 -0
  612. agentevolve_optimizer-0.5.0/tests/test_model_profile_canary.py +30 -0
  613. agentevolve_optimizer-0.5.0/tests/test_multi_option_evolution.py +889 -0
  614. agentevolve_optimizer-0.5.0/tests/test_multi_option_model_crossover.py +940 -0
  615. agentevolve_optimizer-0.5.0/tests/test_multiscale_restart_catalog.py +164 -0
  616. agentevolve_optimizer-0.5.0/tests/test_numeric_domains.py +203 -0
  617. agentevolve_optimizer-0.5.0/tests/test_numerical_certification_engine_off_path.py +273 -0
  618. agentevolve_optimizer-0.5.0/tests/test_objective_resolution.py +374 -0
  619. agentevolve_optimizer-0.5.0/tests/test_observation_channel.py +165 -0
  620. agentevolve_optimizer-0.5.0/tests/test_openrouter_json_schema_dialect.py +55 -0
  621. agentevolve_optimizer-0.5.0/tests/test_openrouter_model_execution_profile.py +191 -0
  622. agentevolve_optimizer-0.5.0/tests/test_openrouter_outbound_request_manifest.py +530 -0
  623. agentevolve_optimizer-0.5.0/tests/test_openrouter_streaming_conformance.py +684 -0
  624. agentevolve_optimizer-0.5.0/tests/test_operator_portfolio.py +242 -0
  625. agentevolve_optimizer-0.5.0/tests/test_optimization_semantics.py +128 -0
  626. agentevolve_optimizer-0.5.0/tests/test_optimize_strategy.py +168 -0
  627. agentevolve_optimizer-0.5.0/tests/test_outcome_adaptive_action_racing.py +984 -0
  628. agentevolve_optimizer-0.5.0/tests/test_outcome_adaptive_residual_portfolio_evolution.py +1569 -0
  629. agentevolve_optimizer-0.5.0/tests/test_packaging_metadata.py +178 -0
  630. agentevolve_optimizer-0.5.0/tests/test_paired_block_schedule.py +287 -0
  631. agentevolve_optimizer-0.5.0/tests/test_parent_measurement_projection.py +443 -0
  632. agentevolve_optimizer-0.5.0/tests/test_pareto_archive.py +321 -0
  633. agentevolve_optimizer-0.5.0/tests/test_partial_objective_screen.py +588 -0
  634. agentevolve_optimizer-0.5.0/tests/test_patch_native_atomic_mutation.py +670 -0
  635. agentevolve_optimizer-0.5.0/tests/test_phenotype_recourse.py +426 -0
  636. agentevolve_optimizer-0.5.0/tests/test_planned_logical_calls_derivation.py +85 -0
  637. agentevolve_optimizer-0.5.0/tests/test_portfolio_campaign_runtime.py +1259 -0
  638. agentevolve_optimizer-0.5.0/tests/test_portfolio_evolution.py +1487 -0
  639. agentevolve_optimizer-0.5.0/tests/test_portfolio_hypothesis_observations.py +198 -0
  640. agentevolve_optimizer-0.5.0/tests/test_portfolio_memory_attribution.py +114 -0
  641. agentevolve_optimizer-0.5.0/tests/test_portfolio_memory_dose.py +551 -0
  642. agentevolve_optimizer-0.5.0/tests/test_portfolio_memory_matched_control.py +539 -0
  643. agentevolve_optimizer-0.5.0/tests/test_portfolio_optimization_memory.py +185 -0
  644. agentevolve_optimizer-0.5.0/tests/test_portfolio_outcome_feedback.py +312 -0
  645. agentevolve_optimizer-0.5.0/tests/test_portfolio_public_api.py +368 -0
  646. agentevolve_optimizer-0.5.0/tests/test_portfolio_recombination.py +1567 -0
  647. agentevolve_optimizer-0.5.0/tests/test_portfolio_selection.py +1454 -0
  648. agentevolve_optimizer-0.5.0/tests/test_portfolio_stage_transaction.py +526 -0
  649. agentevolve_optimizer-0.5.0/tests/test_post_evolution_reflection.py +502 -0
  650. agentevolve_optimizer-0.5.0/tests/test_postcommit_rank_authority.py +207 -0
  651. agentevolve_optimizer-0.5.0/tests/test_prequential_archive_opportunity_calibration.py +257 -0
  652. agentevolve_optimizer-0.5.0/tests/test_progress_aware_openrouter.py +505 -0
  653. agentevolve_optimizer-0.5.0/tests/test_prompt_shape_commitment.py +224 -0
  654. agentevolve_optimizer-0.5.0/tests/test_protected_action_committee.py +541 -0
  655. agentevolve_optimizer-0.5.0/tests/test_protected_branch_pilot.py +212 -0
  656. agentevolve_optimizer-0.5.0/tests/test_provider_accounting.py +286 -0
  657. agentevolve_optimizer-0.5.0/tests/test_provider_attempt_join.py +901 -0
  658. agentevolve_optimizer-0.5.0/tests/test_provider_cost_reporting.py +81 -0
  659. agentevolve_optimizer-0.5.0/tests/test_provider_credential_routing.py +99 -0
  660. agentevolve_optimizer-0.5.0/tests/test_provider_free_selection_verification.py +67 -0
  661. agentevolve_optimizer-0.5.0/tests/test_proxy_fidelity.py +423 -0
  662. agentevolve_optimizer-0.5.0/tests/test_public_contract.py +375 -0
  663. agentevolve_optimizer-0.5.0/tests/test_public_knobs.py +274 -0
  664. agentevolve_optimizer-0.5.0/tests/test_pybamm_fastcharge_campaign_workload.py +273 -0
  665. agentevolve_optimizer-0.5.0/tests/test_pydantic_action_forecast.py +797 -0
  666. agentevolve_optimizer-0.5.0/tests/test_pydantic_agentic_generator.py +1930 -0
  667. agentevolve_optimizer-0.5.0/tests/test_pydantic_ai_boundary_codec.py +1195 -0
  668. agentevolve_optimizer-0.5.0/tests/test_pymoo_adapter.py +154 -0
  669. agentevolve_optimizer-0.5.0/tests/test_pymoo_swap_acceptance.py +191 -0
  670. agentevolve_optimizer-0.5.0/tests/test_quarantine_test_assignment.py +327 -0
  671. agentevolve_optimizer-0.5.0/tests/test_queued_structured_runner.py +3373 -0
  672. agentevolve_optimizer-0.5.0/tests/test_ragged_genome_recombination.py +127 -0
  673. agentevolve_optimizer-0.5.0/tests/test_random_portfolio_policy.py +156 -0
  674. agentevolve_optimizer-0.5.0/tests/test_randomized_insight_credit.py +503 -0
  675. agentevolve_optimizer-0.5.0/tests/test_rank_balanced_causal_pilot.py +428 -0
  676. agentevolve_optimizer-0.5.0/tests/test_real_campaign_workload_portability.py +1026 -0
  677. agentevolve_optimizer-0.5.0/tests/test_reconciled_residual_reachability.py +341 -0
  678. agentevolve_optimizer-0.5.0/tests/test_recorded_provider_replay.py +579 -0
  679. agentevolve_optimizer-0.5.0/tests/test_recover_calibrated_boils_terminal_reflection.py +66 -0
  680. agentevolve_optimizer-0.5.0/tests/test_reflection_causal_evidence.py +381 -0
  681. agentevolve_optimizer-0.5.0/tests/test_reflection_insight_semantics.py +401 -0
  682. agentevolve_optimizer-0.5.0/tests/test_reflective_feedback.py +973 -0
  683. agentevolve_optimizer-0.5.0/tests/test_region_conditional_credit.py +446 -0
  684. agentevolve_optimizer-0.5.0/tests/test_reguidance.py +1038 -0
  685. agentevolve_optimizer-0.5.0/tests/test_residual_headroom_ledger.py +538 -0
  686. agentevolve_optimizer-0.5.0/tests/test_residual_portfolio_evolution.py +1147 -0
  687. agentevolve_optimizer-0.5.0/tests/test_residual_reachability.py +383 -0
  688. agentevolve_optimizer-0.5.0/tests/test_resource_lease.py +113 -0
  689. agentevolve_optimizer-0.5.0/tests/test_results.py +97 -0
  690. agentevolve_optimizer-0.5.0/tests/test_run_agentic_probe_offline.py +315 -0
  691. agentevolve_optimizer-0.5.0/tests/test_run_agentic_probe_v4_offline.py +227 -0
  692. agentevolve_optimizer-0.5.0/tests/test_run_airfoil_v7_forecast_wire_v3_pilot.py +577 -0
  693. agentevolve_optimizer-0.5.0/tests/test_run_airfoil_v7_g3.py +347 -0
  694. agentevolve_optimizer-0.5.0/tests/test_run_airfoil_v7_two_stage_generation.py +860 -0
  695. agentevolve_optimizer-0.5.0/tests/test_run_airfoil_v7_v5_paired_causal_trial.py +693 -0
  696. agentevolve_optimizer-0.5.0/tests/test_run_airfoil_v7_v5_sealed_end_to_end_replay.py +223 -0
  697. agentevolve_optimizer-0.5.0/tests/test_run_boils_action_shadow_offline.py +545 -0
  698. agentevolve_optimizer-0.5.0/tests/test_run_boils_agentic_pilot_offline.py +247 -0
  699. agentevolve_optimizer-0.5.0/tests/test_run_boils_agentic_pilot_v2_offline.py +442 -0
  700. agentevolve_optimizer-0.5.0/tests/test_run_boils_local_oracle_offline.py +506 -0
  701. agentevolve_optimizer-0.5.0/tests/test_run_boils_recombination_engine_v4_offline.py +625 -0
  702. agentevolve_optimizer-0.5.0/tests/test_run_boils_recombination_v3_offline.py +726 -0
  703. agentevolve_optimizer-0.5.0/tests/test_run_counters_projection.py +316 -0
  704. agentevolve_optimizer-0.5.0/tests/test_run_telemetry.py +101 -0
  705. agentevolve_optimizer-0.5.0/tests/test_run_v6_closed_loop_memory_probe_offline.py +566 -0
  706. agentevolve_optimizer-0.5.0/tests/test_same_prefix_paired_audit.py +321 -0
  707. agentevolve_optimizer-0.5.0/tests/test_scip_miplib_campaign_workload.py +254 -0
  708. agentevolve_optimizer-0.5.0/tests/test_sealed_output_replay.py +501 -0
  709. agentevolve_optimizer-0.5.0/tests/test_search_state.py +117 -0
  710. agentevolve_optimizer-0.5.0/tests/test_semantics.py +125 -0
  711. agentevolve_optimizer-0.5.0/tests/test_sequential_market_replay.py +590 -0
  712. agentevolve_optimizer-0.5.0/tests/test_sequential_phase_journal.py +59 -0
  713. agentevolve_optimizer-0.5.0/tests/test_sequential_residual_portfolio_evolution.py +1537 -0
  714. agentevolve_optimizer-0.5.0/tests/test_settings_dotenv_scope.py +399 -0
  715. agentevolve_optimizer-0.5.0/tests/test_source_exposure_allocation.py +250 -0
  716. agentevolve_optimizer-0.5.0/tests/test_stage_b_real_adapter_authority.py +362 -0
  717. agentevolve_optimizer-0.5.0/tests/test_staged_causal_memory.py +528 -0
  718. agentevolve_optimizer-0.5.0/tests/test_staged_memory_application_integration.py +997 -0
  719. agentevolve_optimizer-0.5.0/tests/test_stratified_cold_start_allocation.py +250 -0
  720. agentevolve_optimizer-0.5.0/tests/test_stream_liveness.py +439 -0
  721. agentevolve_optimizer-0.5.0/tests/test_strict_batched_reflection_workflow.py +156 -0
  722. agentevolve_optimizer-0.5.0/tests/test_structure_phase.py +338 -0
  723. agentevolve_optimizer-0.5.0/tests/test_subprocess_boundary.py +137 -0
  724. agentevolve_optimizer-0.5.0/tests/test_surrogate_gate_policy.py +445 -0
  725. agentevolve_optimizer-0.5.0/tests/test_surrogate_screen.py +404 -0
  726. agentevolve_optimizer-0.5.0/tests/test_systematic_campaign_trace_analysis.py +1074 -0
  727. agentevolve_optimizer-0.5.0/tests/test_systematic_experiment_study.py +567 -0
  728. agentevolve_optimizer-0.5.0/tests/test_systematic_resource_isolation.py +240 -0
  729. agentevolve_optimizer-0.5.0/tests/test_target_conditioned_prequential.py +531 -0
  730. agentevolve_optimizer-0.5.0/tests/test_task_keyed_palette_policy.py +287 -0
  731. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_agentic_port.py +209 -0
  732. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_agentic_port.py +68 -0
  733. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_campaign_workload.py +90 -0
  734. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_candidate_compiler.py +256 -0
  735. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_detailed_evaluation_adapter.py +438 -0
  736. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_evaluator.py +157 -0
  737. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_panel_extractor.py +131 -0
  738. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_provider_free_campaign.py +1386 -0
  739. agentevolve_optimizer-0.5.0/tests/test_timeloop_codesign_v2_runtime_manifest.py +94 -0
  740. agentevolve_optimizer-0.5.0/tests/test_timeloop_residual_portfolio_adapter.py +141 -0
  741. agentevolve_optimizer-0.5.0/tests/test_timeloop_v2_finite_acquisition_space.py +63 -0
  742. agentevolve_optimizer-0.5.0/tests/test_trap_prequential_k8_analysis.py +72 -0
  743. agentevolve_optimizer-0.5.0/tests/test_treatment_assignment.py +358 -0
  744. agentevolve_optimizer-0.5.0/tests/test_treatment_compliance.py +424 -0
  745. agentevolve_optimizer-0.5.0/tests/test_trusted_objective_evidence.py +59 -0
  746. agentevolve_optimizer-0.5.0/tests/test_trusted_residual_prompt_context.py +78 -0
  747. agentevolve_optimizer-0.5.0/tests/test_two_stage_action_evolution.py +973 -0
  748. agentevolve_optimizer-0.5.0/tests/test_uniform_feasible_portfolio_control.py +235 -0
  749. agentevolve_optimizer-0.5.0/tests/test_v4_atomic_mutation.py +346 -0
  750. agentevolve_optimizer-0.5.0/tests/test_v4_insight_eligibility.py +292 -0
  751. agentevolve_optimizer-0.5.0/tests/test_v5_insight_lifecycle.py +200 -0
  752. agentevolve_optimizer-0.5.0/tests/test_v6_closed_loop_workflow.py +213 -0
  753. agentevolve_optimizer-0.5.0/tests/test_v8lite_allocation_policy.py +676 -0
  754. agentevolve_optimizer-0.5.0/tests/test_v9_candidate_policy.py +409 -0
  755. agentevolve_optimizer-0.5.0/tests/test_weighted_prior.py +354 -0
  756. agentevolve_optimizer-0.5.0/tests/test_workload_kit.py +157 -0
  757. agentevolve_optimizer-0.5.0/tests/test_workload_prompt_extension.py +229 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Yigit Polat
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,599 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentevolve-optimizer
3
+ Version: 0.5.0
4
+ Summary: A drop-in NSGA-II replacement whose authored machinery installs only when measurement says it beats the classical path
5
+ License-Expression: MIT
6
+ Project-URL: Homepage, https://github.com/dyigitpolat/agent_evolve
7
+ Project-URL: Source, https://github.com/dyigitpolat/agent_evolve
8
+ Keywords: optimization,multi-objective,pareto,llm,evolutionary
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
+ Requires-Python: >=3.11
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: pydantic<3,>=2.7
20
+ Requires-Dist: python-dotenv<2,>=1.0
21
+ Provides-Extra: llm
22
+ Requires-Dist: pydantic-ai==1.107.1; extra == "llm"
23
+ Requires-Dist: pydantic==2.13.4; extra == "llm"
24
+ Requires-Dist: pydantic-core==2.46.4; extra == "llm"
25
+ Provides-Extra: pydantic-ai
26
+ Requires-Dist: pydantic-ai==1.107.1; extra == "pydantic-ai"
27
+ Requires-Dist: pydantic==2.13.4; extra == "pydantic-ai"
28
+ Requires-Dist: pydantic-core==2.46.4; extra == "pydantic-ai"
29
+ Provides-Extra: research
30
+ Requires-Dist: botorch>=0.11; extra == "research"
31
+ Requires-Dist: numpy>=1.24; extra == "research"
32
+ Provides-Extra: pymoo
33
+ Requires-Dist: pymoo<0.7,>=0.6; extra == "pymoo"
34
+ Provides-Extra: dev
35
+ Requires-Dist: pytest>=7; extra == "dev"
36
+ Requires-Dist: pytest-timeout>=2; extra == "dev"
37
+ Requires-Dist: numpy>=1.24; extra == "dev"
38
+ Provides-Extra: all
39
+ Requires-Dist: pydantic-ai==1.107.1; extra == "all"
40
+ Requires-Dist: pydantic==2.13.4; extra == "all"
41
+ Requires-Dist: pydantic-core==2.46.4; extra == "all"
42
+ Requires-Dist: pymoo<0.7,>=0.6; extra == "all"
43
+ Requires-Dist: pytest>=7; extra == "all"
44
+ Requires-Dist: pytest-timeout>=2; extra == "all"
45
+ Requires-Dist: numpy>=1.24; extra == "all"
46
+ Dynamic: license-file
47
+
48
+ # agent_evolve
49
+
50
+ **A drop-in replacement for NSGA-II that cannot do worse than the classical
51
+ optimizer it replaces.** A language model authors the search's generative
52
+ machinery — the sampler that proposes candidates, the surrogate that screens
53
+ them, the prior that seeds them — and every one of those authored objects has to
54
+ beat a measured comparator on *today's* evidence before it is allowed to act. If
55
+ it does not, it does not run, and the classical path runs instead.
56
+
57
+ So the floor is the classical baseline and the ceiling is measured, not
58
+ promised. That is a guarantee about the machinery, not a hope about the model,
59
+ and the reason we can put it in the first paragraph is that we watched it fire:
60
+
61
+ | the authored object | what arbitration did to it | evidence |
62
+ | --- | --- | --- |
63
+ | model-written **surrogate** for pre-screening | Admitted, then beaten. Across the two columns with plentiful cross-validation evidence it **cleared the gate on 46 refreshes and won 0 of them**; the cheap 100-mapping fidelity took **all 313** installs. In the richest column alone it cleared **41 of 188** refreshes and won none. The guided and rule arms came out **byte-identical on 36/36 paired seeds at both budgets** — a contribution of literally zero. | wave L, `aug15_llm_value_tlv2.md` |
64
+ | measurement-conditioned **re-authoring channel** | Fired **447 times** and came out **below its own shuffled-evidence control**. Does not ship. | wave L, `aug15_measurement_conditioned.md` |
65
+ | graded **locus prior** | Neither beat the stack without it nor separated from its own control. Ships as documented venue knowledge, not as run-time reasoning. | wave N, `aug16_p1b_margin.md` |
66
+ | model **choosing among evolutionary operators** | Eight mechanisms, eight sealed verdicts: guided runs sit at the *unguided* median. The published result is the negative one. | the paper, §ledger |
67
+
68
+ An artifact that clears a gate 46 times and never wins is not being blocked, it
69
+ is being beaten — and *the fallback is the arm that actually ran*. When the
70
+ authored machinery does earn its place, the same instruments say by how much: on
71
+ a real RTL-to-GDS physical-design flow the authored stack reached a sealed target
72
+ in **1.886× fewer charged evaluations than NSGA-II** (median charges, `N = 48` in
73
+ four blocks, `p = 0.0013`) and — the decomposition that makes it attributable
74
+ rather than merely positive — **1.959× fewer than our own credential-free loop**,
75
+ which does not separate from NSGA-II at all.
76
+
77
+ Read [what is measured and what is not](#what-is-measured-and-what-is-not)
78
+ before adopting it. Four of ten measured venues host a claim, and the reasons
79
+ the other six host nothing are published rather than omitted.
80
+
81
+ ---
82
+
83
+ ## Install
84
+
85
+ ```bash
86
+ pip install agentevolve-optimizer # core: pydantic + python-dotenv, nothing else
87
+ pip install 'agentevolve-optimizer[llm]' # adds the model-driven proposer
88
+ pip install 'agentevolve-optimizer[pymoo]' # adds the classical comparator + the swap example
89
+ ```
90
+
91
+ Python 3.11 or newer. The core install has **two** dependencies, needs no
92
+ credential, no provider account and no network, and is a first-class path rather
93
+ than a degraded one: uninformed sampling over the same schema, the same budget
94
+ and the same evaluator is the control every number above is measured against.
95
+
96
+ ## Run it with no credential and no cost
97
+
98
+ ```console
99
+ $ python examples/build_flags/run.py
100
+ generation 0: 7 evaluated, population 7
101
+ generation 1: 6 evaluated, 13 of 40 budget used
102
+ generation 2: 6 evaluated, 17 of 40 budget used
103
+ generation 3: 6 evaluated, 22 of 40 budget used
104
+ generation 4: 7 evaluated, 28 of 40 budget used
105
+ generation 5: 8 evaluated, 34 of 40 budget used
106
+ generation 6: 6 evaluated, 38 of 40 budget used
107
+ generation 7: 2 evaluated, 39 of 40 budget used
108
+ generation 8: 0 evaluated, 39 of 40 budget used
109
+ generation 9: 1 evaluated, 39 of 40 budget used
110
+ generation 10: 0 evaluated, 39 of 40 budget used
111
+ generation 11: 0 evaluated, 39 of 40 budget used
112
+ generation 12: 1 evaluated, 40 of 40 budget used
113
+ budget exhausted after 40 evaluations; stopping at gen 13
114
+
115
+ evaluations 40
116
+ pareto front 11
117
+
118
+ runtime_ms binary_kb configuration
119
+ 604.49 648.82 Ofast avx512 lto=full unroll=0 fast=1 inline=873
120
+ 655.01 511.13 Ofast avx2 lto=full unroll=1 fast=1 inline=32
121
+ 702.86 510.29 Ofast avx2 lto=none unroll=0 fast=1 inline=32
122
+ 727.10 480.83 Ofast sse4 lto=thin unroll=0 fast=1 inline=190
123
+ 757.49 430.52 Ofast none lto=full unroll=0 fast=1 inline=190
124
+ 795.89 285.59 Os avx2 lto=full unroll=1 fast=1 inline=190
125
+ 802.25 270.26 Os avx2 lto=full unroll=1 fast=1 inline=75
126
+ 841.13 252.94 Os avx2 lto=full unroll=0 fast=1 inline=190
127
+ 850.47 239.84 Os avx2 lto=full unroll=0 fast=1 inline=75
128
+ 1016.59 222.10 Os none lto=full unroll=0 fast=1 inline=75
129
+ 1027.03 216.10 Os none lto=full unroll=0 fast=0 inline=75
130
+ ```
131
+
132
+ That is the real loop, on the uninformed sampler, for nothing. `budget` counts
133
+ artifacts measured and it is a hard cap: say 40 and you are billed for 40. The
134
+ generations that evaluate 0 are `validate` doing its work — every child was
135
+ rejected before anything was built, and a rejection is not an artifact. Where a
136
+ generation evaluates more than the budget moves (generation 7 evaluates 2 and
137
+ charges 1), the difference is `materialize` recognising an artifact already
138
+ measured.
139
+
140
+ `inline_threshold` is a bounded integer rather than an enumeration, and the
141
+ front above moves along it — 32, 75, 190, 873. Until 0.5.0 it did not: bounded
142
+ numeric loci declared no finite domain, so the operators left them frozen. At
143
+ the same 40-evaluation budget this front held 6 rows, every one of them at
144
+ `inline=75`.
145
+
146
+ ## Before you spend anything: ask whether *any* optimizer can win here
147
+
148
+ `diagnose` needs no model and no credential. It probes your problem through its
149
+ own `validate`/`materialize`/`evaluate` pipeline and answers the prior question —
150
+ is there headroom at this budget at all?
151
+
152
+ ```console
153
+ $ agent_evolve diagnose examples.build_flags.problem_def:problem --budget 40
154
+ agent_evolve diagnose: examples.build_flags.problem_def:problem
155
+
156
+ problem check: BuildFlags
157
+ budget assessed 40 evaluations
158
+ probe spent 120 draws, 73 evaluated (failure rate 39%)
159
+
160
+ search space (6 loci)
161
+ opt_level:6 vectorize:4 link_time:3 unroll_loops:2 fast_math:2
162
+ inline_threshold:64(projected)
163
+ undeclared domains: none
164
+ ...
165
+ headroom at budget 40
166
+ runtime_ms (min) best of probe 618.31 expected best of 40 random 625.113 +/- 13.2479 headroom 6.80339 [below noise]
167
+ binary_kb (min) best of probe 232 expected best of 40 random 240.515 +/- 14.3874 headroom 8.51526 [below noise]
168
+
169
+ verdict
170
+ The best value the probe found on every objective is within noise of
171
+ what 40 random draws are expected to reach: no optimizer can demonstrate
172
+ an advantage here at this budget. Raise the budget, or reshape the
173
+ search space, before crediting any optimizer with a win.
174
+ ```
175
+
176
+ Note what it just did: it returned a **no-headroom verdict on our own shipped
177
+ example** rather than a win. That is the same arbitration as the table at the
178
+ top, one level up — a tool that will tell you not to use it is the only kind
179
+ whose recommendation means anything.
180
+
181
+ The verdict got *harder* to dismiss in 0.5.0, not easier. It used to arrive with
182
+ a footnote — one of the six loci declared no finite domain, so the probe could
183
+ not vary `inline_threshold` and any headroom along that axis was invisible to
184
+ the check. That axis is now projected onto 64 points and the probe does vary it;
185
+ `undeclared domains: none`. The verdict is the same, and it is now a statement
186
+ about the whole space rather than about five sixths of it. `64(projected)` marks
187
+ an axis read off bounds rather than declared as a set — searchable, but on the
188
+ grid rather than the continuum.
189
+
190
+ When `diagnose` says there *is* headroom, `agent_evolve check` is the next
191
+ question: does a model beat uninformed sampling on your problem, at the same
192
+ budget, against the same evaluator? `--baseline-only` runs just the free arm.
193
+
194
+ ## Replacing NSGA-II: the whole diff
195
+
196
+ `examples/pymoo_swap/` holds two files that optimize the **same pymoo problem
197
+ object**. `nsga2_baseline.py` is what a pymoo user already writes.
198
+ `agentevolve_swap.py` is the same file after the swap. This is the complete
199
+ difference between them:
200
+
201
+ ```diff
202
+ --- examples/pymoo_swap/nsga2_baseline.py
203
+ +++ examples/pymoo_swap/agentevolve_swap.py
204
+ @@
205
+ -"""pymoo NSGA-II on a pymoo problem: the classical arm. See README.md in this directory."""
206
+ +"""agent_evolve on the same pymoo problem: the swapped arm. See README.md in this directory."""
207
+
208
+ from pymoo.problems import get_problem
209
+
210
+ # ---- the problem: untouched by the swap, which is the whole claim -----------
211
+ problem = get_problem("zdt1", n_var=4)
212
+
213
+ # ---- the optimizer: this block, and only this block, is the diff -----------
214
+ -from pymoo.algorithms.moo.nsga2 import NSGA2
215
+ -from pymoo.optimize import minimize
216
+ +from agent_evolve import optimize
217
+ +from agent_evolve.integrations.pymoo_adapter import from_pymoo
218
+
219
+ -res = minimize(problem, NSGA2(pop_size=12), ("n_gen", 5), seed=1, verbose=False)
220
+ -evaluations = res.algorithm.evaluator.n_eval
221
+ -front = sorted((float(row[0]), float(row[1])) for row in res.F)
222
+ +res = optimize(from_pymoo(problem), budget=60, proposer="random", seed=1)
223
+ +evaluations = res.evaluations
224
+ +front = sorted((c.objectives["f0"], c.objectives["f1"]) for c in res.pareto_front)
225
+ ```
226
+
227
+ Six changed lines, of which one is a docstring and two are the import of a
228
+ different optimizer. **Three lines are API contact**: call it, read the
229
+ evaluation count, read the front. Your problem definition does not change at
230
+ all — the pymoo `Problem` object is passed through untouched.
231
+
232
+ Both arms run credential-free, at 60 evaluations each:
233
+
234
+ ```console
235
+ $ python examples/pymoo_swap/nsga2_baseline.py
236
+ arm : nsga2_baseline
237
+ evaluations : 60
238
+ front size : 4
239
+ best f0 : 0.002854
240
+ best f1 : 1.896090
241
+
242
+ $ python examples/pymoo_swap/agentevolve_swap.py
243
+ arm : agentevolve_swap
244
+ evaluations : 60
245
+ front size : 3
246
+ best f0 : 0.000000
247
+ best f1 : 0.869703
248
+ ```
249
+
250
+ `tests/test_pymoo_swap_acceptance.py` **recomputes that diff on every suite run**
251
+ and fails if it grows past six lines, or if the API-contact count moves off
252
+ three, or if the two files stop optimizing the same object. The drop-in claim is
253
+ exactly as true as the diff is short, so the diff is the test and not the prose.
254
+ It also runs both scripts and checks they spent the same budget and reported the
255
+ same quantities. It deliberately does **not** assert which arm wins: that is a
256
+ measurement, not an acceptance criterion.
257
+
258
+ ZDT1 is a smooth continuous problem, which is *not* the regime this tool is for
259
+ (see below). `from_pymoo` quantizes each continuous box-bounded axis onto an
260
+ evenly spaced `Literal` grid — 16 points by default, both endpoints included —
261
+ because the genetic operators read their allowed values from the schema and
262
+ refuse to invent any. If grid resolution is what your problem is about, NSGA-II
263
+ remains the right tool.
264
+
265
+ ### Coming from pymoo: the concept map
266
+
267
+ | pymoo | agent_evolve |
268
+ | --- | --- |
269
+ | `Problem(n_var, n_obj, xl, xu)` box bounds | a pydantic `candidate_model` — fields are the variables, bounds and choices live in the schema |
270
+ | all-minimize `F` columns (negate to maximize) | named `ObjectiveSpec("speed", "max")`; direction is declared, never encoded by sign |
271
+ | `_evaluate(x, out)` filling `out["F"]` | `evaluate(artifact)` returning `{"name": value}`; `materialize()` builds what gets measured, and equal artifacts are paid for once |
272
+ | constraints `out["G"] <= 0` | `validate(config)` returning an explained `ValidationOutcome` (cheap, pre-evaluation), or `ValueError` from `evaluate` (measurement-revealed) |
273
+ | `minimize(problem, NSGA2(pop_size=...), ("n_evals", N))` | `optimize(problem, budget=N)` — budget counts evaluator calls, the expensive thing, and is the only sizing number |
274
+ | `res.X`, `res.F` | `result.pareto_front` (each `Candidate` has `.configuration` and `.objectives`), `result.best` |
275
+ | sampling / initial population | `seeds()` — evaluated first, so the run reports whether it beat what you already had |
276
+
277
+ ## Describing your problem: five obligations
278
+
279
+ That is the whole integration surface (`agent_evolve.contract.Problem`).
280
+ `agent_evolve init` writes this file for you with the parts you own left blank.
281
+
282
+ ```python
283
+ from pydantic import BaseModel, Field
284
+ from agent_evolve import ObjectiveSpec, ValidationOutcome, optimize
285
+
286
+ class Config(BaseModel): # 1. what a candidate looks like
287
+ workers: int = Field(..., ge=1, le=64)
288
+ strategy: str
289
+
290
+ class MyProblem:
291
+ candidate_model = Config
292
+
293
+ objectives = [ # what you are optimizing
294
+ ObjectiveSpec("throughput", "max"),
295
+ ObjectiveSpec("cost", "min"),
296
+ ]
297
+
298
+ def seeds(self): # 2. where to start
299
+ return [{"workers": 8, "strategy": "balanced"}]
300
+
301
+ def validate(self, config): # 3. cheap rejection, explained
302
+ if config["workers"] > 32 and config["strategy"] == "balanced":
303
+ return ValidationOutcome(
304
+ False, "constraint",
305
+ "balanced strategy supports at most 32 workers; "
306
+ "reduce workers or use 'sharded'",
307
+ )
308
+ return ValidationOutcome(True)
309
+
310
+ def materialize(self, config): # 4. candidate -> what you measure
311
+ return (config["workers"], config["strategy"])
312
+
313
+ def evaluate(self, artifact): # 5. measure it
314
+ workers, strategy = artifact
315
+ return {"throughput": ..., "cost": ...}
316
+
317
+ result = optimize(MyProblem(), budget=40)
318
+ print(result.best.configuration, result.best.objectives)
319
+ ```
320
+
321
+ The `validate` message is fed back to the proposer verbatim, so say what is
322
+ wrong **and** what would be acceptable.
323
+
324
+ **Why `materialize` is separate from `evaluate`.** Two configurations often
325
+ produce the same artifact — the same build, the same mapping, the same
326
+ deployment. Materializing first means the second one is free instead of being
327
+ paid for twice. Put anything cheap and deterministic there and keep `evaluate`
328
+ for the expensive part.
329
+
330
+ **Declare your domains in the schema.** Anything that reads it — including the
331
+ baseline — then draws only legal candidates.
332
+
333
+ **A bounded number is a domain.** Since 0.5.0, `workers: int = Field(..., ge=1,
334
+ le=64)` above is a searchable axis: bounded integers are enumerated outright
335
+ when the span is at most **64** and projected onto 64 evenly spread points
336
+ otherwise, and a doubly bounded `float` becomes a **16**-point grid with a point
337
+ on each inclusive endpoint. `multipleOf` is honoured, so every value the
338
+ projection emits is one the schema would accept, and an excluded endpoint is
339
+ never emitted. If an axis deserves a different resolution, say so on the field:
340
+
341
+ ```python
342
+ inline_threshold: int = Field(..., ge=0, le=1000,
343
+ json_schema_extra={"agent_evolve": {"grid": 16}})
344
+ # 16 points: 0, 67, 133, 200, ..., 933, 1000
345
+ ```
346
+
347
+ The override is clamped to `[2, 256]` — one point is a constant, and a domain
348
+ nobody can enumerate cheaply is not one an operator can draw from. `diagnose` marks a
349
+ projected axis as `inline_threshold:64(projected)`, because *64 values* means
350
+ something different when the schema declared 64 values than when it declared an
351
+ interval: the optimizer moves on the grid, not on the continuum.
352
+
353
+ A locus with **no finite reading** — an open `str`, a bound on only one side —
354
+ is still one the operators leave alone, and `diagnose` still names those
355
+ explicitly under `undeclared domains`, because a search space that cannot be
356
+ varied is the commonest reason a run goes nowhere.
357
+
358
+ Problems written against the older two-method contract (`objectives` and
359
+ `evaluate`) keep working unchanged: `as_problem` adapts them with identity
360
+ materialization and empty seeds.
361
+
362
+ ## Choosing a proposer
363
+
364
+ ```python
365
+ optimize(problem, budget=40, proposer="random") # free, no credentials, the baseline
366
+ optimize(problem, budget=40, proposer="llm") # a model
367
+ optimize(problem, budget=40) # auto: llm if a key exists, else random
368
+ ```
369
+
370
+ `auto` says out loud which one it picked.
371
+
372
+ **What `proposer="llm"` buys is the configuration the ablations picked.**
373
+ Model-proposed initialization — the six-arm ablation's strongest arm, at 11×
374
+ fewer evaluations to target, better on **40 of 40** paired seeds, for **one**
375
+ call. Model-authored surrogate screening — the shipped default, unchanged, and
376
+ still admitted only when it out-validates the rules, which is the arbitration
377
+ the first table describes rather than a win claim. And at `budget >= 48`, a
378
+ crossed screen sized from the budget, read by a model-weighted graded prior:
379
+ the ablation's guidance arm, 4.60×. Below 48 the screen is skipped and the
380
+ prior stays the rule form, because the prior only ever acts on a screen's
381
+ evidence. Every one of those resolutions is announced through `on_progress`
382
+ rather than taken silently, and each is overridable by name (`prior=`,
383
+ `structure_budget=`, `authorship=`).
384
+
385
+ **What it does not buy is the per-offspring chooser**, which is `chooser="off"`
386
+ by default: a model call per offspring returned **ten sealed null verdicts** and
387
+ consumed 61% of that ablation's whole ledger for **0.94×** the speed of doing
388
+ nothing. `chooser="llm"` still buys it — the negative result is published, not
389
+ hidden, and the mechanism is reachable — and asking for it on a run that makes
390
+ no model call is refused by name rather than quietly ignored.
391
+
392
+ **Naming that configuration instead of inheriting it.** `authorship="guided"` is
393
+ what `"auto"` resolves to on a model run — the authored surrogate plus
394
+ model-proposed initialization, the two seams the ablations measured as winners,
395
+ and neither of the per-decision seams that they did not — so a campaign can
396
+ *state* what it ran. The other presets are `off`, `surrogate[-llm]`,
397
+ `operators[-llm]`, `init-llm`, `generation-llm`, `generative`, `adaptive` and
398
+ `full`.
399
+
400
+ **Adaptive revision (experimental, opt-in).** `authorship="adaptive"` is `guided`
401
+ plus `adaptation="llm"`, the one channel that reads what the run has *measured*:
402
+ on a declared cadence in charged evaluations, one call is shown the current
403
+ per-field sampling weights and a rendering of this run's own evidence, and
404
+ replies with a revised weighted prior for the breeding path. It exists because
405
+ guidance is otherwise authored before the first evaluation and never refreshed
406
+ against anything. It is bounded rather than trusted — an admitted reply is
407
+ *damped* into the installed weights rather than replacing them, so no revision
408
+ can introduce an exclusion; a reply that *explicitly* zeroes a value some
409
+ measured front member holds is refused whole (a value it merely omits is
410
+ damped, not excluded, which is what the mixture is for); and a revision whose
411
+ following window does not improve the front is reverted before the next one is
412
+ considered.
413
+ **It is UNDER MEASUREMENT, and nothing here is a result.** It is off in every
414
+ default and stays out of `authorship="auto"` until its first measured row lands,
415
+ because every default in this package comes from one.
416
+
417
+ ## What is measured, and what is not
418
+
419
+ Every claim here is **venue-scoped**: it is a statement about the named domain,
420
+ budget, estimand and seed count, and nothing wider. There is no all-domains
421
+ sentence in this README because there is none in the paper either.
422
+
423
+ **Of ten measured venues, four host a general claim.** The reasons the other six
424
+ host nothing — a venue that cannot separate any two optimizers, a sweep struck
425
+ for venue validity, an axis that read null — are published rather than omitted.
426
+
427
+ **What fires:**
428
+
429
+ - **The dominance row.** On a real RTL-to-GDS physical-design flow: **1.886×**
430
+ fewer charged evaluations than NSGA-II to a sealed target (median charges,
431
+ `N = 48` in four blocks, `p = 0.0013`), and **1.959×** fewer than our own
432
+ credential-free loop, which does not separate from NSGA-II at all. A second
433
+ dominance row stands on accelerator architecture search.
434
+ *And it still misses the bar that venue's own specialists set: 54.0 against
435
+ 43.5.* This is a cheap generic loop priced accordingly, not a domain
436
+ specialist.
437
+ - **Authoring quality scales on two axes.** Model class and test-time reasoning
438
+ effort, by the same amount on one venue, stack, estimand and scorer; composed
439
+ on one grid the two are super-additive. At **zero** effort the capability jump
440
+ is not measurable at all.
441
+ - **The buy on the effort axis is `none` → `high`**: median exact-front recall
442
+ `0.426471 → 0.588235`, step **+0.161765** at 2.75× its own bar, `N = 48` per
443
+ arm, `p = 5×10⁻⁶`, achieved power 1.000.
444
+
445
+ **What is not established, stated as plainly as what is:**
446
+
447
+ - **Saturation above `high` is UNRESOLVED, not established.** `high` → `xhigh`
448
+ did not separate: +0.0230, `p = 0.245`, achieved power **0.073**. `max` is
449
+ descriptive only (`n = 20`, never laddered, in no test).
450
+ - **`xhigh` is a request, not a dose.** At the same label one model reasoned
451
+ 32,156 tokens where another reasoned 53,698. The label names what you asked
452
+ for, not what you got, and the two are not the same variable.
453
+ - **The step from mechanism to endpoint is attenuated 35.2×.** The dose that
454
+ moves an authored artifact by **+0.161765** median recall moves the search
455
+ endpoint by **+0.004596** — real, overwhelmingly significant (`p = 5×10⁻⁶`,
456
+ `N = 48`), non-inferior and superior, and *small*. We price that step rather
457
+ than assuming it.
458
+ - **Absolute endpoint levels are not comparable across configurations**, and we
459
+ do not quote them across them.
460
+ - **The ladders rest on one venue family.**
461
+ - **Model guidance of *operator choice* did not work.** Eight mechanisms, eight
462
+ sealed verdicts, guided at the unguided median. Since 0.5.0 it is **off by
463
+ default** and reachable only by asking for it by name (`chooser="llm"`): a
464
+ negative result belongs in the product as a switch nobody is billed for, not
465
+ as a default.
466
+ - **Two of our own published sentences are withdrawn**, with the defect in each
467
+ stated in the paper's discussion. We do not re-assert them from the archive.
468
+
469
+ **Regime guidance** — where this helps and where it does not, with the
470
+ wall-clock and break-even numbers — is in [`docs/scope.md`](docs/scope.md). The
471
+ short version: strongest on categorical, constrained problems with expensive
472
+ evaluators and small budgets; marginal on smooth continuous problems, which are
473
+ Bayesian-optimization territory; and **slower in wall-clock** than a classical
474
+ optimizer unless each evaluation costs minutes. Read it before adopting.
475
+
476
+ The evidence archive itself (sealed preregistrations, spend ledgers, numbers
477
+ bundles) is **not distributed with the package** — it is the research record
478
+ behind the paper, and rows in it assert and re-verify their own absolute paths.
479
+ The wave names in the table at the top are its addresses.
480
+ [`docs/measurements.md`](docs/measurements.md) collects the rows on this page in
481
+ one place, quoting this file rather than the archive; where the two disagree,
482
+ this file is the copy of record.
483
+
484
+ ## The credentialed path, and what it costs
485
+
486
+ Everything above runs without a credential. The model-driven proposer needs one,
487
+ and it is documented separately because it spends money.
488
+
489
+ ```bash
490
+ pip install 'agentevolve-optimizer[llm]'
491
+ export AGENTEVOLVE_DOTENV=/path/to/your/.env # nothing is loaded unless you name it
492
+ agent_evolve check yourpkg.problem:problem --budget 40
493
+ ```
494
+
495
+ `check` runs an uninformed sampler and a model against the same problem, the
496
+ same budget and the same evaluator, then says which won. It **prints the model
497
+ and its price before it spends anything**, so a default nobody chose cannot bill
498
+ anyone. The default model is cheap on purpose: `$0.10` per million input tokens
499
+ and `$0.60` per million output.
500
+
501
+ Every run reports what it actually spent, and `--json` gives you the figure:
502
+
503
+ ```console
504
+ $ agent_evolve run mypkg.problem:problem --budget 12 --proposer llm --seed 5 --json
505
+ {
506
+ "evaluations": 10,
507
+ "provider_usage": {
508
+ "calls": 26,
509
+ "cost_usd": "0.013226",
510
+ "input_tokens": 18045,
511
+ "output_tokens": 19035,
512
+ "model": "openrouter:openai/gpt-5.6-luna",
513
+ "reported_by": "openrouter response usage; cost derived from the package's published price table"
514
+ }
515
+ }
516
+ ```
517
+
518
+ Two things about that block. The tokens are the provider's own count and the
519
+ price is the table above, and `reported_by` says so — a dollar figure that does
520
+ not name what measured it is a number nobody checked. And `calls: 0` on a
521
+ credential-free run means *counted and none occurred*, not *not recorded*: the
522
+ block is always present.
523
+
524
+ A 12-evaluation run cost **1.3 cents**. In the research record, whole multi-cell
525
+ studies stayed in single-digit dollars.
526
+
527
+ This library **never searches upward for a `.env`**, and that is a fix rather
528
+ than a preference. An earlier version called `dotenv.load_dotenv()` with no
529
+ argument, which walks up the directory tree until it finds any `.env` — so a run
530
+ inside a monorepo silently adopted an unrelated project's credentials, and a run
531
+ launched specifically to prove it made no provider call was handed the key back
532
+ by the very next line. Name the file or nothing is loaded.
533
+
534
+ ## Configuration
535
+
536
+ None of these is required.
537
+
538
+ | Variable | Meaning | Default |
539
+ | --- | --- | --- |
540
+ | `AGENTEVOLVE_MODEL` | model id | `openrouter:openai/gpt-5.6-luna` |
541
+ | `AGENTEVOLVE_HARNESS` | adapter for the `llm` proposer | `pydantic_ai` |
542
+ | `AGENTEVOLVE_TEMPERATURE` | sampling temperature | provider default |
543
+ | `AGENTEVOLVE_DOTENV` | path to a `.env` to load; nothing is loaded unless you name it | unset |
544
+ | `AGENTEVOLVE_SCRUBBED` | names to remove and never reintroduce from a file | unset |
545
+
546
+ ## CLI
547
+
548
+ ```
549
+ agent_evolve version
550
+ agent_evolve init [PATH] # writes problem_def.py
551
+ agent_evolve diagnose PROBLEM [--budget N] [--probe N] # no model, no credential
552
+ agent_evolve check PROBLEM [--budget N] [--repeats N] [--baseline-only] [--json]
553
+ agent_evolve run PROBLEM [--budget N] [--proposer auto|llm|random]
554
+ [--strategy auto|genetic|authoring]
555
+ [--authorship auto|guided|adaptive|...]
556
+ [--prior auto|rule|rule-weighted|llm|llm-weighted]
557
+ [--effort ...] [--chooser off|llm]
558
+ [--structure-budget auto|N]
559
+ [--seal PATH] [--journal PATH] [--json]
560
+ ```
561
+
562
+ `PROBLEM` is `module:attribute`. `run --json` prints one machine-readable
563
+ document — `best`, `pareto_front`, `evaluations`, `history`, `telemetry`,
564
+ `provider_usage` — instead of prose, for scripted use. `check --json` prints the
565
+ verdict as one document — the arms and their budgets, each arm's outcome, the
566
+ per-objective comparison, the winner, `provider_usage` — and moves the prose to
567
+ stderr, so `2>/dev/null` leaves exactly the document and the model's price is
568
+ still stated before anything is spent.
569
+
570
+ ## Examples
571
+
572
+ | Example | Credentials | What it shows |
573
+ | --- | --- | --- |
574
+ | `examples/build_flags/` | none | The regime this tool suits: categorical, constrained, expensive evaluator |
575
+ | `examples/knapsack/` | none | The five obligations, shortest possible. Still an honest negative, on better grounds since 0.5.0: its selection locus now projects (`selection[0]:10(projected)`, `undeclared domains: none`) and the probe does vary it, and `diagnose` still refuses to credit any optimizer — 40 random draws are expected to reach the same best value (150) and the same best weight (5) the probe found |
576
+ | `examples/pymoo_swap/` | none (needs `[pymoo]`) | The NSGA-II swap, as two files and a six-line diff |
577
+
578
+ ## Tests
579
+
580
+ ```bash
581
+ pip install 'agentevolve-optimizer[dev,pymoo]'
582
+ python -m pytest tests/test_public_contract.py # the shipped surface, ~1 second
583
+ python -m pytest tests/ # the package, offline
584
+ python -m pytest tests/ -m research # needs the research corpus
585
+ ```
586
+
587
+ The default run is what someone who cloned this repository can actually use.
588
+ Tests driving the research campaign are marked `research` and deselected; they
589
+ are skipped rather than failed when the corpus is absent.
590
+
591
+ The project's `addopts` include `-q`, and on pytest 9 that suppresses the final
592
+ pass count. Add `-p no:cacheprovider` and drop `-q` (`python -m pytest tests/
593
+ -p no:cacheprovider --tb=line`) if you want the count printed.
594
+
595
+ ## License
596
+
597
+ MIT — see [LICENSE](LICENSE). The copyright holder line was settled by the
598
+ project owner on 2026-08-18 and `LICENSE` stands as written; see
599
+ `PACKAGING_TODO.md`.