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,335 @@
1
+ """Integrity-bound projections from insight memory into selector cards.
2
+
3
+ The application owns the trusted join between an immutable memory entry and
4
+ the framework-neutral portfolio port. Benchmark adapters choose only the
5
+ prompt/evidence projection and its source receipt; they cannot substitute a
6
+ different finite action without invalidating the resulting source binding.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import math
12
+ import re
13
+
14
+ from agent_evolve.application.insight_memory import (
15
+ InsightEvidenceLineage,
16
+ InsightMemoryEntry,
17
+ )
18
+ from agent_evolve.domain.finite_variation import (
19
+ FiniteVariationContract,
20
+ validated_finite_variation_identity_index,
21
+ )
22
+ from agent_evolve.domain.insight import InsightRef
23
+ from agent_evolve.domain.typed_json import (
24
+ FrozenJsonArray,
25
+ FrozenJsonObject,
26
+ FrozenJsonValue,
27
+ freeze_json,
28
+ )
29
+ from agent_evolve.ports.agentic_generator import InsightDraft
30
+ from agent_evolve.ports.portfolio_selection import (
31
+ CardScoreComponent,
32
+ PortfolioCard,
33
+ PortfolioExperimentalArm,
34
+ PortfolioExperimentalViewReceipt,
35
+ PortfolioCardSourceBinding,
36
+ PortfolioCardSourceRegistry,
37
+ _bind_portfolio_card_source,
38
+ _issue_portfolio_card_source_registry,
39
+ portfolio_card_snapshot_sha256,
40
+ validate_portfolio_experimental_view,
41
+ )
42
+
43
+
44
+ def project_action_neutral_insight_prompt_payload(
45
+ entry: InsightMemoryEntry,
46
+ *,
47
+ prompt_payload: FrozenJsonObject,
48
+ finite_variation_contracts: tuple[FiniteVariationContract, ...],
49
+ ) -> FrozenJsonObject:
50
+ """Remove exact finite-action identity from free-form insight prose.
51
+
52
+ Reflection text is provider-authored and may repeat option IDs or evidence
53
+ hashes that were visible in its evidence catalog. Scientific M/N views
54
+ carry those identities exclusively through structured
55
+ ``finite_action_evidence``. This projection therefore replaces every
56
+ exact current-catalog or source-evidence identity in arbitrary typed JSON
57
+ strings (including object keys) with deterministic punctuation-only
58
+ aliases. Families and other action-neutral mechanism prose are retained.
59
+
60
+ Multiple contracts are accepted because a single admitted card population
61
+ can be shared by several stable parent lanes with different parent-bound
62
+ action catalogs. The output is independent of contract input order.
63
+ """
64
+
65
+ lineage = _validate_source_entry(entry)
66
+ if type(prompt_payload) is not FrozenJsonObject:
67
+ raise TypeError("prompt_payload must be an exact FrozenJsonObject")
68
+ if freeze_json(prompt_payload) is not prompt_payload:
69
+ raise TypeError("prompt_payload must already be frozen typed JSON")
70
+ if type(finite_variation_contracts) is not tuple or not (
71
+ finite_variation_contracts
72
+ ):
73
+ raise ValueError(
74
+ "finite_variation_contracts must be a non-empty exact tuple"
75
+ )
76
+ if any(
77
+ type(contract) is not FiniteVariationContract
78
+ for contract in finite_variation_contracts
79
+ ):
80
+ raise TypeError(
81
+ "finite_variation_contracts must contain exact "
82
+ "FiniteVariationContract values"
83
+ )
84
+
85
+ indexes_by_identity = {}
86
+ for contract in finite_variation_contracts:
87
+ index = validated_finite_variation_identity_index(contract)
88
+ indexes_by_identity[index.contract_identity_sha256] = index
89
+
90
+ forbidden: set[str] = set()
91
+ for contract_identity in sorted(indexes_by_identity):
92
+ index = indexes_by_identity[contract_identity]
93
+ forbidden.update(index.option_ids)
94
+ forbidden.add(index.contract_identity_sha256)
95
+ forbidden.update(index.option_identity_sha256s)
96
+ forbidden.update(index.child_configuration_sha256s)
97
+ for binding in lineage.finite_action_bindings:
98
+ forbidden.update(
99
+ (
100
+ binding.option_id,
101
+ binding.option_identity_sha256,
102
+ binding.contract_identity_sha256,
103
+ binding.contrast_id,
104
+ binding.identity_sha256,
105
+ )
106
+ )
107
+
108
+ canonical_tokens = tuple(sorted({value.casefold() for value in forbidden}))
109
+ aliases = {
110
+ token: f"[#{ordinal:04d}]"
111
+ for ordinal, token in enumerate(canonical_tokens, start=1)
112
+ }
113
+ matcher = re.compile(
114
+ "|".join(
115
+ re.escape(token)
116
+ for token in sorted(canonical_tokens, key=lambda value: (-len(value), value))
117
+ ),
118
+ flags=re.IGNORECASE,
119
+ )
120
+
121
+ def redact_text(value: str) -> str:
122
+ return matcher.sub(lambda match: aliases[match.group(0).casefold()], value)
123
+
124
+ def visit(value: FrozenJsonValue) -> object:
125
+ if type(value) is str:
126
+ return redact_text(value)
127
+ if type(value) is FrozenJsonArray:
128
+ return [visit(item) for item in value.items]
129
+ if type(value) is FrozenJsonObject:
130
+ projected: dict[str, object] = {}
131
+ for key, item in value.items:
132
+ projected_key = redact_text(key)
133
+ if projected_key in projected:
134
+ raise ValueError(
135
+ "action-neutral projection caused an object-key collision"
136
+ )
137
+ projected[projected_key] = visit(item)
138
+ return projected
139
+ return value
140
+
141
+ projected = freeze_json(visit(prompt_payload))
142
+ if type(projected) is not FrozenJsonObject: # pragma: no cover - root sealed.
143
+ raise AssertionError("action-neutral prompt projection lost its object root")
144
+ return projected
145
+
146
+
147
+ def _validate_source_entry(entry: InsightMemoryEntry) -> InsightEvidenceLineage:
148
+ if type(entry) is not InsightMemoryEntry:
149
+ raise TypeError("entry must be an exact InsightMemoryEntry")
150
+ InsightMemoryEntry.__post_init__(entry)
151
+ if type(entry.reference) is not InsightRef:
152
+ raise TypeError("entry.reference must be an exact InsightRef")
153
+ InsightRef.__post_init__(entry.reference)
154
+ if type(entry.draft) is not InsightDraft:
155
+ raise TypeError("entry.draft must be an exact InsightDraft")
156
+ InsightDraft.__post_init__(entry.draft)
157
+ if type(entry.initial_score) is not float or not math.isfinite(
158
+ entry.initial_score
159
+ ):
160
+ raise TypeError("entry.initial_score must be a finite canonical float")
161
+ lineage = entry.evidence_lineage
162
+ if type(lineage) is not InsightEvidenceLineage:
163
+ raise ValueError(
164
+ "source-bound portfolio projection requires reflection evidence lineage"
165
+ )
166
+ InsightEvidenceLineage.__post_init__(lineage)
167
+ return lineage
168
+
169
+
170
+ def portfolio_card_from_insight_entry(
171
+ entry: InsightMemoryEntry,
172
+ *,
173
+ card_key: str,
174
+ prompt_payload: FrozenJsonObject,
175
+ evidence_sha256: str,
176
+ source_receipt_sha256: str,
177
+ score_components: tuple[CardScoreComponent, ...] = (),
178
+ assigned_score: float | None = None,
179
+ ) -> PortfolioCard:
180
+ """Project one reflection entry with integrity-bound action lineage.
181
+
182
+ ``source_receipt_sha256`` identifies the durable evidence/projection receipt
183
+ trusted by the caller. The returned receipt hash-binds the entry reference,
184
+ complete draft content, evidence-lineage identity, exact finite actions,
185
+ prompt view, evidence identity, and score state.
186
+ """
187
+
188
+ lineage = _validate_source_entry(entry)
189
+ if type(prompt_payload) is not FrozenJsonObject:
190
+ raise TypeError("prompt_payload must be an exact FrozenJsonObject")
191
+ if freeze_json(prompt_payload) is not prompt_payload:
192
+ raise TypeError("prompt_payload must already be frozen typed JSON")
193
+ source_binding = _bind_portfolio_card_source(
194
+ reference=entry.reference,
195
+ content_sha256=entry.draft.content_sha256,
196
+ evidence_lineage_identity_sha256=lineage.identity_sha256,
197
+ finite_action_evidence=lineage.portfolio_action_evidence,
198
+ prompt_payload=prompt_payload,
199
+ evidence_sha256=evidence_sha256,
200
+ score_components=score_components,
201
+ assigned_score=assigned_score,
202
+ source_receipt_sha256=source_receipt_sha256,
203
+ )
204
+ return PortfolioCard(
205
+ card_key=card_key,
206
+ reference=entry.reference,
207
+ content_sha256=entry.draft.content_sha256,
208
+ evidence_sha256=evidence_sha256,
209
+ prompt_payload=prompt_payload,
210
+ score_components=score_components,
211
+ assigned_score=assigned_score,
212
+ finite_action_evidence=lineage.portfolio_action_evidence,
213
+ source_binding=source_binding,
214
+ )
215
+
216
+
217
+ def admit_portfolio_card_sources(
218
+ entries: tuple[InsightMemoryEntry, ...],
219
+ cards: tuple[PortfolioCard, ...],
220
+ ) -> PortfolioCardSourceRegistry:
221
+ """Admit an exact source-entry set for one scientific selector request.
222
+
223
+ The caller designates ``entries`` as trusted memory state. This function
224
+ performs the authoritative entry-to-binding join and issues a closed
225
+ integrity registry; it does not provide cryptographic authenticity. Every
226
+ supplied card must be source-bound, and the entry/card reference sets must
227
+ be exactly equal so neither stale nor adapter-synthesized bindings slip in.
228
+ """
229
+
230
+ if type(entries) is not tuple or not entries:
231
+ raise ValueError("entries must be a non-empty exact tuple")
232
+ if any(type(entry) is not InsightMemoryEntry for entry in entries):
233
+ raise TypeError("entries must contain exact InsightMemoryEntry values")
234
+ if type(cards) is not tuple or not cards:
235
+ raise ValueError("cards must be a non-empty exact tuple")
236
+ if any(type(card) is not PortfolioCard for card in cards):
237
+ raise TypeError("cards must contain exact PortfolioCard values")
238
+
239
+ entries_by_reference: dict[InsightRef, InsightMemoryEntry] = {}
240
+ for entry in entries:
241
+ _validate_source_entry(entry)
242
+ if entry.reference in entries_by_reference:
243
+ raise ValueError("entries cannot repeat an insight reference")
244
+ entries_by_reference[entry.reference] = entry
245
+
246
+ bindings: list[PortfolioCardSourceBinding] = []
247
+ card_references: set[InsightRef] = set()
248
+ for card in cards:
249
+ card.__post_init__()
250
+ binding = card.source_binding
251
+ if binding is None:
252
+ raise ValueError("source admission rejects unbound legacy cards")
253
+ if card.reference in card_references:
254
+ raise ValueError("cards cannot repeat an insight reference")
255
+ card_references.add(card.reference)
256
+ entry = entries_by_reference.get(card.reference)
257
+ if entry is None:
258
+ raise ValueError("card source is absent from the trusted entry set")
259
+ lineage = entry.evidence_lineage
260
+ assert type(lineage) is InsightEvidenceLineage
261
+ if (
262
+ binding.reference != entry.reference
263
+ or binding.content_sha256 != entry.draft.content_sha256
264
+ or binding.evidence_lineage_identity_sha256
265
+ != lineage.identity_sha256
266
+ or binding.finite_action_evidence
267
+ != lineage.portfolio_action_evidence
268
+ ):
269
+ raise ValueError("card source binding differs from its trusted entry")
270
+ bindings.append(binding)
271
+ if card_references != set(entries_by_reference):
272
+ raise ValueError("trusted entry set differs from the card source set")
273
+
274
+ canonical_bindings = tuple(
275
+ sorted(bindings, key=lambda binding: binding.binding_sha256)
276
+ )
277
+ return _issue_portfolio_card_source_registry(canonical_bindings)
278
+
279
+
280
+ def bind_portfolio_experimental_view(
281
+ *,
282
+ arm: PortfolioExperimentalArm,
283
+ cards: tuple[PortfolioCard, ...],
284
+ finite_variation_contract: FiniteVariationContract,
285
+ source_registry: PortfolioCardSourceRegistry,
286
+ policy_id: str,
287
+ policy_version: int,
288
+ policy_definition_sha256: str,
289
+ ) -> PortfolioExperimentalViewReceipt:
290
+ """Bind and validate one complete scientific M/P/N card population.
291
+
292
+ The finite contract is typed at the port trust boundary so this application
293
+ helper stays a thin issuer rather than duplicating domain validation.
294
+ """
295
+
296
+ source_donor_pairs: tuple[tuple[str, str], ...] = ()
297
+ if arm is PortfolioExperimentalArm.PERMUTED_PLACEBO:
298
+ inferred: list[tuple[str, str]] = []
299
+ for card in cards:
300
+ if type(card) is not PortfolioCard or card.source_binding is None:
301
+ raise ValueError("P requires source-bound portfolio cards")
302
+ view = card.derived_view_receipt
303
+ if view is None or view.prompt_source_binding_sha256 is None:
304
+ raise ValueError("P requires donor-bound derived card views")
305
+ inferred.append(
306
+ (
307
+ card.source_binding.binding_sha256,
308
+ view.prompt_source_binding_sha256,
309
+ )
310
+ )
311
+ source_donor_pairs = tuple(sorted(inferred))
312
+ receipt = PortfolioExperimentalViewReceipt(
313
+ arm=arm,
314
+ source_registry_sha256=source_registry.registry_sha256,
315
+ card_snapshot_sha256=portfolio_card_snapshot_sha256(cards),
316
+ source_donor_binding_pairs=source_donor_pairs,
317
+ policy_id=policy_id,
318
+ policy_version=policy_version,
319
+ policy_definition_sha256=policy_definition_sha256,
320
+ )
321
+ validate_portfolio_experimental_view(
322
+ cards=cards,
323
+ finite_variation_contract=finite_variation_contract,
324
+ source_registry=source_registry,
325
+ receipt=receipt,
326
+ )
327
+ return receipt
328
+
329
+
330
+ __all__ = [
331
+ "admit_portfolio_card_sources",
332
+ "bind_portfolio_experimental_view",
333
+ "portfolio_card_from_insight_entry",
334
+ "project_action_neutral_insight_prompt_payload",
335
+ ]