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,455 @@
1
+ """Join prompt-visible action evidence to exact resolved forecast cells.
2
+
3
+ The benchmark injects :class:`PresentedActionEvidenceCell` values. This
4
+ application service validates their prompt provenance and performs only a pure
5
+ join and arithmetic projection. It has no outcome-store, evaluator, provider,
6
+ or benchmark dependency and therefore cannot silently turn presented evidence
7
+ into a truth or calibration claim.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import hashlib
13
+
14
+ from agent_evolve.domain.finite_variation import FiniteActionEvidenceBinding
15
+ from agent_evolve.ports.action_forecast import (
16
+ ActionForecastBlockRequest,
17
+ ResolvedActionForecast,
18
+ ResolvedActionForecastBlock,
19
+ ResolvedActionMetricForecast,
20
+ validate_resolved_action_forecast_block,
21
+ )
22
+ from agent_evolve.ports.portfolio_selection import PortfolioCard
23
+ from agent_evolve.ports.presented_action_evidence import (
24
+ PresentedActionEvidenceCell,
25
+ PresentedActionEvidenceCellAssessment,
26
+ PresentedActionEvidenceConsistencyAssessment,
27
+ PresentedActionEvidenceConsistencyFrameKind,
28
+ PresentedActionEvidenceConsistencyPolicyBinding,
29
+ PresentedActionEvidenceProvenanceKind,
30
+ PresentedActionEvidenceSubsetBinding,
31
+ PresentedActionEvidenceSubsetPolicyBinding,
32
+ )
33
+
34
+
35
+ PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_ID = (
36
+ "descriptive_presented_action_evidence_consistency"
37
+ )
38
+ PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_VERSION = 1
39
+ PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_DEFINITION_SHA256 = hashlib.sha256(
40
+ b"agent-evolve:descriptive-presented-action-evidence-consistency:v1;"
41
+ b"authenticated-prompt-provenance-required=true;"
42
+ b"maximum-normalized-absolute-error=none;"
43
+ b"require-direction-agreement=false;"
44
+ b"require-interval-coverage=false;"
45
+ b"scope=presented-evidence-not-truth-or-calibration"
46
+ ).hexdigest()
47
+
48
+
49
+ def descriptive_presented_action_evidence_consistency_policy(
50
+ ) -> PresentedActionEvidenceConsistencyPolicyBinding:
51
+ """Return the default authenticated, descriptive-only policy binding."""
52
+
53
+ return PresentedActionEvidenceConsistencyPolicyBinding(
54
+ policy_id=PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_ID,
55
+ policy_version=PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_VERSION,
56
+ policy_definition_sha256=(
57
+ PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_DEFINITION_SHA256
58
+ ),
59
+ maximum_normalized_absolute_error=None,
60
+ require_direction_agreement=False,
61
+ require_interval_coverage=False,
62
+ )
63
+
64
+
65
+ def _validate_block(
66
+ block_request: ActionForecastBlockRequest,
67
+ block: ResolvedActionForecastBlock,
68
+ ) -> None:
69
+ if type(block_request) is not ActionForecastBlockRequest:
70
+ raise TypeError("block_request must be an exact ActionForecastBlockRequest")
71
+ if type(block) is not ResolvedActionForecastBlock:
72
+ raise TypeError("block must be an exact ResolvedActionForecastBlock")
73
+ validate_resolved_action_forecast_block(block_request, block)
74
+
75
+
76
+ def bind_presented_action_evidence_subset(
77
+ block_request: ActionForecastBlockRequest,
78
+ block: ResolvedActionForecastBlock,
79
+ *,
80
+ subset_policy: PresentedActionEvidenceSubsetPolicyBinding,
81
+ included_global_row_indices: tuple[int, ...],
82
+ ) -> PresentedActionEvidenceSubsetBinding:
83
+ """Bind an identified exact row subset to one resolved block receipt."""
84
+
85
+ _validate_block(block_request, block)
86
+ if type(subset_policy) is not PresentedActionEvidenceSubsetPolicyBinding:
87
+ raise TypeError("subset_policy must be an exact subset-policy binding")
88
+ subset_policy.__post_init__()
89
+ if type(included_global_row_indices) is not tuple or not (
90
+ included_global_row_indices
91
+ ) or any(type(value) is not int for value in included_global_row_indices):
92
+ raise ValueError(
93
+ "included_global_row_indices must be a non-empty exact tuple"
94
+ )
95
+ if included_global_row_indices != tuple(
96
+ sorted(set(included_global_row_indices))
97
+ ):
98
+ raise ValueError("included global rows must be unique and canonical")
99
+ spec = block_request.block
100
+ if any(
101
+ value < spec.global_row_start or value >= spec.global_row_stop
102
+ for value in included_global_row_indices
103
+ ):
104
+ raise ValueError("an included global row is outside the exact block")
105
+ option_identity_sha256s = tuple(
106
+ block.forecasts[value - spec.global_row_start].option_identity_sha256
107
+ for value in included_global_row_indices
108
+ )
109
+ return PresentedActionEvidenceSubsetBinding(
110
+ subset_policy=subset_policy,
111
+ request_sha256=block_request.request.request_sha256,
112
+ layout_sha256=block_request.layout.layout_sha256,
113
+ block_request_sha256=block_request.block_request_sha256,
114
+ block_spec_sha256=spec.block_spec_sha256,
115
+ forecast_block_receipt_sha256=block.receipt_sha256,
116
+ block_index=spec.block_index,
117
+ included_global_row_indices=included_global_row_indices,
118
+ included_option_identity_sha256s=option_identity_sha256s,
119
+ )
120
+
121
+
122
+ def _validate_subset(
123
+ block_request: ActionForecastBlockRequest,
124
+ block: ResolvedActionForecastBlock,
125
+ subset: PresentedActionEvidenceSubsetBinding,
126
+ ) -> None:
127
+ if type(subset) is not PresentedActionEvidenceSubsetBinding:
128
+ raise TypeError("subset must be an exact presented-evidence subset binding")
129
+ subset.__post_init__()
130
+ try:
131
+ expected = bind_presented_action_evidence_subset(
132
+ block_request,
133
+ block,
134
+ subset_policy=subset.subset_policy,
135
+ included_global_row_indices=subset.included_global_row_indices,
136
+ )
137
+ except (TypeError, ValueError) as error:
138
+ raise ValueError("subset is invalid for the exact forecast block") from error
139
+ if subset != expected:
140
+ raise ValueError("subset differs from its exact forecast block binding")
141
+
142
+
143
+ def _prompt_binding_index(
144
+ block_request: ActionForecastBlockRequest,
145
+ ) -> dict[
146
+ tuple[str, str],
147
+ tuple[PortfolioCard, FiniteActionEvidenceBinding],
148
+ ]:
149
+ request = block_request.request
150
+ index: dict[
151
+ tuple[str, str],
152
+ tuple[PortfolioCard, FiniteActionEvidenceBinding],
153
+ ] = {}
154
+ for card in request.cards:
155
+ card.__post_init__()
156
+ for binding in card.finite_action_evidence:
157
+ binding.__post_init__()
158
+ key = (card.card_key, binding.identity_sha256)
159
+ if key in index:
160
+ raise ValueError(
161
+ "request has an ambiguous prompt-visible action binding"
162
+ )
163
+ index[key] = (card, binding)
164
+ return index
165
+
166
+
167
+ def _validate_cell_provenance(
168
+ *,
169
+ block_request: ActionForecastBlockRequest,
170
+ cell: PresentedActionEvidenceCell,
171
+ card: PortfolioCard,
172
+ ) -> None:
173
+ source_binding = card.source_binding
174
+ if source_binding is None:
175
+ raise ValueError("presented evidence requires a source-bound prompt card")
176
+ if (
177
+ cell.provenance_kind
178
+ is PresentedActionEvidenceProvenanceKind.CARD_SOURCE_RECEIPT
179
+ ):
180
+ expected = source_binding.source_receipt_sha256
181
+ elif (
182
+ cell.provenance_kind
183
+ is PresentedActionEvidenceProvenanceKind.CARD_VIEW_RECEIPT
184
+ ):
185
+ if card.derived_view_receipt is None:
186
+ raise ValueError(
187
+ "card-view provenance requires an exact derived-view receipt"
188
+ )
189
+ expected = card.derived_view_receipt.receipt_sha256
190
+ else:
191
+ expected = block_request.request.card_snapshot_sha256
192
+ if cell.provenance_sha256 != expected:
193
+ raise ValueError("presented evidence names foreign prompt provenance")
194
+
195
+
196
+ def _same_direction(left: float, right: float) -> bool:
197
+ if left == 0.0 or right == 0.0:
198
+ return left == right
199
+ return (left > 0.0) == (right > 0.0)
200
+
201
+
202
+ def _cell_assessment(
203
+ *,
204
+ block_request: ActionForecastBlockRequest,
205
+ cell: PresentedActionEvidenceCell,
206
+ global_row_index: int,
207
+ forecast: ResolvedActionForecast,
208
+ metric: ResolvedActionMetricForecast,
209
+ card: PortfolioCard,
210
+ binding: FiniteActionEvidenceBinding,
211
+ ) -> PresentedActionEvidenceCellAssessment:
212
+ scale = next(
213
+ value
214
+ for value in block_request.request.metric_scales
215
+ if value.metric_id == cell.metric_id
216
+ )
217
+ source_binding = card.source_binding
218
+ if source_binding is None: # Defensive after request and provenance validation.
219
+ raise ValueError("presented evidence card lost its source binding")
220
+ action_identity = cell.action_evidence_binding_identity_sha256
221
+ cites = any(
222
+ citation.card_key == cell.card_key
223
+ and citation.action_binding_identity_sha256 == action_identity
224
+ for citation in metric.citations
225
+ )
226
+ return PresentedActionEvidenceCellAssessment(
227
+ presented_cell_sha256=cell.cell_sha256,
228
+ global_row_index=global_row_index,
229
+ option_id=forecast.option_id,
230
+ option_identity_sha256=forecast.option_identity_sha256,
231
+ metric_id=metric.metric_id,
232
+ presented_delta=cell.presented_delta,
233
+ p10_delta=metric.p10_delta,
234
+ p50_delta=metric.p50_delta,
235
+ p90_delta=metric.p90_delta,
236
+ direction_agreement=_same_direction(
237
+ metric.p50_delta,
238
+ cell.presented_delta,
239
+ ),
240
+ interval_coverage=(
241
+ metric.p10_delta <= cell.presented_delta <= metric.p90_delta
242
+ ),
243
+ normalized_absolute_error=(
244
+ abs(metric.p50_delta - cell.presented_delta) / scale.delta_scale
245
+ ),
246
+ metric_delta_scale=scale.delta_scale,
247
+ metric_scale_definition_sha256=scale.definition_sha256,
248
+ card_key=cell.card_key,
249
+ card_source_binding_sha256=source_binding.binding_sha256,
250
+ card_source_receipt_sha256=source_binding.source_receipt_sha256,
251
+ card_view_receipt_sha256=(
252
+ None
253
+ if card.derived_view_receipt is None
254
+ else card.derived_view_receipt.receipt_sha256
255
+ ),
256
+ action_evidence_binding_identity_sha256=action_identity,
257
+ source_contrast_id=binding.contrast_id,
258
+ source_option_id=binding.option_id,
259
+ source_family=binding.family,
260
+ source_option_identity_sha256=binding.option_identity_sha256,
261
+ source_contract_identity_sha256=binding.contract_identity_sha256,
262
+ provenance_kind=cell.provenance_kind,
263
+ provenance_sha256=cell.provenance_sha256,
264
+ forecast_cites_presented_binding=cites,
265
+ )
266
+
267
+
268
+ def _assess_presented_action_evidence_consistency(
269
+ block_request: ActionForecastBlockRequest,
270
+ block: ResolvedActionForecastBlock,
271
+ cells: tuple[PresentedActionEvidenceCell, ...],
272
+ *,
273
+ subset: PresentedActionEvidenceSubsetBinding | None,
274
+ policy: PresentedActionEvidenceConsistencyPolicyBinding | None,
275
+ ) -> PresentedActionEvidenceConsistencyAssessment:
276
+ _validate_block(block_request, block)
277
+ if type(cells) is not tuple or not cells or any(
278
+ type(value) is not PresentedActionEvidenceCell for value in cells
279
+ ):
280
+ raise ValueError("cells must be a non-empty exact presented-evidence tuple")
281
+ for value in cells:
282
+ value.__post_init__()
283
+ keys = tuple(value.sort_key for value in cells)
284
+ if keys != tuple(sorted(set(keys))):
285
+ raise ValueError("presented evidence cells must be unique and canonical")
286
+ join_keys = tuple(value.join_key for value in cells)
287
+ if len(set(join_keys)) != len(join_keys):
288
+ raise ValueError("presented evidence cells cannot repeat an evidence join")
289
+ resolved_policy = (
290
+ descriptive_presented_action_evidence_consistency_policy()
291
+ if policy is None
292
+ else policy
293
+ )
294
+ if type(resolved_policy) is not PresentedActionEvidenceConsistencyPolicyBinding:
295
+ raise TypeError("policy must be an exact consistency-policy binding")
296
+ resolved_policy.__post_init__()
297
+ if subset is not None:
298
+ _validate_subset(block_request, block, subset)
299
+
300
+ spec = block_request.block
301
+ forecast_index = {
302
+ forecast.option_identity_sha256: (
303
+ spec.global_row_start + local_index,
304
+ forecast,
305
+ )
306
+ for local_index, forecast in enumerate(block.forecasts)
307
+ }
308
+ allowed_option_identities = (
309
+ frozenset(forecast_index)
310
+ if subset is None
311
+ else frozenset(subset.included_option_identity_sha256s)
312
+ )
313
+ prompt_bindings = _prompt_binding_index(block_request)
314
+ assessed: list[PresentedActionEvidenceCellAssessment] = []
315
+ for cell in cells:
316
+ target = forecast_index.get(cell.option_identity_sha256)
317
+ if target is None:
318
+ raise ValueError("presented evidence targets a row outside the block")
319
+ if cell.option_identity_sha256 not in allowed_option_identities:
320
+ raise ValueError("presented evidence targets a row outside the subset")
321
+ global_row_index, forecast = target
322
+ metrics = {
323
+ value.metric_id: value for value in forecast.metric_forecasts
324
+ }
325
+ metric = metrics.get(cell.metric_id)
326
+ if metric is None:
327
+ raise ValueError(
328
+ "presented evidence targets a metric outside the resolved row"
329
+ )
330
+ prompt_binding = prompt_bindings.get(
331
+ (
332
+ cell.card_key,
333
+ cell.action_evidence_binding_identity_sha256,
334
+ )
335
+ )
336
+ if prompt_binding is None:
337
+ raise ValueError(
338
+ "presented evidence names a foreign prompt-visible binding"
339
+ )
340
+ card, binding = prompt_binding
341
+ _validate_cell_provenance(
342
+ block_request=block_request,
343
+ cell=cell,
344
+ card=card,
345
+ )
346
+ assessed.append(
347
+ _cell_assessment(
348
+ block_request=block_request,
349
+ cell=cell,
350
+ global_row_index=global_row_index,
351
+ forecast=forecast,
352
+ metric=metric,
353
+ card=card,
354
+ binding=binding,
355
+ )
356
+ )
357
+ canonical_assessments = tuple(sorted(assessed, key=lambda value: value.sort_key))
358
+ decision_applied = resolved_policy.decision_applied
359
+ passes = (
360
+ None
361
+ if not decision_applied
362
+ else all(
363
+ (
364
+ resolved_policy.maximum_normalized_absolute_error is None
365
+ or value.normalized_absolute_error
366
+ <= resolved_policy.maximum_normalized_absolute_error
367
+ )
368
+ and (
369
+ not resolved_policy.require_direction_agreement
370
+ or value.direction_agreement
371
+ )
372
+ and (
373
+ not resolved_policy.require_interval_coverage
374
+ or value.interval_coverage
375
+ )
376
+ for value in canonical_assessments
377
+ )
378
+ )
379
+ experimental_view_receipt = block_request.request.experimental_view_receipt
380
+ if experimental_view_receipt is None:
381
+ raise ValueError(
382
+ "presented evidence requires an authenticated experimental view"
383
+ )
384
+ return PresentedActionEvidenceConsistencyAssessment(
385
+ frame_kind=(
386
+ PresentedActionEvidenceConsistencyFrameKind.BLOCK
387
+ if subset is None
388
+ else PresentedActionEvidenceConsistencyFrameKind.SUBSET
389
+ ),
390
+ request_sha256=block_request.request.request_sha256,
391
+ request_card_snapshot_sha256=(
392
+ block_request.request.card_snapshot_sha256
393
+ ),
394
+ experimental_view_receipt_sha256=(
395
+ experimental_view_receipt.receipt_sha256
396
+ ),
397
+ layout_sha256=block_request.layout.layout_sha256,
398
+ block_request_sha256=block_request.block_request_sha256,
399
+ block_spec_sha256=spec.block_spec_sha256,
400
+ block_index=spec.block_index,
401
+ forecast_block_receipt_sha256=block.receipt_sha256,
402
+ subset_binding=subset,
403
+ policy=resolved_policy,
404
+ cell_assessments=canonical_assessments,
405
+ decision_applied=decision_applied,
406
+ passes=passes,
407
+ )
408
+
409
+
410
+ def assess_presented_action_evidence_block_consistency(
411
+ block_request: ActionForecastBlockRequest,
412
+ block: ResolvedActionForecastBlock,
413
+ cells: tuple[PresentedActionEvidenceCell, ...],
414
+ *,
415
+ policy: PresentedActionEvidenceConsistencyPolicyBinding | None = None,
416
+ ) -> PresentedActionEvidenceConsistencyAssessment:
417
+ """Assess injected prompt evidence against one complete resolved block."""
418
+
419
+ return _assess_presented_action_evidence_consistency(
420
+ block_request,
421
+ block,
422
+ cells,
423
+ subset=None,
424
+ policy=policy,
425
+ )
426
+
427
+
428
+ def assess_presented_action_evidence_subset_consistency(
429
+ block_request: ActionForecastBlockRequest,
430
+ block: ResolvedActionForecastBlock,
431
+ cells: tuple[PresentedActionEvidenceCell, ...],
432
+ *,
433
+ subset: PresentedActionEvidenceSubsetBinding,
434
+ policy: PresentedActionEvidenceConsistencyPolicyBinding | None = None,
435
+ ) -> PresentedActionEvidenceConsistencyAssessment:
436
+ """Assess injected prompt evidence inside one authenticated row subset."""
437
+
438
+ return _assess_presented_action_evidence_consistency(
439
+ block_request,
440
+ block,
441
+ cells,
442
+ subset=subset,
443
+ policy=policy,
444
+ )
445
+
446
+
447
+ __all__ = [
448
+ "PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_DEFINITION_SHA256",
449
+ "PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_ID",
450
+ "PRESENTED_ACTION_EVIDENCE_CONSISTENCY_POLICY_VERSION",
451
+ "assess_presented_action_evidence_block_consistency",
452
+ "assess_presented_action_evidence_subset_consistency",
453
+ "bind_presented_action_evidence_subset",
454
+ "descriptive_presented_action_evidence_consistency_policy",
455
+ ]