pub struct RecoveryAdvice {
pub kind: &'static str,
pub error: String,
pub hint: String,
pub unsafe_condition: String,
pub would_change: String,
pub preserved: String,
pub primary_command: String,
pub recovery_commands: Vec<String>,
pub extra_json_fields: Map<String, Value>,
}Fields§
§kind: &'static str§error: String§hint: String§unsafe_condition: String§would_change: String§preserved: String§primary_command: String§recovery_commands: Vec<String>§extra_json_fields: Map<String, Value>Implementations§
Source§impl RecoveryAdvice
impl RecoveryAdvice
pub fn safety_refusal( kind: &'static str, error: impl Into<String>, hint: impl Into<String>, unsafe_condition: impl Into<String>, would_change: impl Into<String>, already_preserved: impl Into<String>, primary_command: impl Into<String>, recovery_commands: Vec<String>, ) -> Self
pub fn dirty_worktree( action: &str, dirty_paths: Vec<String>, already_preserved: impl Into<String>, ) -> Self
pub fn git_head_mismatch( action: &str, current_oid: impl Into<String>, expected_oid: impl Into<String>, branch: impl Into<String>, dirty_paths: Vec<String>, ) -> Self
pub fn destructive_requires_force( action: &str, unsafe_condition: impl Into<String>, would_change: impl Into<String>, preview_command: impl Into<String>, force_command: impl Into<String>, already_preserved: impl Into<String>, ) -> Self
pub fn op_id_conflict( command: &str, dedup_scope: &str, incoming_argv: &[String], incoming_request_hash: [u8; 32], existing: Option<DedupConflictMetadata>, ) -> Self
pub fn op_id_in_flight() -> Self
pub fn op_id_unsupported(command: &str) -> Self
pub fn op_id_invalid(raw: &str, parse_error: impl Display) -> Self
pub fn json_unsupported(command: &str) -> Self
pub fn json_compact_unsupported(command: &str) -> Self
pub fn stale_daemon_protocol(their_version: u32, our_version: u32) -> Self
pub fn git_import_metadata_required(map_path: &str, git_path: &str) -> Self
pub fn adopt_path_conflict(positional: &str, repo_path: &str) -> Self
pub fn adopt_requires_git_worktree(details: Option<String>) -> Self
pub fn git_overlay_tip_bind_failed(details: impl Into<String>) -> Self
pub fn init_path_conflict(positional: &str, repo_path: &str) -> Self
pub fn init_principal_field_required(field: &str) -> Self
pub fn hook_veto(hook: &str, action: &str, reason: impl Into<String>) -> Self
pub fn invalid_usage( kind: &'static str, error: impl Into<String>, hint: impl Into<String>, primary_command: impl Into<String>, ) -> Self
pub fn missing_option( kind: &'static str, option: &'static str, required_for: &'static str, primary_command: impl Into<String>, ) -> Self
pub fn malformed_option_value( kind: &'static str, option: &'static str, raw: &str, expected: &'static str, primary_command: impl Into<String>, ) -> Self
pub fn discuss_resolve_missing_dismiss_reason() -> Self
pub fn review_symbols_malformed(raw: &str) -> Self
pub fn thread_absorb_parent_required(thread: &str) -> Self
pub fn repository_no_head_capture_first(action: &str) -> Self
pub fn repository_no_head_anchor_first(action: &str) -> Self
pub fn context_empty() -> Self
pub fn annotation_not_found(annotation_id: &str) -> Self
pub fn no_current_thread( command: &'static str, explicit_selector: Option<&'static str>, primary_command: impl Into<String>, ) -> Self
pub fn no_current_session( command: &'static str, explicit_selector: Option<&'static str>, primary_command: impl Into<String>, ) -> Self
pub fn land_checkpoint_partial_failure( thread: &str, checkpoint_error: impl Display, performed_steps: Vec<String>, ) -> Self
pub fn land_checkpoint_rolled_back( thread: &str, checkpoint_error: impl Display, performed_steps: Vec<String>, ) -> Self
pub fn land_checkpoint_partial_failure_undo_failed( thread: &str, checkpoint_error: impl Display, undo_error: impl Display, performed_steps: Vec<String>, ) -> Self
pub fn land_checkpoint_recovery_required( thread: &str, checkpoint_error: impl Display, recovery_error: impl Display, performed_steps: Vec<String>, ) -> Self
pub fn land_checkpoint_rollback_marker_cleanup_failed( thread: &str, checkpoint_error: impl Display, cleanup_error: impl Display, performed_steps: Vec<String>, ) -> Self
pub fn from_git_projection_error(error: &GitProjectionError) -> Option<Self>
pub fn git_heddle_thread_diverged(thread: &str, branch: &str) -> Self
pub fn remote_transport_mismatch(action: &str, remote: &str) -> Self
pub fn remote_not_configured(action: &str) -> Self
pub fn remote_not_found(name: &str) -> Self
pub fn local_lazy_pull_unsupported(source_path: &Path) -> Self
pub fn remote_push_failed(track_name: &str, error: &str) -> Self
pub fn remote_pull_failed( remote_thread: &str, local_thread: Option<&str>, error: &str, ) -> Self
pub fn network_clone_failed(error: &str, local_path: &Path) -> Self
Sourcepub fn missing_target_thread(thread_id: &str, attempted_verb: &str) -> Self
pub fn missing_target_thread(thread_id: &str, attempted_verb: &str) -> Self
thread refresh was asked to refresh a thread that has no
recorded target_thread. The thread metadata lives on disk but
the integration target was never written, so the refresh has no
concrete destination to rebase onto.
Surfaces Priya’s #1 untyped error site: the bare
Thread '<id>' has no target thread line gave the operator no
next step. The typed envelope hands back the inspection commands
(heddle thread show, heddle thread list) and the
re-configuration command shape so the JSON envelope’s
recovery_action_templates field carries executable argv.
Sourcepub fn rebase_referenced_state_missing(state_id: &str, role: &str) -> Self
pub fn rebase_referenced_state_missing(state_id: &str, role: &str) -> Self
A rebase replay step referenced a state, commit, or tree the
object store no longer has. Usually means a pruning operation
ran between rebase start and rebase resume, or the persisted
REBASE_STATE references objects from a sibling repository.
Abort recovers — the tolerant loader will rewind to
original_head without needing the missing objects.
Sourcepub fn rebase_state_corrupted(field: &str, detail: impl Display) -> Self
pub fn rebase_state_corrupted(field: &str, detail: impl Display) -> Self
A persisted REBASE_STATE file could not be parsed or violated
an invariant. The strict loader (used by --continue) hard-fails
so a half-applied batch never reaches the oplog; the tolerant
loader (used by --abort) absorbs most of these cases and rewinds
to original_head.
field describes which part of REBASE_STATE failed validation
(e.g. "Missing 'onto'", "decode pending_advance",
"Inconsistent rebase state"); detail carries the underlying
cause when there is one (e.g. a hex/msgpack decode error) and may
be empty. Tests assert on the field substring, so the user-
visible error always starts with field.
Sourcepub fn thread_referenced_state_missing(state_id: &str, role: &str) -> Self
pub fn thread_referenced_state_missing(state_id: &str, role: &str) -> Self
A thread command resolved a state spec or anchor and the
referenced state was not in the object store. Distinct from
state_not_found because the lookup happens inside thread
command flow (start/create/anchor) rather than the generic state
resolver.
--print-cd-path (or another path-only output mode) was passed
to a thread command but the thread has no on-disk worktree to
cd into. Lightweight (non-materialized) threads do not own a
directory — the operator needs to materialize the thread or use
a different command that doesn’t require a checkout path.
pub fn primary_hint(&self) -> &str
Trait Implementations§
Source§impl Clone for RecoveryAdvice
impl Clone for RecoveryAdvice
Source§fn clone(&self) -> RecoveryAdvice
fn clone(&self) -> RecoveryAdvice
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecoveryAdvice
impl Debug for RecoveryAdvice
Source§impl Display for RecoveryAdvice
impl Display for RecoveryAdvice
Source§impl Error for RecoveryAdvice
impl Error for RecoveryAdvice
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for RecoveryAdvice
impl RefUnwindSafe for RecoveryAdvice
impl Send for RecoveryAdvice
impl Sync for RecoveryAdvice
impl Unpin for RecoveryAdvice
impl UnsafeUnpin for RecoveryAdvice
impl UnwindSafe for RecoveryAdvice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request