pub struct FixAction {
pub kind: FixActionType,
pub auto_fixable: bool,
pub description: String,
pub note: Option<String>,
pub available_in_catalogs: Option<Vec<String>>,
pub suggested_target: Option<String>,
}Expand description
A code-change fix. type is one of the kebab-case identifiers in
FixActionType.
Fields§
§kind: FixActionTypeKebab-case identifier for the fix action.
auto_fixable: boolWhether fallow fix can apply this fix automatically. Evaluated PER
FINDING, not per action type: the same type may carry
auto_fixable: true on one finding and auto_fixable: false on
another when per-instance guards in the applier discriminate (e.g.
remove-catalog-entry flips on hardcoded_consumers and catalog
source file, the primary dependency action flips between
remove-dependency / move-dependency on used_in_workspaces).
Filter on this bool of each individual action, not on type. See the
IssueAction enum-level docs for the full list of per-instance
flips.
One flip is RUN-level rather than finding-level: a dead-code finding
carrying reachability_caveats reports false here, because a file
this run never fully read may hold the reference that credits it. Every
mutation surface honours the same gate, so a plan built from this flag
never expects a write fallow fix, the MCP fix tools, or the LSP quick
fix will refuse. The action stays in the array at the same position and
names the reason in Self::note.
description: StringHuman-readable description of the fix.
note: Option<String>Optional context note. Present on non-auto-fixable actions, and on auto-fixable re-export findings to warn about public API surface.
available_in_catalogs: Option<Vec<String>>Only present on update-catalog-reference actions: catalogs in the
same workspace that DO declare the package, sorted lexicographically.
Lets agents pick the catalog to switch to without re-reading the
source.
suggested_target: Option<String>Only present on update-catalog-reference actions when exactly one
alternative catalog declares the package: the unambiguous switch
target. Lets deterministic (non-LLM) agents land the edit without
picking from a list. Absent when available_in_catalogs has zero
or more than one entry.