pub struct AcceptedTrajectory {
pub node_id: String,
pub generation: u32,
pub baseline_energy: f64,
pub best_accepted_energy: f64,
pub rho_gate: f64,
pub rejection_budget: u32,
pub rejections_used: u32,
pub gate_decisions: Vec<GateDecisionRef>,
}Expand description
Accepted-trajectory record for one node generation (PSP-8 System 2 / 11).
The accepted trajectory contains only hard-pass or descent-gated states; observed candidates that fail the gate are retained as observations but never advance accepted progress.
Fields§
§node_id: String§generation: u32§baseline_energy: f64§best_accepted_energy: f64The best accepted energy V(x_best) so far.
rho_gate: f64§rejection_budget: u32Finite rejection budget B.
rejections_used: u32§gate_decisions: Vec<GateDecisionRef>Implementations§
Source§impl AcceptedTrajectory
impl AcceptedTrajectory
pub fn new( node_id: impl Into<String>, generation: u32, baseline_energy: f64, rho_gate: f64, rejection_budget: u32, ) -> Result<Self>
Sourcepub fn decision_bound(&self) -> Result<u64>
pub fn decision_bound(&self) -> Result<u64>
The finite-decision bound for this trajectory.
Sourcepub fn submit(
&mut self,
hard_pass: bool,
candidate_v: f64,
) -> Result<GateDecision>
pub fn submit( &mut self, hard_pass: bool, candidate_v: f64, ) -> Result<GateDecision>
Evaluate a candidate and fold the decision into the trajectory, updating the best accepted energy on acceptance and the rejection count on rejection. Returns the decision taken.
Sourcepub fn submit_with_floor(
&mut self,
hard_pass: bool,
candidate_v: f64,
declared_energy_floor: Option<f64>,
) -> Result<GateDecision>
pub fn submit_with_floor( &mut self, hard_pass: bool, candidate_v: f64, declared_energy_floor: Option<f64>, ) -> Result<GateDecision>
Submit a candidate under the full gate ordering, including the domain’s declared energy floor (PSP-9 system 10).
The finite-decision bound is enforced, not advisory (PSP-10 Gate X):
the (N_gate + 1)-th submission is refused before any decision is
appended. Ordinary descent/rejection flows stay under the bound by
construction; this guard fails closed against callers that would
resubmit past a terminal hard pass or floor stop.
Sourcepub fn budget_exhausted(&self) -> bool
pub fn budget_exhausted(&self) -> bool
Whether the rejection budget is exhausted.
Trait Implementations§
Source§impl Clone for AcceptedTrajectory
impl Clone for AcceptedTrajectory
Source§fn clone(&self) -> AcceptedTrajectory
fn clone(&self) -> AcceptedTrajectory
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AcceptedTrajectory
impl Debug for AcceptedTrajectory
Source§impl<'de> Deserialize<'de> for AcceptedTrajectory
impl<'de> Deserialize<'de> for AcceptedTrajectory
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for AcceptedTrajectory
impl PartialEq for AcceptedTrajectory
Source§fn eq(&self, other: &AcceptedTrajectory) -> bool
fn eq(&self, other: &AcceptedTrajectory) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for AcceptedTrajectory
impl Serialize for AcceptedTrajectory
impl StructuralPartialEq for AcceptedTrajectory
Auto Trait Implementations§
impl Freeze for AcceptedTrajectory
impl RefUnwindSafe for AcceptedTrajectory
impl Send for AcceptedTrajectory
impl Sync for AcceptedTrajectory
impl Unpin for AcceptedTrajectory
impl UnsafeUnpin for AcceptedTrajectory
impl UnwindSafe for AcceptedTrajectory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.