pub struct RunMarker {
pub pid: u32,
pub started_at: DateTime<Utc>,
pub slot: Option<DateTime<Utc>>,
pub session: Option<String>,
}Expand description
Who is running something right now.
Fields§
§pid: u32§started_at: DateTime<Utc>§slot: Option<DateTime<Utc>>The scheduled slot this run is accounting for, when it has one. Absent for anything a person started by hand.
session: Option<String>The transcript this run is writing, when it has one.
So another process can ask “does a live run own this session?”
without asking the run. A Conversation — messages and taint — lives
in the memory of the process holding it and the session JSONL has one
writer, so anything that would pick a transcript up (mecha chat --resume, /api/resume) has to be able to find out that somebody
already has it. The in-process check those surfaces already do cannot
see a detached child, and the board can only say a run is in flight,
not which file it is appending to.
Defaulted on load, like every other field written to a store that outlives a release: a marker from a run that started before this field existed reads as “no session named”, which is what it was.