pub struct EnrichArgs {Show 33 fields
pub operation: EnrichOperation,
pub mode: EnrichMode,
pub limit: Option<usize>,
pub dry_run: bool,
pub namespace: Option<String>,
pub claude_binary: Option<PathBuf>,
pub claude_model: Option<String>,
pub claude_timeout: u64,
pub codex_binary: Option<PathBuf>,
pub codex_model: Option<String>,
pub codex_timeout: u64,
pub max_cost_usd: Option<f64>,
pub resume: bool,
pub retry_failed: bool,
pub min_output_chars: usize,
pub max_output_chars: usize,
pub preserve_check: bool,
pub prompt_template: Option<PathBuf>,
pub llm_parallelism: u32,
pub json: bool,
pub db: Option<String>,
pub wait_job_singleton: Option<u64>,
pub force_job_singleton: bool,
pub names: Vec<String>,
pub names_file: Option<PathBuf>,
pub preflight_check: bool,
pub fallback_mode: Option<EnrichMode>,
pub rate_limit_buffer: u64,
pub max_load_check: bool,
pub circuit_breaker_threshold: u32,
pub preserve_threshold: f64,
pub codex_model_validate: bool,
pub codex_model_fallback: Option<String>,
}Expand description
Arguments for the enrich subcommand.
Fields§
§operation: EnrichOperationEnrichment operation to run.
mode: EnrichModeLLM provider to use. Default: claude-code (OAuth-first).
limit: Option<usize>Maximum number of items to process in this run. Omit for all.
dry_run: boolPreview items without calling the LLM (zero tokens consumed).
namespace: Option<String>Namespace to operate on. Default: global.
claude_binary: Option<PathBuf>Path to the Claude Code binary. Default: auto-detect from PATH.
claude_model: Option<String>Claude model to use (e.g. claude-sonnet-4-6).
claude_timeout: u64Timeout per item in seconds when using Claude Code. Default: 300.
codex_binary: Option<PathBuf>Path to the Codex CLI binary. Default: auto-detect from PATH.
codex_model: Option<String>Codex model to use (e.g. o4-mini).
codex_timeout: u64Timeout per item in seconds when using Codex. Default: 300.
max_cost_usd: Option<f64>Abort when cumulative cost exceeds this USD budget (API key only; ignored for OAuth).
resume: boolResume a previously interrupted run (skip already-done items).
retry_failed: boolRetry only items that failed in a previous run.
min_output_chars: usizeMinimum output character count for body-enrich. Default: 500.
max_output_chars: usizeMaximum output character count for body-enrich. Default: 2000.
preserve_check: boolCheck that enriched body preserves all facts from the original (LLM judge). Default: true.
prompt_template: Option<PathBuf>Path to a custom prompt template file for body-enrich.
llm_parallelism: u32Number of parallel LLM workers (default 1 = serial). Each worker claims items atomically from the queue DB via UPDATE…RETURNING. Range: 1–32. For 2321 entities, –llm-parallelism 4 reduces wall time ~4×.
json: boolEmit NDJSON output. Always true; flag accepted for compatibility.
db: Option<String>Database path override.
wait_job_singleton: Option<u64>G30: poll for the job singleton every second for up to N seconds when another invocation holds the lock. Default: 0 (fail fast).
force_job_singleton: boolG30: force acquisition of the singleton lock by removing a stale
lock file from a previously crashed invocation. Use only when you
are certain no other enrich/ingest is running.
names: Vec<String>G37: select a specific subset of memory names to enrich instead of
the full candidate set. Comma-separated, e.g. --names a,b,c.
Empty when omitted (processes all candidates).
names_file: Option<PathBuf>G37: read the subset of memory names from a file (one per line).
Lines starting with # and empty lines are ignored. Combined with
--names (union) when both are set.
preflight_check: boolG35: probe the LLM provider with a 1-turn ping before processing the batch. Aborts with a clear error if the rate-limit window is closed (avoids burning N turns only to fail on item 1).
fallback_mode: Option<EnrichMode>G35: if a preflight probe or in-flight call hits the Claude rate
limit, fall back to --fallback-mode (typically codex) instead
of failing the batch. Ignored when --mode is already codex.
rate_limit_buffer: u64G35: number of seconds before the OAuth rate-limit reset at which the preflight probe should refuse to start. Default 300 (5 min).
max_load_check: boolG28-D: refuse to start when the 1-minute load average exceeds
2 × ncpus (or SQLITE_GRAPHRAG_MAX_LOAD_PER_NCPU if set).
Set to false to skip the check on contended CI runners.
circuit_breaker_threshold: u32G28-D: when the system is saturated, abort the job after this many consecutive HardFailure outcomes. Default 5.
preserve_threshold: f64G29 Passo 4: minimum trigram-Jaccard similarity between the
original body and the LLM-rewritten body for the rewrite to be
accepted. Scores below the threshold are rejected and emitted as
EnrichItemResult::PreservationFailed. Default 0.7 (per the G29
gap specification). Ignored when --operation is not
body-enrich.
codex_model_validate: boolG33 Passo 3: when set, validate --codex-model against the
ChatGPT Pro OAuth accepted-model list and abort with a
suggestion when the value is unknown. Default true (fail fast
to avoid burning OAuth turns). Set to false to opt out.
codex_model_fallback: Option<String>G33 Passo 3: when set together with an invalid --codex-model,
automatically substitute the supplied default (e.g. gpt-5.5)
instead of aborting. The substitution is recorded in the NDJSON
stream as provider_substituted: true for traceability.
Trait Implementations§
Source§impl Args for EnrichArgs
impl Args for EnrichArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl FromArgMatches for EnrichArgs
impl FromArgMatches for EnrichArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for EnrichArgs
impl RefUnwindSafe for EnrichArgs
impl Send for EnrichArgs
impl Sync for EnrichArgs
impl Unpin for EnrichArgs
impl UnsafeUnpin for EnrichArgs
impl UnwindSafe for EnrichArgs
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> ErasedDestructor for Twhere
T: 'static,
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> 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