pub(crate) struct Start {Show 18 fields
pub segment_id: String,
pub agent_uid: String,
pub definition_id: Option<String>,
pub provider: String,
pub config_dir: Option<String>,
pub provider_session_id: Option<String>,
pub cwd: String,
pub channel: String,
pub agentmux_version: String,
pub block_id: String,
pub zone: Option<String>,
pub byte_start: Option<i64>,
pub started_at_ms: i64,
pub continuity_rung: Rung,
pub predecessor_segment_id: Option<String>,
pub lease_epoch: Option<u64>,
pub identity_key: Option<String>,
pub forked_from: Option<String>,
}Expand description
What is known about a segment when its process starts.
Fields§
§segment_id: String§agent_uid: String§definition_id: Option<String>The block’s agentId: the transcript zone’s key, which differs from
agent_uid for a template launch.
provider: String§config_dir: Option<String>Where native resume would have to look (CLAUDE_CONFIG_DIR, …).
provider_session_id: Option<String>Known up front on a resume; otherwise filled in by a session event.
cwd: String§channel: String§agentmux_version: String§block_id: String§zone: Option<String>The global transcript zone this segment appends to, and its size then.
byte_start: Option<i64>§started_at_ms: i64§continuity_rung: Rung§predecessor_segment_id: Option<String>§lease_epoch: Option<u64>The single-live-instance lease epoch this segment’s process held
(SPEC_AGENT_SINGLE_LIVE_INSTANCE_2026_09_24 Phase 3). A change between
consecutive segments is an ownership change — another instance, or a
takeover — visible in the ledger. None: no lease (older build, no
UID) or a record written before this field.
identity_key: Option<String>The Anthropic identity config_dir was signed in as
(account_email::identity_key_from_oauth_dir,
SPEC_RESUME_GATE_AND_SAME_IDENTITY_CONTINUATION_2026_09_25.md §4.1).
None: unknown, or a record written before this field.
forked_from: Option<String>The session this spawn resumed with --fork-session after
relocating it from another login of the same identity (spec §4.3).
Its own id arrives in the segment’s session event.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Start
impl<'de> Deserialize<'de> for Start
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>,
impl StructuralPartialEq for Start
Auto Trait Implementations§
impl Freeze for Start
impl RefUnwindSafe for Start
impl Send for Start
impl Sync for Start
impl Unpin for Start
impl UnsafeUnpin for Start
impl UnwindSafe for Start
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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