pub enum UpstreamDrift {
EnvNotApplied,
ConfigNotApplied,
}Expand description
Why a running proxy’s live upstream differs from what the operator expects.
Variants§
EnvNotApplied
A LEAN_CTX_*_UPSTREAM env var is set in this process but the proxy
serves a different value — the env never reached the MCP/service-spawned
proxy. This is the #449 trap: Codex (and other MCP hosts) launch the
server with a stripped, allowlisted env that omits LEAN_CTX_*_UPSTREAM,
so the proxy it spawns never sees it. Fix: persist it to config.toml,
which the proxy reads live.
ConfigNotApplied
The proxy serves a value other than config.toml resolves to: it was
started with an env override that now masks a later config edit. Fix:
lean-ctx proxy restart.
Trait Implementations§
Source§impl Clone for UpstreamDrift
impl Clone for UpstreamDrift
Source§fn clone(&self) -> UpstreamDrift
fn clone(&self) -> UpstreamDrift
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for UpstreamDrift
Source§impl Debug for UpstreamDrift
impl Debug for UpstreamDrift
impl Eq for UpstreamDrift
Source§impl PartialEq for UpstreamDrift
impl PartialEq for UpstreamDrift
impl StructuralPartialEq for UpstreamDrift
Auto Trait Implementations§
impl Freeze for UpstreamDrift
impl RefUnwindSafe for UpstreamDrift
impl Send for UpstreamDrift
impl Sync for UpstreamDrift
impl Unpin for UpstreamDrift
impl UnsafeUnpin for UpstreamDrift
impl UnwindSafe for UpstreamDrift
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more