pub enum Finding {
Landed,
Null,
EndedOnFailure,
EndedOnRefusal,
}Expand description
What the span says about the step.
Variants§
Landed
The common path, and it says nothing. Silence is the point: this rides on a tool result in an append-only transcript, so a line per completed step is bulk carried for the rest of the run in exchange for confirming what the model already believes.
Null
Nothing was attempted — the step-level null run, which WORK_FLOOR
exists to catch one tier up.
EndedOnFailure
The last thing tried failed, and nothing after it succeeded.
EndedOnRefusal
The last thing tried was refused. The step was blocked, not done.
Implementations§
Source§impl Finding
impl Finding
Sourcepub fn line(self, step: &str, again: bool) -> Option<String>
pub fn line(self, step: &str, again: bool) -> Option<String>
One line for the todo result, or nothing at all.
Wording is load-bearing, on EMPTY_TURN_NUDGE’s and ask_user’s
evidence: a vague nudge makes a model restart work it had done, and
“use your best judgment” measurably makes it invent. So each line
states the fact first and offers exactly one continuation — and the
null line offers the model the reading rather than the verdict,
because a step that was genuinely a decision made no calls and is not
wrong. Naming that case is what keeps the line from being one the model
learns to skip.
No tool is named in any of them. ask_user is registered only by a
front-end that owns a human, so an unattended run told to ask would
spend a turn on a call that can only fail — compact’s own description
declines to name todo for the same reason.