Skip to main content

EnrichArgs

Struct EnrichArgs 

Source
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: EnrichOperation

Enrichment operation to run.

§mode: EnrichMode

LLM 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: bool

Preview 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: u64

Timeout 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: u64

Timeout 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: bool

Resume a previously interrupted run (skip already-done items).

§retry_failed: bool

Retry only items that failed in a previous run.

§min_output_chars: usize

Minimum output character count for body-enrich. Default: 500.

§max_output_chars: usize

Maximum output character count for body-enrich. Default: 2000.

§preserve_check: bool

Check 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: u32

Number 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: bool

Emit 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: bool

G30: 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: bool

G35: 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: u64

G35: 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: bool

G28-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: u32

G28-D: when the system is saturated, abort the job after this many consecutive HardFailure outcomes. Default 5.

§preserve_threshold: f64

G29 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: bool

G33 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

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl FromArgMatches for EnrichArgs

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more