#[non_exhaustive]pub struct TaskRecord {
pub task_id: String,
pub title: String,
pub instructions: String,
pub requested_assignee: String,
pub input: Vec<u8>,
pub deadline_unix_ms: i64,
pub requester: String,
}Expand description
The accepted TaskRequest as it stands in serialized mode_state.
#[non_exhaustive] (0.8.0, DECISIONS.md D7), for the same reason as
the handoff, quorum and proposal records: this is runtime-produced
coordination state, deserialized from accepted envelopes, that grows a
field whenever the mode learns something new. With all-pub fields and no
seal each added field is a constructible_struct_adds_field major, and
release-plz.toml’s semver_check = true turns that into a blocked
release PR across all seven lockstep crates. 0.8.0 is already being taken
for the handoff field, so sealing the rest of the class here costs nothing
extra and makes every future field additive.
Fields stay pub and readable; only construction by struct literal from
another crate is refused, and nothing outside macp-modes constructs one —
the mode mints them from accepted envelopes, which is why no constructor is
offered in their place.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.task_id: String§title: String§instructions: String§requested_assignee: String§input: Vec<u8>§deadline_unix_ms: i64§requester: String