agentevolve-optimizer 0.5.0__py3-none-any.whl

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 (414) hide show
  1. agent_evolve/__init__.py +722 -0
  2. agent_evolve/agentic.py +2800 -0
  3. agent_evolve/api.py +767 -0
  4. agent_evolve/application/__init__.py +1580 -0
  5. agent_evolve/application/action_allocation.py +744 -0
  6. agent_evolve/application/action_allocation_frame.py +347 -0
  7. agent_evolve/application/action_allocation_frame_commit.py +185 -0
  8. agent_evolve/application/action_allocation_frame_commit_v3.py +184 -0
  9. agent_evolve/application/action_allocation_frame_v3.py +338 -0
  10. agent_evolve/application/action_archive_value.py +497 -0
  11. agent_evolve/application/action_evidence_consistency.py +455 -0
  12. agent_evolve/application/action_forecast_partitioning.py +1471 -0
  13. agent_evolve/application/action_metric_projection.py +211 -0
  14. agent_evolve/application/action_role_value.py +680 -0
  15. agent_evolve/application/action_score_authorities.py +363 -0
  16. agent_evolve/application/action_structural_signature.py +116 -0
  17. agent_evolve/application/action_target_realization.py +402 -0
  18. agent_evolve/application/agentic_evolution.py +7734 -0
  19. agent_evolve/application/agentic_portfolio_residual_expert.py +835 -0
  20. agent_evolve/application/anchor_residual_identification.py +463 -0
  21. agent_evolve/application/archive_conditioned_action_target.py +208 -0
  22. agent_evolve/application/artifact_journal.py +246 -0
  23. agent_evolve/application/artifact_replay.py +347 -0
  24. agent_evolve/application/budgeted_optimizer.py +1828 -0
  25. agent_evolve/application/calibrated_campaign.py +485 -0
  26. agent_evolve/application/calibrated_current_prefix_forecast_opportunity.py +322 -0
  27. agent_evolve/application/calibrated_positive_gain_opportunity.py +1581 -0
  28. agent_evolve/application/campaign_capacity_recourse.py +254 -0
  29. agent_evolve/application/campaign_contextual_outcomes.py +119 -0
  30. agent_evolve/application/campaign_diagnostic_blocks.py +930 -0
  31. agent_evolve/application/campaign_evidence_registry.py +262 -0
  32. agent_evolve/application/campaign_execution.py +2537 -0
  33. agent_evolve/application/campaign_generation_audit.py +942 -0
  34. agent_evolve/application/campaign_learning.py +1812 -0
  35. agent_evolve/application/campaign_learning_runtime.py +1977 -0
  36. agent_evolve/application/campaign_search_phase.py +227 -0
  37. agent_evolve/application/campaign_selector_context_extension.py +220 -0
  38. agent_evolve/application/campaign_variation_envelope.py +649 -0
  39. agent_evolve/application/campaign_variation_trace.py +451 -0
  40. agent_evolve/application/candidate_archive_consequence.py +128 -0
  41. agent_evolve/application/causal_opportunity_portfolio_gate.py +385 -0
  42. agent_evolve/application/composite_outcome_updater.py +145 -0
  43. agent_evolve/application/composition_portfolio_selection.py +363 -0
  44. agent_evolve/application/concurrent_stage.py +144 -0
  45. agent_evolve/application/contextual_action_allocation.py +181 -0
  46. agent_evolve/application/contextual_campaign_outcomes.py +267 -0
  47. agent_evolve/application/contextual_campaign_planning.py +1366 -0
  48. agent_evolve/application/contextual_delayed_credit.py +651 -0
  49. agent_evolve/application/contextual_search_controller.py +2374 -0
  50. agent_evolve/application/current_prefix_forecast_opportunity.py +714 -0
  51. agent_evolve/application/decision_metric_projection.py +112 -0
  52. agent_evolve/application/derived_action_semantics.py +129 -0
  53. agent_evolve/application/detailed_evaluation.py +449 -0
  54. agent_evolve/application/earned_lineage.py +1011 -0
  55. agent_evolve/application/effective_choice_audit.py +484 -0
  56. agent_evolve/application/empirical_consequence_calibration.py +908 -0
  57. agent_evolve/application/evaluation_accounting.py +325 -0
  58. agent_evolve/application/evaluation_cache.py +199 -0
  59. agent_evolve/application/evaluation_escrow.py +547 -0
  60. agent_evolve/application/evaluation_recourse.py +253 -0
  61. agent_evolve/application/event_recorder.py +151 -0
  62. agent_evolve/application/evolution_campaign.py +1840 -0
  63. agent_evolve/application/executable_hypothesis.py +323 -0
  64. agent_evolve/application/factorial_branch_pilot.py +772 -0
  65. agent_evolve/application/finite_acquisition_capacity_recourse.py +672 -0
  66. agent_evolve/application/finite_acquisition_residual_expert.py +373 -0
  67. agent_evolve/application/finite_acquisition_variation_envelope.py +802 -0
  68. agent_evolve/application/finite_action_hypothesis_semantics.py +446 -0
  69. agent_evolve/application/finite_action_selection.py +188 -0
  70. agent_evolve/application/finite_action_set.py +306 -0
  71. agent_evolve/application/finite_action_transition.py +537 -0
  72. agent_evolve/application/finite_variation_eligibility.py +296 -0
  73. agent_evolve/application/forecast_geometry_portfolio.py +799 -0
  74. agent_evolve/application/forecast_opportunity_shadow_calibration.py +316 -0
  75. agent_evolve/application/front_proximity_admission.py +311 -0
  76. agent_evolve/application/front_proximity_parent_basis.py +458 -0
  77. agent_evolve/application/frozen_hurdle_score.py +659 -0
  78. agent_evolve/application/g3_causal_screen.py +2257 -0
  79. agent_evolve/application/g3_causal_validation.py +1046 -0
  80. agent_evolve/application/g3_postseal_curation.py +818 -0
  81. agent_evolve/application/gated_agentic_generator.py +205 -0
  82. agent_evolve/application/generation_feedback.py +293 -0
  83. agent_evolve/application/generative_proposal_journal.py +185 -0
  84. agent_evolve/application/geometry_conditional_elasticity.py +453 -0
  85. agent_evolve/application/global_wave_action_allocation.py +1151 -0
  86. agent_evolve/application/head_mass_conditional_seat.py +268 -0
  87. agent_evolve/application/identifiable_reflection_evidence.py +1147 -0
  88. agent_evolve/application/identifiable_reflection_learning.py +395 -0
  89. agent_evolve/application/identifiable_reflection_request.py +364 -0
  90. agent_evolve/application/in_memory_residual_archive.py +341 -0
  91. agent_evolve/application/insight_memory.py +1804 -0
  92. agent_evolve/application/live_runtime_manifest.py +758 -0
  93. agent_evolve/application/llm_task_queue.py +769 -0
  94. agent_evolve/application/matched_finite_action_block.py +409 -0
  95. agent_evolve/application/materialized_action_broker.py +2328 -0
  96. agent_evolve/application/materialized_action_constraints.py +83 -0
  97. agent_evolve/application/materialized_variation.py +211 -0
  98. agent_evolve/application/multi_option_evolution.py +1536 -0
  99. agent_evolve/application/outcome_adaptive_action_racing.py +2827 -0
  100. agent_evolve/application/outcome_adaptive_residual_campaign_runtime.py +580 -0
  101. agent_evolve/application/outcome_adaptive_residual_portfolio_evolution.py +3671 -0
  102. agent_evolve/application/outcome_conditioned_portfolio_selection.py +1374 -0
  103. agent_evolve/application/outcome_relation.py +193 -0
  104. agent_evolve/application/paired_allocation_comparison.py +241 -0
  105. agent_evolve/application/paired_block_schedule.py +127 -0
  106. agent_evolve/application/parent_measurement.py +226 -0
  107. agent_evolve/application/pareto_archive.py +811 -0
  108. agent_evolve/application/portfolio_campaign_runtime.py +4739 -0
  109. agent_evolve/application/portfolio_evolution.py +2950 -0
  110. agent_evolve/application/portfolio_hypothesis_observations.py +814 -0
  111. agent_evolve/application/portfolio_memory_attribution.py +581 -0
  112. agent_evolve/application/portfolio_memory_dose.py +788 -0
  113. agent_evolve/application/portfolio_memory_matched_control.py +938 -0
  114. agent_evolve/application/portfolio_memory_transfer.py +297 -0
  115. agent_evolve/application/portfolio_optimization_memory.py +363 -0
  116. agent_evolve/application/portfolio_outcome_feedback.py +1613 -0
  117. agent_evolve/application/portfolio_projection.py +335 -0
  118. agent_evolve/application/portfolio_recombination.py +2032 -0
  119. agent_evolve/application/post_evolution_reflection.py +834 -0
  120. agent_evolve/application/postcommit_rank_authority.py +245 -0
  121. agent_evolve/application/precommitted_portfolio_racing.py +2762 -0
  122. agent_evolve/application/prequential_archive_opportunity_calibration.py +1154 -0
  123. agent_evolve/application/prequential_residual_exploration.py +343 -0
  124. agent_evolve/application/prequential_score_portfolio.py +954 -0
  125. agent_evolve/application/projections.py +292 -0
  126. agent_evolve/application/protected_action_committee.py +1027 -0
  127. agent_evolve/application/protected_branch_pilot.py +376 -0
  128. agent_evolve/application/protected_current_prefix_forecast_opportunity.py +552 -0
  129. agent_evolve/application/provider_replay.py +910 -0
  130. agent_evolve/application/rank_balanced_causal_pilot.py +1372 -0
  131. agent_evolve/application/recombination_residual_expert.py +403 -0
  132. agent_evolve/application/reflection_workflow.py +571 -0
  133. agent_evolve/application/region_conditional_credit.py +911 -0
  134. agent_evolve/application/residual_campaign_runtime.py +531 -0
  135. agent_evolve/application/residual_headroom_campaign_runtime.py +459 -0
  136. agent_evolve/application/residual_headroom_ledger.py +1544 -0
  137. agent_evolve/application/residual_learning_transaction.py +396 -0
  138. agent_evolve/application/residual_portfolio_evolution.py +1228 -0
  139. agent_evolve/application/residual_reachability.py +749 -0
  140. agent_evolve/application/residual_stage_credit.py +499 -0
  141. agent_evolve/application/same_prefix_paired_audit.py +1580 -0
  142. agent_evolve/application/semantic_coverage_score_portfolio.py +838 -0
  143. agent_evolve/application/sequential_lineage_allocation.py +1017 -0
  144. agent_evolve/application/sequential_market_replay.py +1395 -0
  145. agent_evolve/application/sequential_residual_campaign_runtime.py +305 -0
  146. agent_evolve/application/sequential_residual_portfolio_evolution.py +940 -0
  147. agent_evolve/application/single_score_action_allocation.py +299 -0
  148. agent_evolve/application/source_exposure_allocation.py +906 -0
  149. agent_evolve/application/staged_memory.py +210 -0
  150. agent_evolve/application/stratified_cold_start_allocation.py +732 -0
  151. agent_evolve/application/support_guarded_hurdle_score.py +549 -0
  152. agent_evolve/application/target_conditioned_action_forecast.py +595 -0
  153. agent_evolve/application/target_conditioned_campaign.py +566 -0
  154. agent_evolve/application/treatment_assignment.py +201 -0
  155. agent_evolve/application/trusted_objective_evidence.py +217 -0
  156. agent_evolve/application/two_stage_action_evolution.py +1131 -0
  157. agent_evolve/application/v8lite_allocation_policy.py +1083 -0
  158. agent_evolve/application/v9_candidate_policy.py +1303 -0
  159. agent_evolve/bootstrap.py +108 -0
  160. agent_evolve/campaign_presets.py +517 -0
  161. agent_evolve/campaign_profiles.py +452 -0
  162. agent_evolve/campaign_variation_topology.py +288 -0
  163. agent_evolve/campaign_workload.py +950 -0
  164. agent_evolve/cli.py +797 -0
  165. agent_evolve/contract.py +241 -0
  166. agent_evolve/core/__init__.py +91 -0
  167. agent_evolve/core/action_semantics.py +411 -0
  168. agent_evolve/core/authored.py +105 -0
  169. agent_evolve/core/formatting.py +286 -0
  170. agent_evolve/core/optimization_semantics.py +324 -0
  171. agent_evolve/core/problem.py +167 -0
  172. agent_evolve/core/results.py +323 -0
  173. agent_evolve/core/stats.py +70 -0
  174. agent_evolve/core/telemetry.py +100 -0
  175. agent_evolve/domain/__init__.py +89 -0
  176. agent_evolve/domain/artifact.py +162 -0
  177. agent_evolve/domain/durable_text.py +68 -0
  178. agent_evolve/domain/event.py +1454 -0
  179. agent_evolve/domain/finite_action_set.py +426 -0
  180. agent_evolve/domain/finite_variation.py +526 -0
  181. agent_evolve/domain/generative_emission.py +559 -0
  182. agent_evolve/domain/ids.py +163 -0
  183. agent_evolve/domain/inline_text.py +106 -0
  184. agent_evolve/domain/insight.py +27 -0
  185. agent_evolve/domain/lineage.py +737 -0
  186. agent_evolve/domain/llm_task_queue.py +960 -0
  187. agent_evolve/domain/outcome.py +96 -0
  188. agent_evolve/domain/patch.py +854 -0
  189. agent_evolve/domain/typed_json.py +542 -0
  190. agent_evolve/domain/variation_space.py +158 -0
  191. agent_evolve/driver.py +1014 -0
  192. agent_evolve/harness/__init__.py +29 -0
  193. agent_evolve/harness/base.py +242 -0
  194. agent_evolve/harness/directives.py +163 -0
  195. agent_evolve/harness/generative_seal.py +479 -0
  196. agent_evolve/harness/registry.py +41 -0
  197. agent_evolve/infrastructure/__init__.py +39 -0
  198. agent_evolve/infrastructure/artifacts/__init__.py +6 -0
  199. agent_evolve/infrastructure/artifacts/_verification.py +67 -0
  200. agent_evolve/infrastructure/artifacts/filesystem.py +343 -0
  201. agent_evolve/infrastructure/artifacts/in_memory.py +73 -0
  202. agent_evolve/infrastructure/asyncio_runtime.py +109 -0
  203. agent_evolve/infrastructure/authored_runtime.py +188 -0
  204. agent_evolve/infrastructure/authored_worker.py +171 -0
  205. agent_evolve/infrastructure/clock.py +53 -0
  206. agent_evolve/infrastructure/events/__init__.py +6 -0
  207. agent_evolve/infrastructure/events/_validation.py +89 -0
  208. agent_evolve/infrastructure/events/in_memory.py +56 -0
  209. agent_evolve/infrastructure/events/jsonl.py +193 -0
  210. agent_evolve/infrastructure/exception_provenance.py +215 -0
  211. agent_evolve/infrastructure/ids.py +118 -0
  212. agent_evolve/infrastructure/lineage_codec.py +1836 -0
  213. agent_evolve/infrastructure/outcome_adaptive_phase_journal.py +170 -0
  214. agent_evolve/infrastructure/residual_headroom_journal.py +221 -0
  215. agent_evolve/infrastructure/resource_lease.py +370 -0
  216. agent_evolve/infrastructure/sanitization/__init__.py +8 -0
  217. agent_evolve/infrastructure/sanitization/strict_json.py +484 -0
  218. agent_evolve/infrastructure/sequential_phase_journal.py +170 -0
  219. agent_evolve/infrastructure/stream_liveness.py +383 -0
  220. agent_evolve/infrastructure/subprocess_boundary.py +136 -0
  221. agent_evolve/integrations/__init__.py +1 -0
  222. agent_evolve/integrations/botorch/__init__.py +28 -0
  223. agent_evolve/integrations/botorch/finite_qlognehvi.py +190 -0
  224. agent_evolve/integrations/botorch/finite_qlognehvi_batch.py +155 -0
  225. agent_evolve/integrations/botorch/finite_qlognehvi_batch_identity.py +20 -0
  226. agent_evolve/integrations/botorch/finite_qlognehvi_batch_worker.py +55 -0
  227. agent_evolve/integrations/botorch/finite_qlognehvi_identity.py +22 -0
  228. agent_evolve/integrations/botorch/finite_qlognehvi_worker.py +55 -0
  229. agent_evolve/integrations/botorch/subprocess_qlognehvi.py +261 -0
  230. agent_evolve/integrations/botorch/subprocess_qlognehvi_batch.py +273 -0
  231. agent_evolve/integrations/completion.py +242 -0
  232. agent_evolve/integrations/pydantic_ai/__init__.py +441 -0
  233. agent_evolve/integrations/pydantic_ai/action_forecast.py +1068 -0
  234. agent_evolve/integrations/pydantic_ai/agentic_generator.py +2308 -0
  235. agent_evolve/integrations/pydantic_ai/async_generator.py +1604 -0
  236. agent_evolve/integrations/pydantic_ai/boundary_codec.py +1526 -0
  237. agent_evolve/integrations/pydantic_ai/calibrated_portfolio_campaign.py +756 -0
  238. agent_evolve/integrations/pydantic_ai/calibrated_portfolio_selection.py +7537 -0
  239. agent_evolve/integrations/pydantic_ai/campaign_acquisition.py +609 -0
  240. agent_evolve/integrations/pydantic_ai/execution_binding.py +138 -0
  241. agent_evolve/integrations/pydantic_ai/forecast_geometry_action_committee.py +217 -0
  242. agent_evolve/integrations/pydantic_ai/harness.py +159 -0
  243. agent_evolve/integrations/pydantic_ai/heterogeneous_model_execution.py +306 -0
  244. agent_evolve/integrations/pydantic_ai/hierarchical_residual_adaptive_semantic_view.py +179 -0
  245. agent_evolve/integrations/pydantic_ai/json_schema_dialect.py +108 -0
  246. agent_evolve/integrations/pydantic_ai/materialized_hierarchical_residual_expert.py +952 -0
  247. agent_evolve/integrations/pydantic_ai/materialized_portfolio_judge.py +520 -0
  248. agent_evolve/integrations/pydantic_ai/model_execution_profile.py +659 -0
  249. agent_evolve/integrations/pydantic_ai/outbound_request_manifest.py +1170 -0
  250. agent_evolve/integrations/pydantic_ai/portable_residual_consequence_features.py +575 -0
  251. agent_evolve/integrations/pydantic_ai/portfolio_selection.py +422 -0
  252. agent_evolve/integrations/pydantic_ai/progress_aware_openrouter.py +416 -0
  253. agent_evolve/integrations/pydantic_ai/provider_attempt_join.py +1523 -0
  254. agent_evolve/integrations/pydantic_ai/provider_free_calibrated_runner.py +607 -0
  255. agent_evolve/integrations/pydantic_ai/queued_runner.py +2634 -0
  256. agent_evolve/integrations/pydantic_ai/reconciled_residual_reachability.py +1417 -0
  257. agent_evolve/integrations/pydantic_ai/residual_forecast_geometry.py +445 -0
  258. agent_evolve/integrations/pydantic_ai/residual_reachability.py +674 -0
  259. agent_evolve/integrations/pydantic_ai/residual_semantic_cells.py +239 -0
  260. agent_evolve/integrations/pydantic_ai/sealed_output_replay.py +1068 -0
  261. agent_evolve/integrations/pydantic_ai/semantic_coverage_residual_portfolio.py +770 -0
  262. agent_evolve/integrations/pydantic_ai/semantic_decision_replay.py +383 -0
  263. agent_evolve/integrations/pydantic_ai/support_adaptive_residual_portfolio.py +135 -0
  264. agent_evolve/integrations/pydantic_ai/trusted_residual_prompt_context.py +143 -0
  265. agent_evolve/integrations/pydantic_ai/validated_openrouter_model.py +107 -0
  266. agent_evolve/integrations/pymoo_adapter.py +242 -0
  267. agent_evolve/policies/__init__.py +17 -0
  268. agent_evolve/policies/check.py +469 -0
  269. agent_evolve/policies/emit_scaffold.py +451 -0
  270. agent_evolve/policies/feedback/__init__.py +37 -0
  271. agent_evolve/policies/feedback/held_out_asn.py +1325 -0
  272. agent_evolve/policies/genetic.py +607 -0
  273. agent_evolve/policies/llm_backoff.py +183 -0
  274. agent_evolve/policies/llm_chooser.py +226 -0
  275. agent_evolve/policies/llm_generator.py +1760 -0
  276. agent_evolve/policies/llm_init.py +267 -0
  277. agent_evolve/policies/llm_operator.py +109 -0
  278. agent_evolve/policies/llm_prior.py +194 -0
  279. agent_evolve/policies/llm_surrogate.py +334 -0
  280. agent_evolve/policies/measurement_evidence.py +704 -0
  281. agent_evolve/policies/memory/__init__.py +223 -0
  282. agent_evolve/policies/memory/balanced_subset_blocks.py +707 -0
  283. agent_evolve/policies/memory/compatibility_matching.py +593 -0
  284. agent_evolve/policies/memory/global_falsification.py +1841 -0
  285. agent_evolve/policies/memory/prompt_shape.py +503 -0
  286. agent_evolve/policies/memory/randomized_subset.py +714 -0
  287. agent_evolve/policies/memory/staged_causal.py +1270 -0
  288. agent_evolve/policies/memory/treatment_compliance.py +759 -0
  289. agent_evolve/policies/objective_resolution/__init__.py +17 -0
  290. agent_evolve/policies/objective_resolution/fixed_grid.py +364 -0
  291. agent_evolve/policies/operator_portfolio.py +407 -0
  292. agent_evolve/policies/reguidance.py +1133 -0
  293. agent_evolve/policies/reward/__init__.py +83 -0
  294. agent_evolve/policies/reward/affine_candidate_consequence.py +156 -0
  295. agent_evolve/policies/reward/affine_candidate_consequence_3d.py +159 -0
  296. agent_evolve/policies/reward/affine_hypervolume.py +490 -0
  297. agent_evolve/policies/reward/affine_hypervolume_3d.py +567 -0
  298. agent_evolve/policies/reward/contextual_marginal_utility.py +318 -0
  299. agent_evolve/policies/reward/frozen_archive.py +360 -0
  300. agent_evolve/policies/reward/frozen_wave_archive.py +368 -0
  301. agent_evolve/policies/search_state.py +208 -0
  302. agent_evolve/policies/selection/__init__.py +345 -0
  303. agent_evolve/policies/selection/acquisition_certified_slate.py +684 -0
  304. agent_evolve/policies/selection/affine_frontier_context.py +330 -0
  305. agent_evolve/policies/selection/affine_frontier_target.py +473 -0
  306. agent_evolve/policies/selection/archive_elite.py +1346 -0
  307. agent_evolve/policies/selection/calibrated_portfolio_binding.py +640 -0
  308. agent_evolve/policies/selection/calibrated_slate.py +1394 -0
  309. agent_evolve/policies/selection/calibrated_slate_codec.py +579 -0
  310. agent_evolve/policies/selection/common_candidate_pool.py +685 -0
  311. agent_evolve/policies/selection/diagnostic_sampling.py +319 -0
  312. agent_evolve/policies/selection/disjoint_pairs.py +479 -0
  313. agent_evolve/policies/selection/elite_explorer.py +719 -0
  314. agent_evolve/policies/selection/finite_action.py +187 -0
  315. agent_evolve/policies/selection/finite_option_prompt_projection.py +377 -0
  316. agent_evolve/policies/selection/finite_palette_evidence.py +247 -0
  317. agent_evolve/policies/selection/forecast_calibration.py +922 -0
  318. agent_evolve/policies/selection/frontier_probe_slate.py +814 -0
  319. agent_evolve/policies/selection/frozen_archive_pairs.py +762 -0
  320. agent_evolve/policies/selection/full_support_slate.py +91 -0
  321. agent_evolve/policies/selection/meaningful_direction.py +240 -0
  322. agent_evolve/policies/selection/memory_dose_feasibility.py +259 -0
  323. agent_evolve/policies/selection/model_anchored_slate.py +826 -0
  324. agent_evolve/policies/selection/phenotype_recourse.py +979 -0
  325. agent_evolve/policies/selection/proposal_support.py +368 -0
  326. agent_evolve/policies/selection/random_portfolio.py +254 -0
  327. agent_evolve/policies/selection/regret_bounded_slate.py +1084 -0
  328. agent_evolve/policies/selection/residual_frontier.py +463 -0
  329. agent_evolve/policies/selection/residual_frontier_target.py +605 -0
  330. agent_evolve/policies/selection/structural_posterior_slate.py +1571 -0
  331. agent_evolve/policies/selection/target_conditioned_allocator.py +648 -0
  332. agent_evolve/policies/selection/target_conditioned_features.py +812 -0
  333. agent_evolve/policies/selection/target_conditioned_prequential.py +1527 -0
  334. agent_evolve/policies/selection/task_keyed_palette.py +906 -0
  335. agent_evolve/policies/semantics.py +147 -0
  336. agent_evolve/policies/structure.py +362 -0
  337. agent_evolve/policies/structured_output_budget.py +62 -0
  338. agent_evolve/policies/surrogate.py +696 -0
  339. agent_evolve/policies/variation/__init__.py +1 -0
  340. agent_evolve/policies/variation/compositional_finite_catalog.py +426 -0
  341. agent_evolve/policies/variation/crossover_inheritance.py +575 -0
  342. agent_evolve/policies/variation/disjoint_recombination.py +611 -0
  343. agent_evolve/policies/variation/exact_composition_capacity.py +214 -0
  344. agent_evolve/policies/variation/exact_parent_crossover.py +950 -0
  345. agent_evolve/policies/variation/multiscale_restart_catalog.py +372 -0
  346. agent_evolve/policies/variation/source_union_finite_catalog.py +403 -0
  347. agent_evolve/policies/variation/typed_patch.py +1981 -0
  348. agent_evolve/policies/weighted_prior.py +394 -0
  349. agent_evolve/ports/__init__.py +383 -0
  350. agent_evolve/ports/action_allocation.py +733 -0
  351. agent_evolve/ports/action_allocation_frame.py +1153 -0
  352. agent_evolve/ports/action_allocation_frame_commit.py +294 -0
  353. agent_evolve/ports/action_allocation_frame_commit_v3.py +432 -0
  354. agent_evolve/ports/action_allocation_frame_v3.py +995 -0
  355. agent_evolve/ports/action_forecast.py +1568 -0
  356. agent_evolve/ports/action_metric_projection.py +165 -0
  357. agent_evolve/ports/agentic_generator.py +1561 -0
  358. agent_evolve/ports/archive_context.py +136 -0
  359. agent_evolve/ports/artifact_sanitizer.py +44 -0
  360. agent_evolve/ports/artifact_store.py +225 -0
  361. agent_evolve/ports/clock.py +13 -0
  362. agent_evolve/ports/contextual_search_allocation.py +827 -0
  363. agent_evolve/ports/decision_metric_projection.py +258 -0
  364. agent_evolve/ports/event_store.py +55 -0
  365. agent_evolve/ports/executable_hypothesis.py +557 -0
  366. agent_evolve/ports/finite_acquisition.py +377 -0
  367. agent_evolve/ports/finite_acquisition_batch.py +296 -0
  368. agent_evolve/ports/finite_acquisition_batch_json.py +164 -0
  369. agent_evolve/ports/finite_acquisition_json.py +247 -0
  370. agent_evolve/ports/finite_acquisition_space.py +168 -0
  371. agent_evolve/ports/finite_action_selection.py +348 -0
  372. agent_evolve/ports/finite_action_set.py +256 -0
  373. agent_evolve/ports/frontier_target.py +396 -0
  374. agent_evolve/ports/generation_failure.py +43 -0
  375. agent_evolve/ports/hard_feasibility.py +233 -0
  376. agent_evolve/ports/id_factory.py +34 -0
  377. agent_evolve/ports/llm_task_queue.py +93 -0
  378. agent_evolve/ports/objective_resolution.py +419 -0
  379. agent_evolve/ports/paired_allocation_comparison.py +401 -0
  380. agent_evolve/ports/paired_block_schedule.py +475 -0
  381. agent_evolve/ports/parent_measurement.py +336 -0
  382. agent_evolve/ports/portfolio_memory_dose.py +643 -0
  383. agent_evolve/ports/portfolio_selection.py +3169 -0
  384. agent_evolve/ports/postcommit_rank_authority.py +467 -0
  385. agent_evolve/ports/presented_action_evidence.py +794 -0
  386. agent_evolve/ports/resource_lease.py +162 -0
  387. agent_evolve/ports/structured_generator.py +734 -0
  388. agent_evolve/ports/structured_output_budget.py +120 -0
  389. agent_evolve/ports/subprocess_boundary.py +138 -0
  390. agent_evolve/ports/treatment_assignment.py +466 -0
  391. agent_evolve/ports/variation_catalog.py +76 -0
  392. agent_evolve/ports/variation_source.py +226 -0
  393. agent_evolve/proposal_mode.py +157 -0
  394. agent_evolve/proposers/__init__.py +10 -0
  395. agent_evolve/proposers/random_proposer.py +188 -0
  396. agent_evolve/provider_accounting.py +163 -0
  397. agent_evolve/py.typed +0 -0
  398. agent_evolve/reference_method.py +1570 -0
  399. agent_evolve/session/__init__.py +11 -0
  400. agent_evolve/session/authorship.py +864 -0
  401. agent_evolve/session/evaluate.py +236 -0
  402. agent_evolve/session/fidelity.py +237 -0
  403. agent_evolve/session/genetic_loop.py +742 -0
  404. agent_evolve/session/loop.py +803 -0
  405. agent_evolve/session/screening.py +671 -0
  406. agent_evolve/settings.py +376 -0
  407. agent_evolve/workload_kit.py +368 -0
  408. agent_evolve/workload_prompt.py +398 -0
  409. agentevolve_optimizer-0.5.0.dist-info/METADATA +599 -0
  410. agentevolve_optimizer-0.5.0.dist-info/RECORD +414 -0
  411. agentevolve_optimizer-0.5.0.dist-info/WHEEL +5 -0
  412. agentevolve_optimizer-0.5.0.dist-info/entry_points.txt +2 -0
  413. agentevolve_optimizer-0.5.0.dist-info/licenses/LICENSE +21 -0
  414. agentevolve_optimizer-0.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,409 @@
