pub enum AdaptationMode {
Learning,
Manual(StrategyId),
Stable,
Bounded {
min: StrategyId,
max: StrategyId,
},
}Expand description
How much latitude GORNA has to change an agent’s strategy — the developer-control surface over the adaptive core.
This is what keeps the engine a partnership rather than an autocracy: the
DCC observes and proposes, but the developer decides how much it may act. Set
per agent; Learning is the default. (A death-spiral safety stop can still
force LowPower in any mode — safety overrides developer control.)
Variants§
Learning
Full GORNA negotiation — the DCC freely picks the best-fitting strategy each tick. The engine’s default.
Manual(StrategyId)
The agent is pinned to a fixed strategy; GORNA observes and reports but never switches it. The developer takes control.
Stable
Predictable: GORNA may downgrade under budget pressure but never makes an opportunistic upgrade, so the strategy doesn’t flap up and down frame to frame.
Bounded
Learning within limits: the chosen strategy is clamped to the
[min, max] range (ordering LowPower < Balanced < HighPerformance;
Custom ranks above HighPerformance).
Fields
min: StrategyIdLowest strategy GORNA may select.
max: StrategyIdHighest strategy GORNA may select.
Trait Implementations§
Source§impl Clone for AdaptationMode
impl Clone for AdaptationMode
Source§fn clone(&self) -> AdaptationMode
fn clone(&self) -> AdaptationMode
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 AdaptationMode
impl Debug for AdaptationMode
Source§impl Default for AdaptationMode
impl Default for AdaptationMode
Source§fn default() -> AdaptationMode
fn default() -> AdaptationMode
Source§impl PartialEq for AdaptationMode
impl PartialEq for AdaptationMode
Source§fn eq(&self, other: &AdaptationMode) -> bool
fn eq(&self, other: &AdaptationMode) -> bool
self and other values to be equal, and is used by ==.impl Copy for AdaptationMode
impl Eq for AdaptationMode
impl StructuralPartialEq for AdaptationMode
Auto Trait Implementations§
impl Freeze for AdaptationMode
impl RefUnwindSafe for AdaptationMode
impl Send for AdaptationMode
impl Sync for AdaptationMode
impl Unpin for AdaptationMode
impl UnsafeUnpin for AdaptationMode
impl UnwindSafe for AdaptationMode
Blanket Implementations§
Source§impl<T> AppLifecycle for Twhere
T: ?Sized,
impl<T> AppLifecycle for Twhere
T: ?Sized,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.