pub struct ClearOutcome {
pub working_tree_repaired: bool,
pub committed_tree_repaired: bool,
pub commit_refused: Option<String>,
}Expand description
What force_clear_auto_chain actually did, so the CLI call sites can
decide whether to be loud without re-deriving any of it.
Three independent facts, deliberately not collapsed into one enum: a repair can touch the working tree only, the working tree AND the branch tip, or the working tree while explicitly DECLINING the branch tip. The third is not a failure — it is the correct answer when committing would sweep in an edit DevFlow does not own (F-8) — and a call site that could not tell it apart from “nothing happened” would report the deferral as silence.
Fields§
§working_tree_repaired: boolThe file on disk carried a set flag and now does not.
committed_tree_repaired: boolThe branch tip carried a set flag and a commit was made so it no longer
does. Confirmed by re-probing the tip after the commit, never inferred
from commit_path returning Ok.
commit_refused: Option<String>Why the branch-tip half was NOT attempted or did not land. Populated whenever the working tree was corrected but the committed copy was left alone for a reason the operator needs to hear.
Implementations§
Source§impl ClearOutcome
impl ClearOutcome
Sourcepub fn repaired_anything(&self) -> bool
pub fn repaired_anything(&self) -> bool
Whether either half of the repair actually changed something.
Deliberately excludes commit_refused: a refusal is a separate thing to
be loud about, and folding it in here would make “we fixed something”
and “we declined to fix something” indistinguishable at the call site.