1
+ """Generic one-generation matched model-versus-uniform finite-choice block.
2
+
3
+ The benchmark supplies catalogs, compilation, phenotype identity, evaluation,
4
+ and reward semantics. This planner owns only the scientific chronology shared
5
+ by every domain: seal one K-option authority, freeze a prospective uniform
6
+ rank, and run model arm A and engine arm U concurrently on the same parent and
7
+ support. An A=U collision is retained and left to the evaluation cache; it is
8
+ never resampled.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import hashlib
14
+ import json
15
+ from dataclasses import dataclass, field
16
+ from typing import Protocol, runtime_checkable
17
+
18
+ from agent_evolve.application.agentic_evolution import (
19
+ AgenticEvolutionEngine,
20
+ EvolutionCandidate,
21
+ InvocationPlan,
22
+ MutationContract,
23
+ MutationResponseMode,
24
+ OperatorKind,
25
+ RewardPolicyBinding,
26
+ )
27
+ from agent_evolve.application.budgeted_optimizer import (
28
+ FrozenWaveReward,
29
+ GenerationPlan,
30
+ OptimizerBudget,
31
+ OptimizerSlot,
32
+ OptimizerState,
33
+ )
34
+ from agent_evolve.application.insight_memory import (
35
+ InsightLifecycleState,
36
+ InsightMemoryBank,
37
+ InsightMemoryEntry,
38
+ )
39
+ from agent_evolve.application.materialized_variation import (
40
+ materialized_finite_action_decision,
41
+ )
42
+ from agent_evolve.application.executable_hypothesis import (
43
+ CompiledHypothesisTreatment,
44
+ )
45
+ from agent_evolve.domain.finite_action_set import (
46
+ FiniteActionSetAuthority,
47
+ FiniteActionSourceMode,
48
+ )
49
+ from agent_evolve.domain.finite_variation import (
50
+ FiniteVariationContract,
51
+ validate_finite_variation_contract,
52
+ )
53
+ from agent_evolve.domain.ids import CandidateId
54
+ from agent_evolve.domain.insight import InsightRef
55
+ from agent_evolve.domain.patch import (
56
+ JsonPath,
57
+ ObjectKey,
58
+ canonical_path_bytes,
59
+ require_sha256,
60
+ )
61
+ from agent_evolve.policies.variation.typed_patch import derive_patch
62
+ from agent_evolve.ports.finite_action_selection import (
63
+ EngineFiniteActionPolicy,
64
+ EngineFiniteActionRequest,
65
+ FiniteActionDecision,
66
+ ProspectiveUniformRankToken,
67
+ )
68
+ from agent_evolve.ports.id_factory import IdFactory
69
+
70
+
71
+ PLANNER_POLICY_ID = "matched_finite_action_block"
72
+ PLANNER_POLICY_VERSION = 1
73
+ _REWARD_SNAPSHOT_DOMAIN = b"agent-evolve:matched-finite-action-reward:v1\x00"
74
+
75
+
76
+ def _canonical_json(value: object) -> bytes:
77
+ return json.dumps(
78
+ value,
79
+ ensure_ascii=True,
80
+ allow_nan=False,
81
+ separators=(",", ":"),
82
+ sort_keys=True,
83
+ ).encode("ascii")
84
+
85
+
86
+ def _hash(domain: bytes, value: object) -> str:
87
+ return hashlib.sha256(domain + _canonical_json(value)).hexdigest()
88
+
89
+
90
+ def finite_action_mutation_boundary(
91
+ *,
92
+ contract: FiniteVariationContract,
93
+ parent_candidate_id: CandidateId,
94
+ ) -> tuple[tuple[str, ...], MutationContract]:
95
+ """Derive the smallest complete mutation boundary for a finite support."""
96
+
97
+ validate_finite_variation_contract(contract)
98
+ if type(parent_candidate_id) is not CandidateId:
99
+ raise TypeError("parent_candidate_id must be an exact CandidateId")
100
+ CandidateId.__post_init__(parent_candidate_id)
101
+ probe = CandidateId("candidate_matched_finite_boundary_probe")
102
+ if probe == parent_candidate_id:
103
+ probe = CandidateId("candidate_matched_finite_boundary_probe_alternate")
104
+ paths: dict[bytes, JsonPath] = {}
105
+ max_changed_paths = 0
106
+ max_operations = 0
107
+ for option in contract.options:
108
+ patch = derive_patch(
109
+ contract.parent_configuration,
110
+ option.child_configuration,
111
+ base_candidate_id=parent_candidate_id,
112
+ target_candidate_id=probe,
113
+ )
114
+ changed = {operation.path for operation in patch.operations}
115
+ max_changed_paths = max(max_changed_paths, len(changed))
116
+ max_operations = max(max_operations, len(patch.operations))
117
+ for path in changed:
118
+ paths[canonical_path_bytes(path)] = path
119
+ editable = tuple(paths[key] for key in sorted(paths))
120
+ if not editable or max_changed_paths <= 0 or max_operations <= 0:
121
+ raise ValueError("finite action support has no executable mutation")
122
+ allowed = tuple(
123
+ sorted(
124
+ {
125
+ path.segments[0].value
126
+ for path in editable
127
+ if type(path.segments[0]) is ObjectKey
128
+ }
129
+ )
130
+ )
131
+ if not allowed:
132
+ raise ValueError("finite action support has no object-root mutation path")
133
+ return allowed, MutationContract(
134
+ editable_paths=editable,
135
+ max_changed_paths=max_changed_paths,
136
+ max_operations=max_operations,
137
+ allow_abstention=False,
138
+ )
139
+
140
+
141
+ @runtime_checkable
142
+ class MatchedFiniteActionBenchmark(Protocol):
143
+ reward: RewardPolicyBinding
144
+
145
+ def compile_registered_hypothesis_treatment(
146
+ self,
147
+ *,
148
+ catalog_id: str,
149
+ parent_candidate_id: CandidateId,
150
+ parent_configuration: object,
151
+ entry: InsightMemoryEntry,
152
+ requested_operator_kind: str,
153
+ context_projection_sha256: str,
154
+ endpoint_definition_sha256: str,
155
+ ) -> CompiledHypothesisTreatment: ...
156
+
157
+ def compile_finite_action_set(
158
+ self,
159
+ *,
160
+ compiled_anchor: CompiledHypothesisTreatment,
161
+ required_cardinality: int,
162
+ source_mode: FiniteActionSourceMode,
163
+ ) -> tuple[FiniteActionSetAuthority, object]: ...
164
+
165
+
166
+ @dataclass(slots=True)
167
+ class MatchedFiniteActionBlockPlanner:
168
+ """Stateful planner for one already-frozen A/U development block."""
169
+
170
+ benchmark: MatchedFiniteActionBenchmark
171
+ engine: AgenticEvolutionEngine
172
+ ids: IdFactory
173
+ memory: InsightMemoryBank
174
+ card_reference: InsightRef
175
+ catalog_id: str
176
+ required_cardinality: int
177
+ context_projection_sha256: str
178
+ endpoint_definition_sha256: str
179
+ task_sha256: str
180
+ pre_outcome_phase_commit_sha256: str
181
+ uniform_policy: EngineFiniteActionPolicy
182
+ source_mode: FiniteActionSourceMode
183
+ phase: str
184
+ required_card_lifecycle: InsightLifecycleState = (
185
+ InsightLifecycleState.QUARANTINED
186
+ )
187
+ authority: FiniteActionSetAuthority | None = field(init=False, default=None)
188
+ compiled_anchor: CompiledHypothesisTreatment | None = field(
189
+ init=False,
190
+ default=None,
191
+ )
192
+ uniform_rank: ProspectiveUniformRankToken | None = field(
193
+ init=False,
194
+ default=None,
195
+ )
196
+ uniform_decision: FiniteActionDecision | None = field(
197
+ init=False,
198
+ default=None,
199
+ )
200
+
201
+ def __post_init__(self) -> None:
202
+ if not isinstance(self.benchmark, MatchedFiniteActionBenchmark):
203
+ raise TypeError("benchmark must implement MatchedFiniteActionBenchmark")
204
+ if type(self.engine) is not AgenticEvolutionEngine:
205
+ raise TypeError("engine must be an exact AgenticEvolutionEngine")
206
+ if not isinstance(self.ids, IdFactory):
207
+ raise TypeError("ids must implement IdFactory")
208
+ if type(self.memory) is not InsightMemoryBank:
209
+ raise TypeError("memory must be an exact InsightMemoryBank")
210
+ if self.engine.ids is not self.ids or self.engine.memory is not self.memory:
211
+ raise ValueError("planner must share the composed engine IDs and memory")
212
+ if type(self.card_reference) is not InsightRef:
213
+ raise TypeError("card_reference must be an exact InsightRef")
214
+ InsightRef.__post_init__(self.card_reference)
215
+ if type(self.catalog_id) is not str or not self.catalog_id:
216
+ raise ValueError("catalog_id must be non-empty")
217
+ if type(self.required_cardinality) is not int:
218
+ raise TypeError("required_cardinality must be an exact integer")
219
+ for name in (
220
+ "context_projection_sha256",
221
+ "endpoint_definition_sha256",
222
+ "task_sha256",
223
+ "pre_outcome_phase_commit_sha256",
224
+ ):
225
+ require_sha256(getattr(self, name), name)
226
+ if not isinstance(self.uniform_policy, EngineFiniteActionPolicy):
227
+ raise TypeError("uniform_policy must implement EngineFiniteActionPolicy")
228
+ if type(self.source_mode) is not FiniteActionSourceMode:
229
+ raise TypeError("source_mode must be an exact FiniteActionSourceMode")
230
+ if type(self.phase) is not str or not self.phase:
231
+ raise ValueError("phase must be non-empty")
232
+ if type(self.required_card_lifecycle) is not InsightLifecycleState:
233
+ raise TypeError(
234
+ "required_card_lifecycle must be an exact InsightLifecycleState"
235
+ )
236
+
237
+ def _reward(self, state: OptimizerState, authority: FiniteActionSetAuthority,
238
+ uniform_decision: FiniteActionDecision) -> FrozenWaveReward:
239
+ binding = getattr(self.benchmark, "reward", None)
240
+ if type(binding) is not RewardPolicyBinding:
241
+ raise TypeError("benchmark must expose an exact reward binding")
242
+ return FrozenWaveReward(
243
+ binding=binding,
244
+ archive_snapshot_hash=state.archive_snapshot_hash,
245
+ reward_snapshot_hash=_hash(
246
+ _REWARD_SNAPSHOT_DOMAIN,
247
+ {
248
+ "archive_snapshot_hash": state.archive_snapshot_hash,
249
+ "authority_sha256": authority.authority_sha256,
250
+ "uniform_decision_sha256": uniform_decision.decision_sha256,
251
+ },
252
+ ),
253
+ )
254
+
255
+ def plan(self, state: OptimizerState, budget: OptimizerBudget) -> GenerationPlan:
256
+ del budget
257
+ if type(state) is not OptimizerState:
258
+ raise TypeError("state must be an exact OptimizerState")
259
+ if state.generation != 0 or len(state.candidates) != 1:
260
+ raise ValueError("matched finite block requires exactly one seed state")
261
+ if self.authority is not None:
262
+ raise RuntimeError("matched finite block was already planned")
263
+ parent: EvolutionCandidate = state.candidates[0]
264
+ entry = self.memory.entries_for((self.card_reference,))[0]
265
+ if entry.lifecycle_state is not self.required_card_lifecycle:
266
+ raise ValueError(
267
+ "matched block card lifecycle differs from its frozen requirement"
268
+ )
269
+ compiled = self.benchmark.compile_registered_hypothesis_treatment(
270
+ catalog_id=self.catalog_id,
271
+ parent_candidate_id=parent.candidate_id,
272
+ parent_configuration=parent.configuration,
273
+ entry=entry,
274
+ requested_operator_kind=OperatorKind.TYPED_MUTATION.value,
275
+ context_projection_sha256=self.context_projection_sha256,
276
+ endpoint_definition_sha256=self.endpoint_definition_sha256,
277
+ )
278
+ authority, _ = self.benchmark.compile_finite_action_set(
279
+ compiled_anchor=compiled,
280
+ required_cardinality=self.required_cardinality,
281
+ source_mode=self.source_mode,
282
+ )
283
+ rank = self.uniform_policy.freeze_rank(
284
+ authority,
285
+ task_sha256=self.task_sha256,
286
+ pre_outcome_phase_commit_sha256=(
287
+ self.pre_outcome_phase_commit_sha256
288
+ ),
289
+ )
290
+ uniform_decision = self.uniform_policy.choose(
291
+ EngineFiniteActionRequest(authority=authority, prospective_rank=rank)
292
+ )
293
+ allowed, mutation = finite_action_mutation_boundary(
294
+ contract=authority.support.support_contract,
295
+ parent_candidate_id=parent.candidate_id,
296
+ )
297
+ model_plan = InvocationPlan(
298
+ operator_kind=OperatorKind.TYPED_MUTATION,
299
+ parents=(parent,),
300
+ generation=1,
301
+ label="stage_b_adaptive_model_choice",
302
+ allowed_top_level=allowed,
303
+ phase=self.phase,
304
+ mutation_contract=mutation,
305
+ mutation_response_mode=MutationResponseMode.FINITE_OPTION_SELECTION_V1,
306
+ finite_variation_contract=authority.support.support_contract,
307
+ quarantine_test_insights=(self.card_reference,),
308
+ finite_action_set_authority=authority,
309
+ )
310
+ uniform = materialized_finite_action_decision(
311
+ ids=self.ids,
312
+ parent=parent,
313
+ generation=1,
314
+ label="stage_b_prospective_uniform_choice",
315
+ authority=authority,
316
+ decision=uniform_decision,
317
+ phase=self.phase,
318
+ )
319
+ self.compiled_anchor = compiled
320
+ self.authority = authority
321
+ self.uniform_rank = rank
322
+ self.uniform_decision = uniform_decision
323
+ metadata = tuple(
324
+ sorted(
325
+ (
326
+ ("finite_action_authority_sha256", authority.authority_sha256),
327
+ ("finite_action_support_sha256", authority.support.support_sha256),
328
+ ("prospective_uniform_token_sha256", rank.token_sha256),
329
+ ("uniform_decision_sha256", uniform_decision.decision_sha256),
330
+ ("resample_on_a_u_alias", "false"),
331
+ )
332
+ )
333
+ )
334
+ return GenerationPlan(
335
+ generation=1,
336
+ slots=(
337
+ OptimizerSlot.model(
338
+ slot_id="A",
339
+ role="adaptive_card_model_choice",
340
+ plan=model_plan,
341
+ ),
342
+ OptimizerSlot.engine(
343
+ slot_id="U",
344
+ role="prospective_uniform_same_support",
345
+ invocation=uniform,
346
+ ),
347
+ ),
348
+ reward=self._reward(state, authority, uniform_decision),
349
+ planner_policy_id=PLANNER_POLICY_ID,
350
+ planner_policy_version=PLANNER_POLICY_VERSION,
351
+ metadata=metadata,
352
+ )
353
+
354
+
355
+ @dataclass(frozen=True, slots=True)
356
+ class MatchedFiniteActionBlockFactory:
357
+ """Deferred public-composition factory for one generic matched A/U block."""
358
+
359
+ card_reference: InsightRef
360
+ catalog_id: str
361
+ required_cardinality: int
362
+ context_projection_sha256: str
363
+ endpoint_definition_sha256: str
364
+ task_sha256: str
365
+ pre_outcome_phase_commit_sha256: str
366
+ uniform_policy: EngineFiniteActionPolicy
367
+ source_mode: FiniteActionSourceMode = FiniteActionSourceMode.COMPILED_ACTIVE_CARD
368
+ phase: str = "matched_finite_action"
369
+ required_card_lifecycle: InsightLifecycleState = (
370
+ InsightLifecycleState.QUARANTINED
371
+ )
372
+
373
+ def build(
374
+ self,
375
+ *,
376
+ benchmark,
377
+ engine: AgenticEvolutionEngine,
378
+ id_factory: IdFactory,
379
+ memory: InsightMemoryBank,
380
+ ) -> MatchedFiniteActionBlockPlanner:
381
+ return MatchedFiniteActionBlockPlanner(
382
+ benchmark=benchmark,
383
+ engine=engine,
384
+ ids=id_factory,
385
+ memory=memory,
386
+ card_reference=self.card_reference,
387
+ catalog_id=self.catalog_id,
388
+ required_cardinality=self.required_cardinality,
389
+ context_projection_sha256=self.context_projection_sha256,
390
+ endpoint_definition_sha256=self.endpoint_definition_sha256,
391
+ task_sha256=self.task_sha256,
392
+ pre_outcome_phase_commit_sha256=(
393
+ self.pre_outcome_phase_commit_sha256
394
+ ),
395
+ uniform_policy=self.uniform_policy,
396
+ source_mode=self.source_mode,
397
+ phase=self.phase,
398
+ required_card_lifecycle=self.required_card_lifecycle,
399
+ )
400
+
401
+
402
+ __all__ = [
403
+ "MatchedFiniteActionBenchmark",
404
+ "MatchedFiniteActionBlockFactory",
405
+ "MatchedFiniteActionBlockPlanner",
406
+ "PLANNER_POLICY_ID",
407
+ "PLANNER_POLICY_VERSION",
408
+ "finite_action_mutation_boundary",
409
+ ]