cherenkov/model/index/events.rs
1//! Observations from one model operation, independent of terminal rendering.
2
3use serde::Serialize;
4
5/// Progress during remote model inspection. Values are owned so observers can
6/// forward events to a channel. The operation's `Result` signals completion;
7/// these events do not establish success or describe durable index state.
8#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
9#[serde(tag = "event", rename_all = "snake_case")]
10#[non_exhaustive]
11pub enum ModelEvent {
12 /// Emitted before the first remote metadata request.
13 Resolving { source: String },
14 /// Header counts start at zero and advance after each successful shard read.
15 /// `file` identifies the latest completed shard and is absent initially.
16 Headers {
17 completed: usize,
18 total: usize,
19 file: Option<String>,
20 },
21 /// Headers are complete; architecture metadata may require small range reads.
22 ReadingMetadata,
23}