pub struct EvoKernel<S: KernelState> {
pub kernel: Arc<Kernel<S>>,
pub sandbox: Arc<dyn Sandbox>,
pub validator: Arc<dyn Validator>,
pub store: Arc<dyn EvolutionStore>,
pub selector: Arc<dyn Selector>,
pub governor: Arc<dyn Governor>,
pub economics: Arc<Mutex<EvuLedger>>,
pub remote_publishers: Arc<Mutex<BTreeMap<String, String>>>,
pub stake_policy: StakePolicy,
pub sandbox_policy: SandboxPolicy,
pub validation_plan: ValidationPlan,
}Fields§
§kernel: Arc<Kernel<S>>§sandbox: Arc<dyn Sandbox>§validator: Arc<dyn Validator>§store: Arc<dyn EvolutionStore>§selector: Arc<dyn Selector>§governor: Arc<dyn Governor>§economics: Arc<Mutex<EvuLedger>>§remote_publishers: Arc<Mutex<BTreeMap<String, String>>>§stake_policy: StakePolicy§sandbox_policy: SandboxPolicy§validation_plan: ValidationPlanImplementations§
Source§impl<S: KernelState> EvoKernel<S>
impl<S: KernelState> EvoKernel<S>
pub fn new( kernel: Arc<Kernel<S>>, sandbox: Arc<dyn Sandbox>, validator: Arc<dyn Validator>, store: Arc<dyn EvolutionStore>, ) -> Self
pub fn with_selector(self, selector: Arc<dyn Selector>) -> Self
pub fn with_sandbox_policy(self, policy: SandboxPolicy) -> Self
pub fn with_governor(self, governor: Arc<dyn Governor>) -> Self
pub fn with_economics(self, economics: Arc<Mutex<EvuLedger>>) -> Self
pub fn with_stake_policy(self, policy: StakePolicy) -> Self
pub fn with_validation_plan(self, plan: ValidationPlan) -> Self
pub fn select_candidates(&self, input: &SelectorInput) -> Vec<GeneCandidate>
pub fn bootstrap_if_empty( &self, run_id: &RunId, ) -> Result<BootstrapReport, EvoKernelError>
pub async fn capture_successful_mutation( &self, run_id: &RunId, mutation: PreparedMutation, ) -> Result<Capsule, EvoKernelError>
pub async fn capture_mutation_with_governor( &self, run_id: &RunId, mutation: PreparedMutation, ) -> Result<CaptureOutcome, EvoKernelError>
pub async fn capture_from_proposal( &self, run_id: &RunId, proposal: &AgentMutationProposal, diff_payload: String, base_revision: Option<String>, ) -> Result<CaptureOutcome, EvoKernelError>
pub fn feedback_for_agent(outcome: &CaptureOutcome) -> ExecutionFeedback
pub fn replay_feedback_for_agent( signals: &[String], decision: &ReplayDecision, ) -> ReplayFeedback
pub async fn run_supervised_devloop( &self, run_id: &RunId, request: &SupervisedDevloopRequest, diff_payload: String, base_revision: Option<String>, ) -> Result<SupervisedDevloopOutcome, EvoKernelError>
pub fn prepare_supervised_delivery( &self, request: &SupervisedDevloopRequest, outcome: &SupervisedDevloopOutcome, ) -> Result<SupervisedDeliveryContract, EvoKernelError>
pub fn evaluate_self_evolution_acceptance_gate( &self, input: &SelfEvolutionAcceptanceGateInput, ) -> Result<SelfEvolutionAcceptanceGateContract, EvoKernelError>
Sourcepub fn discover_autonomous_candidates(
&self,
input: &AutonomousIntakeInput,
) -> AutonomousIntakeOutput
pub fn discover_autonomous_candidates( &self, input: &AutonomousIntakeInput, ) -> AutonomousIntakeOutput
Autonomous candidate intake: classify raw diagnostic signals without a
caller‐supplied issue number, deduplicate across the batch, and return
an AutonomousIntakeOutput with accepted and denied candidates.
This is the entry point for EVO26-AUTO-01 — it does not generate
mutation proposals or trigger any task planning.
Sourcepub fn plan_autonomous_candidate(
&self,
candidate: &DiscoveredCandidate,
) -> AutonomousTaskPlan
pub fn plan_autonomous_candidate( &self, candidate: &DiscoveredCandidate, ) -> AutonomousTaskPlan
Bounded task planning for an autonomous candidate: assigns risk tier, feasibility score, validation budget, and expected evidence, then approves or denies the candidate for proposal generation.
This is the EVO26-AUTO-02 entry point. It does not generate a
mutation proposal — it only produces an auditable AutonomousTaskPlan.
Sourcepub fn propose_autonomous_mutation(
&self,
plan: &AutonomousTaskPlan,
) -> AutonomousMutationProposal
pub fn propose_autonomous_mutation( &self, plan: &AutonomousTaskPlan, ) -> AutonomousMutationProposal
Autonomous mutation proposal generation from an approved AutonomousTaskPlan.
Generates a bounded, machine-readable AutonomousMutationProposal from an
approved plan. Unapproved plans, missing scope, or weak evidence sets produce
a denied fail-closed proposal.
This is the EVO26-AUTO-03 entry point. It does not execute the mutation.