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.
- agent_evolve/__init__.py +722 -0
- agent_evolve/agentic.py +2800 -0
- agent_evolve/api.py +767 -0
- agent_evolve/application/__init__.py +1580 -0
- agent_evolve/application/action_allocation.py +744 -0
- agent_evolve/application/action_allocation_frame.py +347 -0
- agent_evolve/application/action_allocation_frame_commit.py +185 -0
- agent_evolve/application/action_allocation_frame_commit_v3.py +184 -0
- agent_evolve/application/action_allocation_frame_v3.py +338 -0
- agent_evolve/application/action_archive_value.py +497 -0
- agent_evolve/application/action_evidence_consistency.py +455 -0
- agent_evolve/application/action_forecast_partitioning.py +1471 -0
- agent_evolve/application/action_metric_projection.py +211 -0
- agent_evolve/application/action_role_value.py +680 -0
- agent_evolve/application/action_score_authorities.py +363 -0
- agent_evolve/application/action_structural_signature.py +116 -0
- agent_evolve/application/action_target_realization.py +402 -0
- agent_evolve/application/agentic_evolution.py +7734 -0
- agent_evolve/application/agentic_portfolio_residual_expert.py +835 -0
- agent_evolve/application/anchor_residual_identification.py +463 -0
- agent_evolve/application/archive_conditioned_action_target.py +208 -0
- agent_evolve/application/artifact_journal.py +246 -0
- agent_evolve/application/artifact_replay.py +347 -0
- agent_evolve/application/budgeted_optimizer.py +1828 -0
- agent_evolve/application/calibrated_campaign.py +485 -0
- agent_evolve/application/calibrated_current_prefix_forecast_opportunity.py +322 -0
- agent_evolve/application/calibrated_positive_gain_opportunity.py +1581 -0
- agent_evolve/application/campaign_capacity_recourse.py +254 -0
- agent_evolve/application/campaign_contextual_outcomes.py +119 -0
- agent_evolve/application/campaign_diagnostic_blocks.py +930 -0
- agent_evolve/application/campaign_evidence_registry.py +262 -0
- agent_evolve/application/campaign_execution.py +2537 -0
- agent_evolve/application/campaign_generation_audit.py +942 -0
- agent_evolve/application/campaign_learning.py +1812 -0
- agent_evolve/application/campaign_learning_runtime.py +1977 -0
- agent_evolve/application/campaign_search_phase.py +227 -0
- agent_evolve/application/campaign_selector_context_extension.py +220 -0
- agent_evolve/application/campaign_variation_envelope.py +649 -0
- agent_evolve/application/campaign_variation_trace.py +451 -0
- agent_evolve/application/candidate_archive_consequence.py +128 -0
- agent_evolve/application/causal_opportunity_portfolio_gate.py +385 -0
- agent_evolve/application/composite_outcome_updater.py +145 -0
- agent_evolve/application/composition_portfolio_selection.py +363 -0
- agent_evolve/application/concurrent_stage.py +144 -0
- agent_evolve/application/contextual_action_allocation.py +181 -0
- agent_evolve/application/contextual_campaign_outcomes.py +267 -0
- agent_evolve/application/contextual_campaign_planning.py +1366 -0
- agent_evolve/application/contextual_delayed_credit.py +651 -0
- agent_evolve/application/contextual_search_controller.py +2374 -0
- agent_evolve/application/current_prefix_forecast_opportunity.py +714 -0
- agent_evolve/application/decision_metric_projection.py +112 -0
- agent_evolve/application/derived_action_semantics.py +129 -0
- agent_evolve/application/detailed_evaluation.py +449 -0
- agent_evolve/application/earned_lineage.py +1011 -0
- agent_evolve/application/effective_choice_audit.py +484 -0
- agent_evolve/application/empirical_consequence_calibration.py +908 -0
- agent_evolve/application/evaluation_accounting.py +325 -0
- agent_evolve/application/evaluation_cache.py +199 -0
- agent_evolve/application/evaluation_escrow.py +547 -0
- agent_evolve/application/evaluation_recourse.py +253 -0
- agent_evolve/application/event_recorder.py +151 -0
- agent_evolve/application/evolution_campaign.py +1840 -0
- agent_evolve/application/executable_hypothesis.py +323 -0
- agent_evolve/application/factorial_branch_pilot.py +772 -0
- agent_evolve/application/finite_acquisition_capacity_recourse.py +672 -0
- agent_evolve/application/finite_acquisition_residual_expert.py +373 -0
- agent_evolve/application/finite_acquisition_variation_envelope.py +802 -0
- agent_evolve/application/finite_action_hypothesis_semantics.py +446 -0
- agent_evolve/application/finite_action_selection.py +188 -0
- agent_evolve/application/finite_action_set.py +306 -0
- agent_evolve/application/finite_action_transition.py +537 -0
- agent_evolve/application/finite_variation_eligibility.py +296 -0
- agent_evolve/application/forecast_geometry_portfolio.py +799 -0
- agent_evolve/application/forecast_opportunity_shadow_calibration.py +316 -0
- agent_evolve/application/front_proximity_admission.py +311 -0
- agent_evolve/application/front_proximity_parent_basis.py +458 -0
- agent_evolve/application/frozen_hurdle_score.py +659 -0
- agent_evolve/application/g3_causal_screen.py +2257 -0
- agent_evolve/application/g3_causal_validation.py +1046 -0
- agent_evolve/application/g3_postseal_curation.py +818 -0
- agent_evolve/application/gated_agentic_generator.py +205 -0
- agent_evolve/application/generation_feedback.py +293 -0
- agent_evolve/application/generative_proposal_journal.py +185 -0
- agent_evolve/application/geometry_conditional_elasticity.py +453 -0
- agent_evolve/application/global_wave_action_allocation.py +1151 -0
- agent_evolve/application/head_mass_conditional_seat.py +268 -0
- agent_evolve/application/identifiable_reflection_evidence.py +1147 -0
- agent_evolve/application/identifiable_reflection_learning.py +395 -0
- agent_evolve/application/identifiable_reflection_request.py +364 -0
- agent_evolve/application/in_memory_residual_archive.py +341 -0
- agent_evolve/application/insight_memory.py +1804 -0
- agent_evolve/application/live_runtime_manifest.py +758 -0
- agent_evolve/application/llm_task_queue.py +769 -0
- agent_evolve/application/matched_finite_action_block.py +409 -0
- agent_evolve/application/materialized_action_broker.py +2328 -0
- agent_evolve/application/materialized_action_constraints.py +83 -0
- agent_evolve/application/materialized_variation.py +211 -0
- agent_evolve/application/multi_option_evolution.py +1536 -0
- agent_evolve/application/outcome_adaptive_action_racing.py +2827 -0
- agent_evolve/application/outcome_adaptive_residual_campaign_runtime.py +580 -0
- agent_evolve/application/outcome_adaptive_residual_portfolio_evolution.py +3671 -0
- agent_evolve/application/outcome_conditioned_portfolio_selection.py +1374 -0
- agent_evolve/application/outcome_relation.py +193 -0
- agent_evolve/application/paired_allocation_comparison.py +241 -0
- agent_evolve/application/paired_block_schedule.py +127 -0
- agent_evolve/application/parent_measurement.py +226 -0
- agent_evolve/application/pareto_archive.py +811 -0
- agent_evolve/application/portfolio_campaign_runtime.py +4739 -0
- agent_evolve/application/portfolio_evolution.py +2950 -0
- agent_evolve/application/portfolio_hypothesis_observations.py +814 -0
- agent_evolve/application/portfolio_memory_attribution.py +581 -0
- agent_evolve/application/portfolio_memory_dose.py +788 -0
- agent_evolve/application/portfolio_memory_matched_control.py +938 -0
- agent_evolve/application/portfolio_memory_transfer.py +297 -0
- agent_evolve/application/portfolio_optimization_memory.py +363 -0
- agent_evolve/application/portfolio_outcome_feedback.py +1613 -0
- agent_evolve/application/portfolio_projection.py +335 -0
- agent_evolve/application/portfolio_recombination.py +2032 -0
- agent_evolve/application/post_evolution_reflection.py +834 -0
- agent_evolve/application/postcommit_rank_authority.py +245 -0
- agent_evolve/application/precommitted_portfolio_racing.py +2762 -0
- agent_evolve/application/prequential_archive_opportunity_calibration.py +1154 -0
- agent_evolve/application/prequential_residual_exploration.py +343 -0
- agent_evolve/application/prequential_score_portfolio.py +954 -0
- agent_evolve/application/projections.py +292 -0
- agent_evolve/application/protected_action_committee.py +1027 -0
- agent_evolve/application/protected_branch_pilot.py +376 -0
- agent_evolve/application/protected_current_prefix_forecast_opportunity.py +552 -0
- agent_evolve/application/provider_replay.py +910 -0
- agent_evolve/application/rank_balanced_causal_pilot.py +1372 -0
- agent_evolve/application/recombination_residual_expert.py +403 -0
- agent_evolve/application/reflection_workflow.py +571 -0
- agent_evolve/application/region_conditional_credit.py +911 -0
- agent_evolve/application/residual_campaign_runtime.py +531 -0
- agent_evolve/application/residual_headroom_campaign_runtime.py +459 -0
- agent_evolve/application/residual_headroom_ledger.py +1544 -0
- agent_evolve/application/residual_learning_transaction.py +396 -0
- agent_evolve/application/residual_portfolio_evolution.py +1228 -0
- agent_evolve/application/residual_reachability.py +749 -0
- agent_evolve/application/residual_stage_credit.py +499 -0
- agent_evolve/application/same_prefix_paired_audit.py +1580 -0
- agent_evolve/application/semantic_coverage_score_portfolio.py +838 -0
- agent_evolve/application/sequential_lineage_allocation.py +1017 -0
- agent_evolve/application/sequential_market_replay.py +1395 -0
- agent_evolve/application/sequential_residual_campaign_runtime.py +305 -0
- agent_evolve/application/sequential_residual_portfolio_evolution.py +940 -0
- agent_evolve/application/single_score_action_allocation.py +299 -0
- agent_evolve/application/source_exposure_allocation.py +906 -0
- agent_evolve/application/staged_memory.py +210 -0
- agent_evolve/application/stratified_cold_start_allocation.py +732 -0
- agent_evolve/application/support_guarded_hurdle_score.py +549 -0
- agent_evolve/application/target_conditioned_action_forecast.py +595 -0
- agent_evolve/application/target_conditioned_campaign.py +566 -0
- agent_evolve/application/treatment_assignment.py +201 -0
- agent_evolve/application/trusted_objective_evidence.py +217 -0
- agent_evolve/application/two_stage_action_evolution.py +1131 -0
- agent_evolve/application/v8lite_allocation_policy.py +1083 -0
- agent_evolve/application/v9_candidate_policy.py +1303 -0
- agent_evolve/bootstrap.py +108 -0
- agent_evolve/campaign_presets.py +517 -0
- agent_evolve/campaign_profiles.py +452 -0
- agent_evolve/campaign_variation_topology.py +288 -0
- agent_evolve/campaign_workload.py +950 -0
- agent_evolve/cli.py +797 -0
- agent_evolve/contract.py +241 -0
- agent_evolve/core/__init__.py +91 -0
- agent_evolve/core/action_semantics.py +411 -0
- agent_evolve/core/authored.py +105 -0
- agent_evolve/core/formatting.py +286 -0
- agent_evolve/core/optimization_semantics.py +324 -0
- agent_evolve/core/problem.py +167 -0
- agent_evolve/core/results.py +323 -0
- agent_evolve/core/stats.py +70 -0
- agent_evolve/core/telemetry.py +100 -0
- agent_evolve/domain/__init__.py +89 -0
- agent_evolve/domain/artifact.py +162 -0
- agent_evolve/domain/durable_text.py +68 -0
- agent_evolve/domain/event.py +1454 -0
- agent_evolve/domain/finite_action_set.py +426 -0
- agent_evolve/domain/finite_variation.py +526 -0
- agent_evolve/domain/generative_emission.py +559 -0
- agent_evolve/domain/ids.py +163 -0
- agent_evolve/domain/inline_text.py +106 -0
- agent_evolve/domain/insight.py +27 -0
- agent_evolve/domain/lineage.py +737 -0
- agent_evolve/domain/llm_task_queue.py +960 -0
- agent_evolve/domain/outcome.py +96 -0
- agent_evolve/domain/patch.py +854 -0
- agent_evolve/domain/typed_json.py +542 -0
- agent_evolve/domain/variation_space.py +158 -0
- agent_evolve/driver.py +1014 -0
- agent_evolve/harness/__init__.py +29 -0
- agent_evolve/harness/base.py +242 -0
- agent_evolve/harness/directives.py +163 -0
- agent_evolve/harness/generative_seal.py +479 -0
- agent_evolve/harness/registry.py +41 -0
- agent_evolve/infrastructure/__init__.py +39 -0
- agent_evolve/infrastructure/artifacts/__init__.py +6 -0
- agent_evolve/infrastructure/artifacts/_verification.py +67 -0
- agent_evolve/infrastructure/artifacts/filesystem.py +343 -0
- agent_evolve/infrastructure/artifacts/in_memory.py +73 -0
- agent_evolve/infrastructure/asyncio_runtime.py +109 -0
- agent_evolve/infrastructure/authored_runtime.py +188 -0
- agent_evolve/infrastructure/authored_worker.py +171 -0
- agent_evolve/infrastructure/clock.py +53 -0
- agent_evolve/infrastructure/events/__init__.py +6 -0
- agent_evolve/infrastructure/events/_validation.py +89 -0
- agent_evolve/infrastructure/events/in_memory.py +56 -0
- agent_evolve/infrastructure/events/jsonl.py +193 -0
- agent_evolve/infrastructure/exception_provenance.py +215 -0
- agent_evolve/infrastructure/ids.py +118 -0
- agent_evolve/infrastructure/lineage_codec.py +1836 -0
- agent_evolve/infrastructure/outcome_adaptive_phase_journal.py +170 -0
- agent_evolve/infrastructure/residual_headroom_journal.py +221 -0
- agent_evolve/infrastructure/resource_lease.py +370 -0
- agent_evolve/infrastructure/sanitization/__init__.py +8 -0
- agent_evolve/infrastructure/sanitization/strict_json.py +484 -0
- agent_evolve/infrastructure/sequential_phase_journal.py +170 -0
- agent_evolve/infrastructure/stream_liveness.py +383 -0
- agent_evolve/infrastructure/subprocess_boundary.py +136 -0
- agent_evolve/integrations/__init__.py +1 -0
- agent_evolve/integrations/botorch/__init__.py +28 -0
- agent_evolve/integrations/botorch/finite_qlognehvi.py +190 -0
- agent_evolve/integrations/botorch/finite_qlognehvi_batch.py +155 -0
- agent_evolve/integrations/botorch/finite_qlognehvi_batch_identity.py +20 -0
- agent_evolve/integrations/botorch/finite_qlognehvi_batch_worker.py +55 -0
- agent_evolve/integrations/botorch/finite_qlognehvi_identity.py +22 -0
- agent_evolve/integrations/botorch/finite_qlognehvi_worker.py +55 -0
- agent_evolve/integrations/botorch/subprocess_qlognehvi.py +261 -0
- agent_evolve/integrations/botorch/subprocess_qlognehvi_batch.py +273 -0
- agent_evolve/integrations/completion.py +242 -0
- agent_evolve/integrations/pydantic_ai/__init__.py +441 -0
- agent_evolve/integrations/pydantic_ai/action_forecast.py +1068 -0
- agent_evolve/integrations/pydantic_ai/agentic_generator.py +2308 -0
- agent_evolve/integrations/pydantic_ai/async_generator.py +1604 -0
- agent_evolve/integrations/pydantic_ai/boundary_codec.py +1526 -0
- agent_evolve/integrations/pydantic_ai/calibrated_portfolio_campaign.py +756 -0
- agent_evolve/integrations/pydantic_ai/calibrated_portfolio_selection.py +7537 -0
- agent_evolve/integrations/pydantic_ai/campaign_acquisition.py +609 -0
- agent_evolve/integrations/pydantic_ai/execution_binding.py +138 -0
- agent_evolve/integrations/pydantic_ai/forecast_geometry_action_committee.py +217 -0
- agent_evolve/integrations/pydantic_ai/harness.py +159 -0
- agent_evolve/integrations/pydantic_ai/heterogeneous_model_execution.py +306 -0
- agent_evolve/integrations/pydantic_ai/hierarchical_residual_adaptive_semantic_view.py +179 -0
- agent_evolve/integrations/pydantic_ai/json_schema_dialect.py +108 -0
- agent_evolve/integrations/pydantic_ai/materialized_hierarchical_residual_expert.py +952 -0
- agent_evolve/integrations/pydantic_ai/materialized_portfolio_judge.py +520 -0
- agent_evolve/integrations/pydantic_ai/model_execution_profile.py +659 -0
- agent_evolve/integrations/pydantic_ai/outbound_request_manifest.py +1170 -0
- agent_evolve/integrations/pydantic_ai/portable_residual_consequence_features.py +575 -0
- agent_evolve/integrations/pydantic_ai/portfolio_selection.py +422 -0
- agent_evolve/integrations/pydantic_ai/progress_aware_openrouter.py +416 -0
- agent_evolve/integrations/pydantic_ai/provider_attempt_join.py +1523 -0
- agent_evolve/integrations/pydantic_ai/provider_free_calibrated_runner.py +607 -0
- agent_evolve/integrations/pydantic_ai/queued_runner.py +2634 -0
- agent_evolve/integrations/pydantic_ai/reconciled_residual_reachability.py +1417 -0
- agent_evolve/integrations/pydantic_ai/residual_forecast_geometry.py +445 -0
- agent_evolve/integrations/pydantic_ai/residual_reachability.py +674 -0
- agent_evolve/integrations/pydantic_ai/residual_semantic_cells.py +239 -0
- agent_evolve/integrations/pydantic_ai/sealed_output_replay.py +1068 -0
- agent_evolve/integrations/pydantic_ai/semantic_coverage_residual_portfolio.py +770 -0
- agent_evolve/integrations/pydantic_ai/semantic_decision_replay.py +383 -0
- agent_evolve/integrations/pydantic_ai/support_adaptive_residual_portfolio.py +135 -0
- agent_evolve/integrations/pydantic_ai/trusted_residual_prompt_context.py +143 -0
- agent_evolve/integrations/pydantic_ai/validated_openrouter_model.py +107 -0
- agent_evolve/integrations/pymoo_adapter.py +242 -0
- agent_evolve/policies/__init__.py +17 -0
- agent_evolve/policies/check.py +469 -0
- agent_evolve/policies/emit_scaffold.py +451 -0
- agent_evolve/policies/feedback/__init__.py +37 -0
- agent_evolve/policies/feedback/held_out_asn.py +1325 -0
- agent_evolve/policies/genetic.py +607 -0
- agent_evolve/policies/llm_backoff.py +183 -0
- agent_evolve/policies/llm_chooser.py +226 -0
- agent_evolve/policies/llm_generator.py +1760 -0
- agent_evolve/policies/llm_init.py +267 -0
- agent_evolve/policies/llm_operator.py +109 -0
- agent_evolve/policies/llm_prior.py +194 -0
- agent_evolve/policies/llm_surrogate.py +334 -0
- agent_evolve/policies/measurement_evidence.py +704 -0
- agent_evolve/policies/memory/__init__.py +223 -0
- agent_evolve/policies/memory/balanced_subset_blocks.py +707 -0
- agent_evolve/policies/memory/compatibility_matching.py +593 -0
- agent_evolve/policies/memory/global_falsification.py +1841 -0
- agent_evolve/policies/memory/prompt_shape.py +503 -0
- agent_evolve/policies/memory/randomized_subset.py +714 -0
- agent_evolve/policies/memory/staged_causal.py +1270 -0
- agent_evolve/policies/memory/treatment_compliance.py +759 -0
- agent_evolve/policies/objective_resolution/__init__.py +17 -0
- agent_evolve/policies/objective_resolution/fixed_grid.py +364 -0
- agent_evolve/policies/operator_portfolio.py +407 -0
- agent_evolve/policies/reguidance.py +1133 -0
- agent_evolve/policies/reward/__init__.py +83 -0
- agent_evolve/policies/reward/affine_candidate_consequence.py +156 -0
- agent_evolve/policies/reward/affine_candidate_consequence_3d.py +159 -0
- agent_evolve/policies/reward/affine_hypervolume.py +490 -0
- agent_evolve/policies/reward/affine_hypervolume_3d.py +567 -0
- agent_evolve/policies/reward/contextual_marginal_utility.py +318 -0
- agent_evolve/policies/reward/frozen_archive.py +360 -0
- agent_evolve/policies/reward/frozen_wave_archive.py +368 -0
- agent_evolve/policies/search_state.py +208 -0
- agent_evolve/policies/selection/__init__.py +345 -0
- agent_evolve/policies/selection/acquisition_certified_slate.py +684 -0
- agent_evolve/policies/selection/affine_frontier_context.py +330 -0
- agent_evolve/policies/selection/affine_frontier_target.py +473 -0
- agent_evolve/policies/selection/archive_elite.py +1346 -0
- agent_evolve/policies/selection/calibrated_portfolio_binding.py +640 -0
- agent_evolve/policies/selection/calibrated_slate.py +1394 -0
- agent_evolve/policies/selection/calibrated_slate_codec.py +579 -0
- agent_evolve/policies/selection/common_candidate_pool.py +685 -0
- agent_evolve/policies/selection/diagnostic_sampling.py +319 -0
- agent_evolve/policies/selection/disjoint_pairs.py +479 -0
- agent_evolve/policies/selection/elite_explorer.py +719 -0
- agent_evolve/policies/selection/finite_action.py +187 -0
- agent_evolve/policies/selection/finite_option_prompt_projection.py +377 -0
- agent_evolve/policies/selection/finite_palette_evidence.py +247 -0
- agent_evolve/policies/selection/forecast_calibration.py +922 -0
- agent_evolve/policies/selection/frontier_probe_slate.py +814 -0
- agent_evolve/policies/selection/frozen_archive_pairs.py +762 -0
- agent_evolve/policies/selection/full_support_slate.py +91 -0
- agent_evolve/policies/selection/meaningful_direction.py +240 -0
- agent_evolve/policies/selection/memory_dose_feasibility.py +259 -0
- agent_evolve/policies/selection/model_anchored_slate.py +826 -0
- agent_evolve/policies/selection/phenotype_recourse.py +979 -0
- agent_evolve/policies/selection/proposal_support.py +368 -0
- agent_evolve/policies/selection/random_portfolio.py +254 -0
- agent_evolve/policies/selection/regret_bounded_slate.py +1084 -0
- agent_evolve/policies/selection/residual_frontier.py +463 -0
- agent_evolve/policies/selection/residual_frontier_target.py +605 -0
- agent_evolve/policies/selection/structural_posterior_slate.py +1571 -0
- agent_evolve/policies/selection/target_conditioned_allocator.py +648 -0
- agent_evolve/policies/selection/target_conditioned_features.py +812 -0
- agent_evolve/policies/selection/target_conditioned_prequential.py +1527 -0
- agent_evolve/policies/selection/task_keyed_palette.py +906 -0
- agent_evolve/policies/semantics.py +147 -0
- agent_evolve/policies/structure.py +362 -0
- agent_evolve/policies/structured_output_budget.py +62 -0
- agent_evolve/policies/surrogate.py +696 -0
- agent_evolve/policies/variation/__init__.py +1 -0
- agent_evolve/policies/variation/compositional_finite_catalog.py +426 -0
- agent_evolve/policies/variation/crossover_inheritance.py +575 -0
- agent_evolve/policies/variation/disjoint_recombination.py +611 -0
- agent_evolve/policies/variation/exact_composition_capacity.py +214 -0
- agent_evolve/policies/variation/exact_parent_crossover.py +950 -0
- agent_evolve/policies/variation/multiscale_restart_catalog.py +372 -0
- agent_evolve/policies/variation/source_union_finite_catalog.py +403 -0
- agent_evolve/policies/variation/typed_patch.py +1981 -0
- agent_evolve/policies/weighted_prior.py +394 -0
- agent_evolve/ports/__init__.py +383 -0
- agent_evolve/ports/action_allocation.py +733 -0
- agent_evolve/ports/action_allocation_frame.py +1153 -0
- agent_evolve/ports/action_allocation_frame_commit.py +294 -0
- agent_evolve/ports/action_allocation_frame_commit_v3.py +432 -0
- agent_evolve/ports/action_allocation_frame_v3.py +995 -0
- agent_evolve/ports/action_forecast.py +1568 -0
- agent_evolve/ports/action_metric_projection.py +165 -0
- agent_evolve/ports/agentic_generator.py +1561 -0
- agent_evolve/ports/archive_context.py +136 -0
- agent_evolve/ports/artifact_sanitizer.py +44 -0
- agent_evolve/ports/artifact_store.py +225 -0
- agent_evolve/ports/clock.py +13 -0
- agent_evolve/ports/contextual_search_allocation.py +827 -0
- agent_evolve/ports/decision_metric_projection.py +258 -0
- agent_evolve/ports/event_store.py +55 -0
- agent_evolve/ports/executable_hypothesis.py +557 -0
- agent_evolve/ports/finite_acquisition.py +377 -0
- agent_evolve/ports/finite_acquisition_batch.py +296 -0
- agent_evolve/ports/finite_acquisition_batch_json.py +164 -0
- agent_evolve/ports/finite_acquisition_json.py +247 -0
- agent_evolve/ports/finite_acquisition_space.py +168 -0
- agent_evolve/ports/finite_action_selection.py +348 -0
- agent_evolve/ports/finite_action_set.py +256 -0
- agent_evolve/ports/frontier_target.py +396 -0
- agent_evolve/ports/generation_failure.py +43 -0
- agent_evolve/ports/hard_feasibility.py +233 -0
- agent_evolve/ports/id_factory.py +34 -0
- agent_evolve/ports/llm_task_queue.py +93 -0
- agent_evolve/ports/objective_resolution.py +419 -0
- agent_evolve/ports/paired_allocation_comparison.py +401 -0
- agent_evolve/ports/paired_block_schedule.py +475 -0
- agent_evolve/ports/parent_measurement.py +336 -0
- agent_evolve/ports/portfolio_memory_dose.py +643 -0
- agent_evolve/ports/portfolio_selection.py +3169 -0
- agent_evolve/ports/postcommit_rank_authority.py +467 -0
- agent_evolve/ports/presented_action_evidence.py +794 -0
- agent_evolve/ports/resource_lease.py +162 -0
- agent_evolve/ports/structured_generator.py +734 -0
- agent_evolve/ports/structured_output_budget.py +120 -0
- agent_evolve/ports/subprocess_boundary.py +138 -0
- agent_evolve/ports/treatment_assignment.py +466 -0
- agent_evolve/ports/variation_catalog.py +76 -0
- agent_evolve/ports/variation_source.py +226 -0
- agent_evolve/proposal_mode.py +157 -0
- agent_evolve/proposers/__init__.py +10 -0
- agent_evolve/proposers/random_proposer.py +188 -0
- agent_evolve/provider_accounting.py +163 -0
- agent_evolve/py.typed +0 -0
- agent_evolve/reference_method.py +1570 -0
- agent_evolve/session/__init__.py +11 -0
- agent_evolve/session/authorship.py +864 -0
- agent_evolve/session/evaluate.py +236 -0
- agent_evolve/session/fidelity.py +237 -0
- agent_evolve/session/genetic_loop.py +742 -0
- agent_evolve/session/loop.py +803 -0
- agent_evolve/session/screening.py +671 -0
- agent_evolve/settings.py +376 -0
- agent_evolve/workload_kit.py +368 -0
- agent_evolve/workload_prompt.py +398 -0
- agentevolve_optimizer-0.5.0.dist-info/METADATA +599 -0
- agentevolve_optimizer-0.5.0.dist-info/RECORD +414 -0
- agentevolve_optimizer-0.5.0.dist-info/WHEEL +5 -0
- agentevolve_optimizer-0.5.0.dist-info/entry_points.txt +2 -0
- agentevolve_optimizer-0.5.0.dist-info/licenses/LICENSE +21 -0
- agentevolve_optimizer-0.5.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"""One workload-neutral switch for atomic and radius-two search topology.
|
|
2
|
+
|
|
3
|
+
Workload adapters own their atomic finite-action catalog. This configuration
|
|
4
|
+
owns only how AgentEvolve exposes that catalog to its selector: unchanged,
|
|
5
|
+
legacy flat radius-two options, or an explicit ranked union with a bounded
|
|
6
|
+
composite proposal stratum. The same object is usable by every workload and
|
|
7
|
+
is safe to construct before any provider or evaluator access.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
import hashlib
|
|
13
|
+
from collections.abc import Mapping
|
|
14
|
+
from dataclasses import dataclass
|
|
15
|
+
from enum import Enum
|
|
16
|
+
|
|
17
|
+
from agent_evolve.policies.variation.compositional_finite_catalog import (
|
|
18
|
+
COMPOSITION_LEFT_OPTION_METADATA_KEY,
|
|
19
|
+
COMPOSITION_REQUIRED_PROPOSALS_METADATA_KEY,
|
|
20
|
+
COMPOSITION_RIGHT_OPTION_METADATA_KEY,
|
|
21
|
+
COMPOSITION_SELECTION_EXPOSURE_METADATA_KEY,
|
|
22
|
+
BoundedCompositionalFiniteVariationCatalog,
|
|
23
|
+
CompositionSelectionExposure,
|
|
24
|
+
)
|
|
25
|
+
from agent_evolve.ports.variation_catalog import FiniteVariationCatalog
|
|
26
|
+
from agent_evolve.domain.finite_variation import FiniteVariationContract
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
_POOL_SUPPORT_DOMAIN = b"agent-evolve:hierarchical-pool-support:v1\x00"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class CampaignVariationTopologyMode(str, Enum):
|
|
33
|
+
"""Closed search-topology treatments shared across workload runners."""
|
|
34
|
+
|
|
35
|
+
ATOMIC = "atomic"
|
|
36
|
+
FLAT_R2 = "flat_r2"
|
|
37
|
+
HIERARCHICAL_R2 = "hierarchical_r2"
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@dataclass(frozen=True, slots=True)
|
|
41
|
+
class CampaignVariationTopology:
|
|
42
|
+
"""Validated topology configuration applied behind the catalog port."""
|
|
43
|
+
|
|
44
|
+
mode: CampaignVariationTopologyMode = CampaignVariationTopologyMode.ATOMIC
|
|
45
|
+
max_composite_options: int = 0
|
|
46
|
+
required_composite_proposals: int = 0
|
|
47
|
+
|
|
48
|
+
def __post_init__(self) -> None:
|
|
49
|
+
if type(self.mode) is not CampaignVariationTopologyMode:
|
|
50
|
+
raise TypeError("mode must be an exact CampaignVariationTopologyMode")
|
|
51
|
+
if type(self.max_composite_options) is not int:
|
|
52
|
+
raise TypeError("max_composite_options must be an exact integer")
|
|
53
|
+
if type(self.required_composite_proposals) is not int:
|
|
54
|
+
raise TypeError("required_composite_proposals must be an exact integer")
|
|
55
|
+
if self.mode is CampaignVariationTopologyMode.ATOMIC:
|
|
56
|
+
if self.max_composite_options != 0:
|
|
57
|
+
raise ValueError("atomic topology cannot materialize composites")
|
|
58
|
+
if self.required_composite_proposals != 0:
|
|
59
|
+
raise ValueError("atomic topology cannot require composites")
|
|
60
|
+
return
|
|
61
|
+
if not 1 <= self.max_composite_options < 1024:
|
|
62
|
+
raise ValueError("radius-two composite bound must lie in [1, 1024)")
|
|
63
|
+
if self.mode is CampaignVariationTopologyMode.FLAT_R2:
|
|
64
|
+
if self.required_composite_proposals != 0:
|
|
65
|
+
raise ValueError("flat radius-two topology has no proposal stratum")
|
|
66
|
+
return
|
|
67
|
+
if not 1 <= self.required_composite_proposals < 8:
|
|
68
|
+
raise ValueError(
|
|
69
|
+
"hierarchical required composite proposals must lie in [1, 8)"
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def from_environment(
|
|
74
|
+
cls,
|
|
75
|
+
environment: Mapping[str, str],
|
|
76
|
+
*,
|
|
77
|
+
default_mode: CampaignVariationTopologyMode = (
|
|
78
|
+
CampaignVariationTopologyMode.ATOMIC
|
|
79
|
+
),
|
|
80
|
+
default_max_composite_options: int = 128,
|
|
81
|
+
default_required_composite_proposals: int = 2,
|
|
82
|
+
) -> "CampaignVariationTopology":
|
|
83
|
+
"""Parse one identical strict environment contract in every launcher."""
|
|
84
|
+
|
|
85
|
+
if not isinstance(environment, Mapping):
|
|
86
|
+
raise TypeError("environment must implement Mapping[str, str]")
|
|
87
|
+
if type(default_mode) is not CampaignVariationTopologyMode:
|
|
88
|
+
raise TypeError("default_mode must be exact")
|
|
89
|
+
raw_max = environment.get("AGENT_EVOLVE_COMPOSITE_OPTION_COUNT")
|
|
90
|
+
parsed_maximum: int | None = None
|
|
91
|
+
if raw_max is not None:
|
|
92
|
+
if not raw_max.isascii() or not raw_max.isdigit():
|
|
93
|
+
raise ValueError(
|
|
94
|
+
"AGENT_EVOLVE_COMPOSITE_OPTION_COUNT must be decimal digits"
|
|
95
|
+
)
|
|
96
|
+
parsed_maximum = int(raw_max)
|
|
97
|
+
|
|
98
|
+
raw_required = environment.get("AGENT_EVOLVE_REQUIRED_COMPOSITE_PROPOSALS")
|
|
99
|
+
parsed_required: int | None = None
|
|
100
|
+
if raw_required is not None:
|
|
101
|
+
if not raw_required.isascii() or not raw_required.isdigit():
|
|
102
|
+
raise ValueError(
|
|
103
|
+
"AGENT_EVOLVE_REQUIRED_COMPOSITE_PROPOSALS must be decimal digits"
|
|
104
|
+
)
|
|
105
|
+
parsed_required = int(raw_required)
|
|
106
|
+
|
|
107
|
+
legacy_exposure = environment.get("AGENT_EVOLVE_COMPOSITION_SELECTION_EXPOSURE")
|
|
108
|
+
if legacy_exposure is not None:
|
|
109
|
+
# Validate the legacy spelling before using it for compatibility
|
|
110
|
+
# inference. This keeps all launchers fail-closed on typos.
|
|
111
|
+
CompositionSelectionExposure(legacy_exposure)
|
|
112
|
+
|
|
113
|
+
raw_mode = environment.get("AGENT_EVOLVE_VARIATION_TOPOLOGY")
|
|
114
|
+
if raw_mode is None:
|
|
115
|
+
# Preserve legacy BOiLS launch commands while moving every runner
|
|
116
|
+
# to the same explicit topology object. A positive legacy bound
|
|
117
|
+
# meant flat radius-two unless the old hierarchical exposure was
|
|
118
|
+
# also selected.
|
|
119
|
+
if legacy_exposure == (
|
|
120
|
+
CompositionSelectionExposure.HIERARCHICAL_RANKED_UNION.value
|
|
121
|
+
):
|
|
122
|
+
mode = CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
123
|
+
elif parsed_maximum is not None and parsed_maximum > 0:
|
|
124
|
+
mode = CampaignVariationTopologyMode.FLAT_R2
|
|
125
|
+
else:
|
|
126
|
+
mode = default_mode
|
|
127
|
+
else:
|
|
128
|
+
mode = CampaignVariationTopologyMode(raw_mode)
|
|
129
|
+
|
|
130
|
+
maximum = (
|
|
131
|
+
parsed_maximum
|
|
132
|
+
if parsed_maximum is not None
|
|
133
|
+
else (
|
|
134
|
+
0
|
|
135
|
+
if mode is CampaignVariationTopologyMode.ATOMIC
|
|
136
|
+
else default_max_composite_options
|
|
137
|
+
)
|
|
138
|
+
)
|
|
139
|
+
required = (
|
|
140
|
+
parsed_required
|
|
141
|
+
if parsed_required is not None
|
|
142
|
+
else (
|
|
143
|
+
default_required_composite_proposals
|
|
144
|
+
if mode is CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
145
|
+
else 0
|
|
146
|
+
)
|
|
147
|
+
)
|
|
148
|
+
if legacy_exposure is not None:
|
|
149
|
+
expected = {
|
|
150
|
+
CampaignVariationTopologyMode.ATOMIC: "flat",
|
|
151
|
+
CampaignVariationTopologyMode.FLAT_R2: "flat",
|
|
152
|
+
CampaignVariationTopologyMode.HIERARCHICAL_R2: (
|
|
153
|
+
CompositionSelectionExposure.HIERARCHICAL_RANKED_UNION.value
|
|
154
|
+
),
|
|
155
|
+
}[mode]
|
|
156
|
+
if legacy_exposure != expected:
|
|
157
|
+
raise ValueError(
|
|
158
|
+
"legacy composition exposure conflicts with variation topology"
|
|
159
|
+
)
|
|
160
|
+
return cls(
|
|
161
|
+
mode=mode,
|
|
162
|
+
max_composite_options=maximum,
|
|
163
|
+
required_composite_proposals=required,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
@property
|
|
167
|
+
def hierarchical_composition_required_proposals(self) -> int | None:
|
|
168
|
+
self.__post_init__()
|
|
169
|
+
return (
|
|
170
|
+
self.required_composite_proposals
|
|
171
|
+
if self.mode is CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
172
|
+
else None
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
def selection_exposure(self) -> CompositionSelectionExposure:
|
|
177
|
+
self.__post_init__()
|
|
178
|
+
return (
|
|
179
|
+
CompositionSelectionExposure.HIERARCHICAL_RANKED_UNION
|
|
180
|
+
if self.mode is CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
181
|
+
else CompositionSelectionExposure.FLAT
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
def decorate(self, catalog: FiniteVariationCatalog) -> FiniteVariationCatalog:
|
|
185
|
+
"""Return the selected topology behind the unchanged catalog protocol."""
|
|
186
|
+
|
|
187
|
+
self.__post_init__()
|
|
188
|
+
if not isinstance(catalog, FiniteVariationCatalog):
|
|
189
|
+
raise TypeError("catalog must implement FiniteVariationCatalog")
|
|
190
|
+
if self.mode is CampaignVariationTopologyMode.ATOMIC:
|
|
191
|
+
return catalog
|
|
192
|
+
return BoundedCompositionalFiniteVariationCatalog(
|
|
193
|
+
catalog,
|
|
194
|
+
max_composite_options=self.max_composite_options,
|
|
195
|
+
selection_exposure=self.selection_exposure,
|
|
196
|
+
required_composite_proposals=(
|
|
197
|
+
self.required_composite_proposals
|
|
198
|
+
if self.mode is CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
199
|
+
else 1
|
|
200
|
+
),
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
def prompt_metadata_keys(
|
|
204
|
+
self,
|
|
205
|
+
base_keys: tuple[str, ...] = (),
|
|
206
|
+
) -> tuple[str, ...]:
|
|
207
|
+
"""Return the minimal metadata projection needed by this topology."""
|
|
208
|
+
|
|
209
|
+
self.__post_init__()
|
|
210
|
+
if type(base_keys) is not tuple or any(
|
|
211
|
+
type(value) is not str or not value for value in base_keys
|
|
212
|
+
):
|
|
213
|
+
raise TypeError("base_keys must be an exact tuple of non-empty strings")
|
|
214
|
+
if self.mode is not CampaignVariationTopologyMode.HIERARCHICAL_R2:
|
|
215
|
+
return tuple(sorted(set(base_keys)))
|
|
216
|
+
return tuple(
|
|
217
|
+
sorted(
|
|
218
|
+
{
|
|
219
|
+
*base_keys,
|
|
220
|
+
COMPOSITION_LEFT_OPTION_METADATA_KEY,
|
|
221
|
+
COMPOSITION_REQUIRED_PROPOSALS_METADATA_KEY,
|
|
222
|
+
COMPOSITION_RIGHT_OPTION_METADATA_KEY,
|
|
223
|
+
COMPOSITION_SELECTION_EXPOSURE_METADATA_KEY,
|
|
224
|
+
}
|
|
225
|
+
)
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
def required_candidate_pool_option_ids(
|
|
229
|
+
self,
|
|
230
|
+
contract: FiniteVariationContract,
|
|
231
|
+
) -> tuple[str, ...]:
|
|
232
|
+
"""Reserve model-blind crossover support in a bounded common pool."""
|
|
233
|
+
|
|
234
|
+
self.__post_init__()
|
|
235
|
+
if type(contract) is not FiniteVariationContract:
|
|
236
|
+
raise TypeError("contract must be exact FiniteVariationContract")
|
|
237
|
+
contract.__post_init__()
|
|
238
|
+
if self.mode is not CampaignVariationTopologyMode.HIERARCHICAL_R2:
|
|
239
|
+
return ()
|
|
240
|
+
composites = tuple(
|
|
241
|
+
option.option_id
|
|
242
|
+
for option in contract.options
|
|
243
|
+
if dict(option.metadata).get(
|
|
244
|
+
COMPOSITION_SELECTION_EXPOSURE_METADATA_KEY
|
|
245
|
+
)
|
|
246
|
+
== CompositionSelectionExposure.HIERARCHICAL_RANKED_UNION.value
|
|
247
|
+
)
|
|
248
|
+
if len(composites) < self.required_composite_proposals:
|
|
249
|
+
raise ValueError("hierarchical contract lacks required crossover support")
|
|
250
|
+
contract_sha256 = contract.identity_sha256
|
|
251
|
+
return tuple(
|
|
252
|
+
sorted(
|
|
253
|
+
sorted(
|
|
254
|
+
composites,
|
|
255
|
+
key=lambda option_id: (
|
|
256
|
+
hashlib.sha256(
|
|
257
|
+
_POOL_SUPPORT_DOMAIN
|
|
258
|
+
+ bytes.fromhex(contract_sha256)
|
|
259
|
+
+ option_id.encode("ascii", errors="strict")
|
|
260
|
+
).digest(),
|
|
261
|
+
option_id,
|
|
262
|
+
),
|
|
263
|
+
)[: self.required_composite_proposals]
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
|
|
267
|
+
def to_record(self) -> dict[str, object]:
|
|
268
|
+
self.__post_init__()
|
|
269
|
+
return {
|
|
270
|
+
"schema_version": 2,
|
|
271
|
+
"mode": self.mode.value,
|
|
272
|
+
"max_composite_options": self.max_composite_options,
|
|
273
|
+
"required_composite_proposals": self.required_composite_proposals,
|
|
274
|
+
"required_composite_proposals_semantics": (
|
|
275
|
+
"preferred_then_nearest_exact_k8_capacity_projection"
|
|
276
|
+
if self.mode is CampaignVariationTopologyMode.HIERARCHICAL_R2
|
|
277
|
+
else "not_applicable"
|
|
278
|
+
),
|
|
279
|
+
"selection_exposure": self.selection_exposure.value,
|
|
280
|
+
"provider_materialization_authority": False,
|
|
281
|
+
"outcomes_consulted": False,
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
__all__ = [
|
|
286
|
+
"CampaignVariationTopology",
|
|
287
|
+
"CampaignVariationTopologyMode",
|
|
288
|
+
]
|