pub(crate) struct ScanRuntimePlan {
pub(crate) root: PathBuf,
pub(crate) config: Option<AtlasMapConfig>,
selected_config_path: Option<PathBuf>,
config_path_override: Option<PathBuf>,
pub(crate) scan_options: ScanOptions,
pub(crate) text_options: TextIndexOptions,
text_index_max_bytes_override: Option<u64>,
optional_parser_selection: OptionalParserPackProjectSelection,
}Expand description
Resolved scan runtime policy shared by CLI and MCP adapters.
Fields§
§root: PathBufCanonical project root.
config: Option<AtlasMapConfig>Optional ProjectAtlas config discovered for the root.
selected_config_path: Option<PathBuf>Exact config file selected for this plan, if one exists.
config_path_override: Option<PathBuf>Explicit config selector supplied by the caller, if any.
scan_options: ScanOptionsFilesystem scanner options derived from config.
text_options: TextIndexOptionsSQLite text-index options derived from config and command override.
text_index_max_bytes_override: Option<u64>Explicit text-index limit supplied by the caller, if any.
optional_parser_selection: OptionalParserPackProjectSelectionContent-free optional parser selection bound into derived publication identity.
Implementations§
Source§impl ScanRuntimePlan
impl ScanRuntimePlan
Sourcepub(crate) fn for_path(
config_path: Option<&Path>,
path: &Path,
text_index_max_bytes: Option<u64>,
) -> Result<Self, CliError>
pub(crate) fn for_path( config_path: Option<&Path>, path: &Path, text_index_max_bytes: Option<u64>, ) -> Result<Self, CliError>
Resolve scan policy for one project path.
Sourcepub(crate) fn for_path_controlled(
config_path: Option<&Path>,
path: &Path,
text_index_max_bytes: Option<u64>,
control: &IndexWorkControl,
) -> Result<Self, CliError>
pub(crate) fn for_path_controlled( config_path: Option<&Path>, path: &Path, text_index_max_bytes: Option<u64>, control: &IndexWorkControl, ) -> Result<Self, CliError>
Resolve scan policy through the operation-owned bounded config reader.
Sourcefn for_path_controlled_with_limits(
config_path: Option<&Path>,
path: &Path,
text_index_max_bytes: Option<u64>,
control: &IndexWorkControl,
purpose_limits: PurposeImportLimits,
) -> Result<Self, CliError>
fn for_path_controlled_with_limits( config_path: Option<&Path>, path: &Path, text_index_max_bytes: Option<u64>, control: &IndexWorkControl, purpose_limits: PurposeImportLimits, ) -> Result<Self, CliError>
Resolve scan policy under explicit authored-input limits used by focused tests.
Sourcefn reload(&self) -> Result<Self, CliError>
fn reload(&self) -> Result<Self, CliError>
Reload the effective filesystem and text policy from current local state.
Sourcefn reload_controlled(
&self,
control: &IndexWorkControl,
) -> Result<Self, CliError>
fn reload_controlled( &self, control: &IndexWorkControl, ) -> Result<Self, CliError>
Reload effective policy through the operation-owned bounded input reader.
Sourcefn reload_controlled_with_limits(
&self,
control: &IndexWorkControl,
purpose_limits: PurposeImportLimits,
) -> Result<Self, CliError>
fn reload_controlled_with_limits( &self, control: &IndexWorkControl, purpose_limits: PurposeImportLimits, ) -> Result<Self, CliError>
Reload effective policy under explicit authored-input limits used by focused tests.
Sourcefn publication_contract_fingerprint(&self) -> String
fn publication_contract_fingerprint(&self) -> String
Hash the durable parser and configured source/index policy contract.
Request-scoped text limits control one scan or watcher operation but do not become project compatibility state that later reads must repeat.
Sourcefn purpose_import_snapshot_controlled(
&self,
nodes: &[Node],
control: &IndexWorkControl,
) -> Result<PurposeImportSnapshot, CliError>
fn purpose_import_snapshot_controlled( &self, nodes: &[Node], control: &IndexWorkControl, ) -> Result<PurposeImportSnapshot, CliError>
Capture every purpose input from one existing controlled repository scan.
Sourcefn purpose_import_snapshot_controlled_with_limits(
&self,
nodes: &[Node],
control: &IndexWorkControl,
limits: PurposeImportLimits,
) -> Result<PurposeImportSnapshot, CliError>
fn purpose_import_snapshot_controlled_with_limits( &self, nodes: &[Node], control: &IndexWorkControl, limits: PurposeImportLimits, ) -> Result<PurposeImportSnapshot, CliError>
Capture purpose inputs under explicit limits used by focused tests.
Sourcefn purpose_import_fingerprint_for_records_controlled_with_limits(
&self,
records: &[ImportedPurposeRecord],
control: &IndexWorkControl,
limits: PurposeImportLimits,
) -> Result<String, CliError>
fn purpose_import_fingerprint_for_records_controlled_with_limits( &self, records: &[ImportedPurposeRecord], control: &IndexWorkControl, limits: PurposeImportLimits, ) -> Result<String, CliError>
Recheck external purpose inputs while reusing records from exact unchanged source nodes.
Auto Trait Implementations§
impl Freeze for ScanRuntimePlan
impl RefUnwindSafe for ScanRuntimePlan
impl Send for ScanRuntimePlan
impl Sync for ScanRuntimePlan
impl Unpin for ScanRuntimePlan
impl UnwindSafe for ScanRuntimePlan
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more