Say what the library means, not who consumes it

Four error strings and four comments named Eve, which is a consumer's
interface and not a concept the kernel has. The errors now say what they
refuse — a command ID, an opportunity, persisted controller work — and the
comments name an operator interface or a consumer's payload.

Nothing pins these strings: the four `#[error(...)]` literals appear only at
their definitions, and no test reads a `Display` of them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-16 10:59:31 +02:00
commit 7cbb9e37a6
3 changed files with 11 additions and 8 deletions

View file

@ -1491,7 +1491,7 @@ fn persona_request_shape_is_valid(request: &PreparedInference) -> bool {
#[derive(Clone, Debug, Error, PartialEq, Eq)]
pub enum ControllerWorkStoreError {
#[error("Eve command ID already belongs to the other controller mode")]
#[error("command ID already belongs to the other controller mode")]
CommandModeConflict,
#[error("{detail}")]
Fault { detail: String },
@ -2573,15 +2573,15 @@ pub enum ControllerError {
NoOpportunity { expected: ControllerMode },
#[error("subject has more than one current decision opportunity")]
AmbiguousOpportunity,
#[error("Eve opportunity does not match this exact controller command")]
#[error("opportunity does not match this exact controller command")]
OpportunityMismatch,
#[error("controller opportunity has no Speak affordance")]
SpeakUnavailable,
#[error("controller opportunity grants no affordance")]
NoGrantedAffordance,
#[error("Eve command ID does not match persisted controller work")]
#[error("command ID does not match persisted controller work")]
CommandMismatch,
#[error("no persisted controller work exists for this Eve command")]
#[error("no persisted controller work exists for this command")]
MissingControllerWork,
#[error("{purpose:?} inference failed: {source}")]
Inference {

View file

@ -1100,7 +1100,8 @@ pub struct WorldSnapshot {
pub resources: Vec<ResourceSnapshot>,
pub routes: Vec<RouteSnapshot>,
/// Already ordered by pressure, then attention debt, then id: one owner, so
/// Eve, the mesh projection, and any future driver read the same order and
/// an operator interface, the mesh projection, and any future driver read
/// the same order and
/// none computes its own.
pub opportunities: Vec<DecisionOpportunity>,
/// Everyone in a world shares the clock, and no controller can read a `due`
@ -1671,7 +1672,8 @@ fn require_system_capability(caller: &CallerId, body: &CommandBody) -> Result<()
}
}
/// The owner may tick from Eve; the tick task may tick with no session. Nothing
/// The owner may tick from an interface; the tick task may tick with no
/// session. Nothing
/// else may tick.
fn require_clock_caller(state: &WorldState, caller: &CallerId) -> Result<(), KernelError> {
if caller == &CallerId::System(SystemCapability::Clock) {
@ -12939,7 +12941,7 @@ mod clock_tests {
assert!(matches!(error, KernelError::Unauthorized), "{error:?}");
}
// The owner may tick from Eve.
// The owner may tick from an interface.
submit_owner(
&mut kernel,
&active,

View file

@ -2270,7 +2270,8 @@ pub(super) fn kernel_speak_grant() -> BTreeSet<Ref<AffordanceId>> {
/// Zero roles, zero slots, one empty band, one utterance, and one audience: a
/// voice fills the room it is standing in. Zero roles is load-bearing — the
/// Interpreter lane submits no bindings and Eve's speak payload carries only
/// Interpreter lane submits no bindings and a consumer's speak payload carries
/// only
/// text. The precondition is not vacuous: an unplaced subject has no
/// co-location audience and fails with `NoAudience`.
pub(super) fn kernel_speak_entry() -> Affordance {