Skip to main content

Module constants

Module constants 

Source
Expand description

Compile-time and runtime constants for tuning, timeouts, and thresholds. Compile-time and runtime constants for foxing subsystems. Includes worker tuning, retry limits, buffer sizes, and feature flags.

Constants§

AI_BALANCED_ARCHIVE_PEEK_BUDGET_MS
Archive peek budget at Balanced effort.
AI_BALANCED_MAX_CONTENT_CHARS
Maximum content chars at Balanced effort.
AI_BALANCED_MAX_PREVIEW_CHARS
Max preview chars at Balanced effort.
AI_BALANCED_MAX_PROMPT_CHARS
Fallback max prompt chars at Balanced effort.
AI_BINARY_CAPSTONE_PEEK_BYTES
Bytes of entry-point code to disassemble via capstone.
AI_BINARY_DEADLINE_MS
Hard deadline for binary metadata extraction (milliseconds).
AI_BINARY_MAX_STRINGS
Maximum printable strings to extract from binary .rodata/.rdata.
AI_BINARY_MAX_SYMBOLS
Maximum symbols (imports + exports) before truncating.
AI_BINARY_MIN_STRING_LEN
Minimum string length for binary string extraction.
AI_CHUNK_OVERLAP_CODE
Overlap for code chunks (chars).
AI_CHUNK_OVERLAP_DEFAULT
Default overlap for unknown content (chars).
AI_CHUNK_OVERLAP_DOCUMENT
Overlap for document chunks (chars).
AI_CHUNK_OVERLAP_MARKUP
Overlap for markup chunks (chars).
AI_CHUNK_OVERLAP_TEXT
Overlap for text chunks (chars).
AI_CHUNK_PREVIEW_CHARS
Default character limit for chunk content previews stored in ChunkMeta, pgvector foxing_chunks.preview, and SSE payloads.
AI_CHUNK_SIZE_CODE
Chunk size for code files (chars). Smaller chunks preserve function boundaries.
AI_CHUNK_SIZE_DEFAULT
Default chunk size for unknown/unrecognized content (chars).
AI_CHUNK_SIZE_DOCUMENT
Chunk size for document files like PDF/DOCX (chars). Large to preserve document structure.
AI_CHUNK_SIZE_MARKUP
Chunk size for markup files like HTML/XML (chars).
AI_CHUNK_SIZE_TEXT
Chunk size for text/prose files (chars). Larger to preserve paragraph context.
AI_COLLISION_CONFIDENCE_MAX
Maximum effective confidence after collision gate adjustment (ceiling to avoid 1.0).
AI_COLLISION_CONFIDENCE_MULTIPLIER
Confidence multiplier for extensions in COLLISION_MAP table. Effective threshold = AI_MAGIKA_CONFIDENCE_THRESHOLD * AI_COLLISION_CONFIDENCE_MULTIPLIER. At defaults: 0.50 * 1.5 = 0.75 effective threshold for collision-prone extensions. This matches Magika’s own raised threshold for markdown (0.75 in config.min.json).
AI_CONTAINER_MAX_FILES_DISPLAY
Maximum file entries displayed in container sidecar context.
AI_CONTAINER_MAX_FILE_ENTRIES
Maximum file entries to extract from RPM metadata.
AI_CONTAINER_MAX_OCI_LAYERS
Maximum OCI manifest layers to extract.
AI_CONTAINER_MAX_REQUIRES
Maximum requires to extract from RPM metadata.
AI_CONTAINER_MAX_REQUIRES_DISPLAY
Maximum requires entries displayed in container sidecar context.
AI_DEEP_ARCHIVE_PEEK_BUDGET_MS
Archive peek budget at Deep effort (0 = no budget cap).
AI_DEEP_MAX_CONTENT_CHARS
Maximum content chars at Deep effort.
AI_DEEP_MAX_PREVIEW_CHARS
Max preview chars at Deep effort.
AI_DEEP_MAX_PROMPT_CHARS
Fallback max prompt chars at Deep effort.
AI_DEEP_MAX_PROMPT_CHARS_CAP
Hard cap on prompt chars for deep effort with probed context (chars).
AI_DEFAULT_EMBEDDING_DIMS
Default embedding vector dimensions used when the model path is unknown or empty (HTTP-only mode).
AI_DIR_CONTEXT_MIN_DOMINANT_FRACTION
Minimum fraction (0.0–1.0) of files sharing the dominant extension before format_directory_context() emits a directory context string. Below this threshold the directory is too heterogeneous — context would be misleading noise rather than useful signal for the LLM. Example: 10 files, 3 .gg + 2 .zip + 2 .png + 3 others → dominant = 30% → suppressed. 100 files, 85 .smc + 10 .txt + 5 .xml → dominant = 85% → emitted.
AI_DOCLING_POLL_INTERVAL_MS
Poll interval for docling-serve async status checks (milliseconds).
AI_DOCLING_TIMEOUT_SECS
Maximum wait time for async docling-serve conversion (seconds).
AI_HNSW_CAPACITY_GROWTH_INCREMENT
HNSW capacity growth increment when the index is full.
AI_HNSW_EF_CONSTRUCTION_COSINE
HNSW ef_construction for embedding cosine-similarity index.
AI_HNSW_EF_CONSTRUCTION_SIMHASH
HNSW ef_construction for 64-bit SimHash binary index (bit_hamming_ops). Set to 256 per SOTA recommendation for binary vectors with high near-duplicate ratios (NapierOne dataset analysis: 64 produces poor recall on dense similarity clusters).
AI_HNSW_M
HNSW m parameter – max bi-directional links per node.
AI_LLM_BUDGET_RESET_SECS
Budget reset interval – tokens_used counter resets after this many seconds.
AI_LLM_DAILY_TOKEN_BUDGET
Default daily token budget (input + output). 0 = unlimited. Offline-first default: local LLM servers (llama.cpp, vLLM, Ollama) have no token cost. Set to a non-zero value only for paid cloud APIs (e.g. 100_000 for OpenAI free tier).
AI_LLM_DEFAULT_MAX_TOKENS
Default max output tokens per LLM enrichment request. Applies when ai.enrichment.max_tokens is unset.
AI_LLM_DEFAULT_TEMPERATURE
Default sampling temperature for LLM enrichment requests. Low value (0.2) favours consistency over creativity.
AI_LLM_MAX_CONCURRENT
Maximum concurrent LLM enrichment requests.
AI_LLM_MAX_RETRIES
Maximum retries on transient LLM failures before giving up.
AI_LLM_REQUEST_TIMEOUT_SECS
HTTP timeout per LLM enrichment request (seconds).
AI_LLM_RETRYABLE_STATUS_CODES
HTTP status codes that indicate a retryable LLM API error.
AI_LLM_RETRY_INITIAL_DELAY_MS
Initial backoff delay for LLM retry loop (milliseconds).
AI_LLM_RETRY_MAX_DELAY_MS
Maximum backoff delay for LLM retry loop (milliseconds).
AI_LLM_RETRY_MIN_DELAY_MS
Minimum retry delay for LLM API calls in milliseconds (floor for exponential backoff).
AI_LLM_RPM_WINDOW_SECS
RPM sliding window duration for LLM rate limiting (seconds).
AI_MAGIKA_CONFIDENCE_THRESHOLD
Default Magika ML confidence threshold for the confidence gate in MagikaRouter::classify_file() and media_meta::extract_metadata(). At or above this score, Magika’s classification is trusted directly. Below this score, the gate checks whether the file extension is in MAGIKA_KNOWN_EXTENSIONS: if yes, trust Magika; if no, fall back to extension-based ContentRouter. Configurable via [ai.enrichment] magika_confidence_threshold in foxingd config. CLI fxcp enrich uses this constant as the default.
AI_MAGIKA_HIGH_CONFIDENCE
Magika ML confidence threshold for full trust (ignore extension). At or above this, Magika’s label/group/is_text are used directly.
AI_MAGIKA_SUPPLEMENT_THRESHOLD
Magika ML confidence threshold for extension-supplemented routing. Between this and AI_MAGIKA_HIGH_CONFIDENCE, Magika is used but extension info supplements when there’s a conflict. Below this threshold, fall back to extension-only classification.
AI_MAX_ASSOCIATION_CONTEXT_CHARS
Maximum chars of association context (Dublin Core descriptions from associated files) injected into the enrichment prompt. Truncated at UTF-8 boundary.
AI_MAX_COLLECTION_CONTEXT_CHARS
Maximum chars for the collection context section. Default: 500 chars.
AI_MAX_CONTENT_CHARS
Maximum chars of raw file content in the enrichment prompt. This is the unstructured content budget AFTER metadata context. Truncated at UTF-8 boundary. Default: 4000 chars.
AI_MAX_EMBED_BYTES
Maximum bytes of text content to embed via chunking. Content beyond this point is truncated before split_recursive() to bound ORT embedding cost while still allowing large files to be indexed. 1 MiB of UTF-8 text produces ~4K chunks at 256 chars each.
AI_MAX_KEYWORDS_PER_FILE
Maximum number of keywords extracted per file in LLM enrichment output.
AI_MAX_MENTIONS_PER_FILE
Maximum number of entity mentions extracted per file in LLM enrichment output.
AI_MAX_PREVIEW_CHARS
Maximum chars for the indexed content preview section. Prevents large multi-chunk files from blowing out the prompt. Default: 1000 chars.
AI_MAX_PROMPT_CHARS
Maximum total prompt length (chars) sent to the LLM for enrichment. Metadata context (Magika, extracted metadata, similar files) is always included first. Raw file content fills the remaining budget. Default: 12000 chars (~=3000 tokens) – leaves headroom for LLM response within a 16K context window.
AI_MAX_REFERENCE_CONTEXT_CHARS
Maximum chars of reference file context injected per enrichment prompt.
AI_MAX_SIDECAR_CONTEXT_CHARS
Maximum chars of sidecar context injected into the enrichment prompt.
AI_MAX_TEXT_FILE_SIZE
100 MB – applies only to text/code files. Header-based groups (media, video, archive, binary, document) have no size limit.
AI_MEDIA_ASSOC_EXACT_CONFIDENCE
Confidence score for exact stem-match media-to-parent file association.
AI_MEDIA_ASSOC_FUZZY_CONFIDENCE_MULTIPLIER
Confidence multiplier for fuzzy media file association scores.
AI_MEDIA_ASSOC_FUZZY_THRESHOLD
Jaro-Winkler similarity threshold for fuzzy media file association.
AI_ORT_DEFAULT_BATCH_SIZE
Default batch size for ORT embedding inference.
AI_ORT_MAX_INTRA_THREADS
Maximum ORT intra-op parallelism threads. Caps thread count to avoid over-subscribing CPU cores on high-core-count machines.
AI_ORT_MAX_SEQUENCE_LENGTH
Maximum input sequence length (tokens) for ORT/ONNX tokenizer.
AI_PGVECTOR_CHUNK_SUB_BATCH
SQL parameter limit chunk size for pgvector batch inserts.
AI_PGVECTOR_FILE_BATCH_SIZE
File batch size per transaction during pgvector export.
AI_PGVECTOR_FLUSH_BATCH_SIZE
Default flush batch size for pgvector sync.
AI_PGVECTOR_MAX_CHUNK_PREVIEWS
Maximum chunk content previews returned per file from pgvector.
AI_PGVECTOR_MAX_QUEUE_DEPTH
Default maximum pgvector queue depth before back-pressure.
AI_PGVECTOR_PULL_MODE_AUTHORITATIVE
CID pull-through mode: accept any enrichment for matched CIDs, never call LLM.
AI_PGVECTOR_PULL_MODE_OPPORTUNISTIC
CID pull-through mode: accept enrichment only when stored effort >= requested effort.
AI_PGVECTOR_RECONNECT_BASE_SECS
Base interval for pgvector reconnection attempts when initial connection fails (seconds).
AI_PGVECTOR_RECONNECT_MAX_SECS
Maximum interval for pgvector reconnection with exponential backoff cap (seconds).
AI_PICO8_DETECTION_CONFIDENCE
Confidence score assigned to files detected as Pico-8 cartridges via dimension probe.
AI_PICO8_PNG_HEIGHT
Pico-8 cartridge PNG height.
AI_PICO8_PNG_WIDTH
Pico-8 cartridge PNG width (steganographic game data embedded in pixels).
AI_QUICK_ARCHIVE_PEEK_BUDGET_MS
Archive peek budget (milliseconds) per effort level.
AI_QUICK_MAX_CONTENT_CHARS
Maximum content chars sent to LLM at Quick effort. Quick skips LLM entirely, but if forced: minimal content.
AI_QUICK_MAX_PREVIEW_CHARS
Max preview chars at each effort level.
AI_QUICK_MAX_PROMPT_CHARS
Fallback max prompt chars at Quick effort.
AI_REFERENCE_LLM_THRESHOLD
LLM-layer confidence threshold for reference file injection.
AI_REFERENCE_ORT_THRESHOLD
ORT-layer confidence threshold for reference file injection. At >=0.90, reference file context can be injected without LLM gating.
AI_RRF_K
Reciprocal Rank Fusion (RRF) parameter k for hybrid search scoring. Higher k smooths rank differences; k=60 is the standard default (Cormack et al.).
AI_SAFE_TRUNCATE_ABSTRACT_LIMIT
Truncation limit for dc_abstract when LLM returns non-JSON (chars).
AI_SAFE_TRUNCATE_CONTEXT_LIMIT
Truncation limit for sidecar context and extracted metadata in synthesised enrichment prompts (chars).
AI_SAFE_TRUNCATE_DESCRIPTION_LIMIT
Truncation limit for description when LLM returns non-JSON (chars).
AI_SANDWICH_HEAD_RATIO
Head section ratio for sandwich sampling (35% of budget).
AI_SANDWICH_MARKER_HEAD
Marker prefix for the head section in sandwich output.
AI_SANDWICH_MARKER_MID
Marker prefix for the middle section in sandwich output.
AI_SANDWICH_MARKER_OVERHEAD
Maximum byte overhead from section markers and newlines.
AI_SANDWICH_MARKER_SAMPLE
Marker prefix for random sample sections in sandwich output.
AI_SANDWICH_MARKER_TAIL
Marker prefix for the tail section in sandwich output.
AI_SANDWICH_MID_RATIO
Middle section ratio for sandwich sampling (25% of budget).
AI_SANDWICH_RANDOM_RATIO
Random sample ratio for sandwich sampling (20% of budget).
AI_SANDWICH_RANDOM_WINDOWS
Number of random sample windows extracted from the interior.
AI_SANDWICH_TAIL_RATIO
Tail section ratio for sandwich sampling (20% of budget).
AI_SIDECAR_ANCESTOR_MAX_DEPTH
Maximum ancestor directory depth for gamelist.xml walk-up discovery.
AI_SIDECAR_CONFIDENCE_THRESHOLD
Minimum confidence to pass sidecar data to the LLM layer for evaluation. LLM can reason about borderline cases; below this threshold, discard.
AI_SIDECAR_EXACT_CONFIDENCE
Confidence score for exact filename-stem sidecar matches.
AI_SIDECAR_EXACT_CONTEXT_AFTER
Context lines after an exact filename-stem match (i + N).
AI_SIDECAR_EXACT_CONTEXT_BEFORE
Context lines before an exact filename-stem match.
AI_SIDECAR_EXACT_SNIPPET_CHARS
Exact match snippet truncation (chars).
AI_SIDECAR_FUZZY_CONFIDENCE_MULTIPLIER
Confidence multiplier applied to Jaro-Winkler score for fuzzy sidecar matches.
AI_SIDECAR_FUZZY_CONTEXT_AFTER
Context lines after a fuzzy filename-stem match (idx + N).
AI_SIDECAR_FUZZY_CONTEXT_BEFORE
Context lines before a fuzzy filename-stem match.
AI_SIDECAR_FUZZY_SNIPPET_CHARS
Fuzzy match snippet truncation (chars).
AI_SIDECAR_FUZZY_THRESHOLD
Jaro-Winkler similarity threshold for fuzzy sidecar filename matching.
AI_SIDECAR_HIGH_CONFIDENCE
Minimum Magika confidence to accept ORT-layer sidecar data without LLM review. At >=0.85, ORT alone can make the accept/reject decision.
AI_SIDECAR_KV_CONFIDENCE
Confidence score for structured key-value sidecar matches.
AI_SIDECAR_KV_MAX_LINES
Maximum KV-style lines to extract from a structured sidecar.
AI_SIDECAR_KV_MAX_LINE_LEN
Maximum line length for key-value pairs in raw sidecar parsing.
AI_SIDECAR_KV_MIN_LINES
Minimum KV-style lines to classify a sidecar as structured.
AI_SIDECAR_LOW_ADOPTION_THRESHOLD
Adoption threshold: if fewer than 30% of files in a collection have a given sidecar format, treat it as low-adoption and apply stricter confidence gating.
AI_SIDECAR_MAX_SOURCES_PER_FILE
Maximum number of sidecar sources attached per file enrichment.
AI_SIDECAR_MIN_DIR_FILES
Minimum files in a directory before sidecar detection activates.
AI_SIDECAR_RAW_CONFIDENCE
Confidence score for raw/unstructured sidecar fallback matches.
AI_SIDECAR_RAW_SNIPPET_CHARS
Raw fallback snippet truncation (chars).
AI_SIDECAR_STALENESS_PENALTY_RATIO
Staleness penalty ratio: sidecar data older than Nx the file’s own mtime delta gets a confidence penalty applied during sidecar scoring.
AI_SIDECAR_XML_CONFIDENCE
Confidence score for XML-structured sidecar matches (highest structural signal).
AI_SIDECAR_XML_DEPTH_PENALTY
Depth penalty multiplier applied to XML sidecar confidence scores.
AI_SIDECAR_XML_SNIPPET_CHARS
XML match snippet truncation (chars).
AI_SWEEP_MAX_BACKOFF_MULTIPLIER
Maximum multiplier for exponential backoff on empty AI sweeps. When a periodic sweep finds zero files needing work, the interval doubles (up to base_interval × this cap). Resets to base on any non-empty sweep.
AI_TAXONOMY_NEAREST_THRESHOLD
Minimum cosine similarity for taxonomy_nearest() pgvector HNSW fallback to populate PipelineContext.
AI_TOKENS_TO_CHARS_RATIO
Approximate characters-per-token ratio for LLM token budget estimation. Used to convert available token budget into a character limit for content truncation.
API_LISTEN_BACKLOG
TCP listen backlog for the Prometheus/API server socket.
AVG_EVENT_OVERHEAD_BYTES
Average total memory cost per queued event, including payload.
BARRIER_BROADCAST_CHANNEL_CAPACITY
Broadcast channel capacity for barrier coordination.
BARRIER_CHECK_INTERVAL
Polling interval (ms) for WAL barrier completion checks.
BPF_DEDUP_CLEANUP_INTERVAL
Periodic cleanup interval for the dedup cache (every N events).
BPF_DEDUP_RETAIN_FACTOR
How many dedup windows to retain before evicting (cleanup keeps Nx window).
BPF_DEDUP_WINDOW_MS
Dedup window for kprobe/fentry/LSM duplicate events (milliseconds).
BPF_EVENT_OVERHEAD_BYTES
Per-event fixed overhead estimate (bytes) used by the ReorderBuffer for memory accounting alongside the event payload size.
BPF_EVENT_SIZE_ESTIMATE_BYTES
Base event payload size estimate (bytes) used by the ReorderBuffer for memory accounting. The actual size adds the event name length.
BPF_EVENT_VERSION
Wire format version for BPF ring buffer event structs.
BPF_MAX_TRACKED_DEVICES
Maximum number of block devices tracked simultaneously in the BPF sequence tracker and identity map.
BPF_MAX_TRANSIENT_ENTRIES
Maximum entries in the TransientFilter map before forced GC + eviction. Prevents unbounded HashMap growth under sustained create storms.
BPF_READY_TIMEOUT_SECS
Timeout waiting for BPF probes to attach at daemon startup (seconds).
BPF_RING_POLL_INTERVAL_MS
BPF ring buffer poll interval (milliseconds). Controls how often the userspace event loop polls the kernel ring buffer for new events.
BPF_SEQUENCE_GAP_THRESHOLD
Sequence gap threshold for BPF ring buffer. Gaps larger than this trigger panic-mode hydration and a synthetic SequenceGap event.
BPF_STATS_REPORT_INTERVAL_SECS
Interval between BPF per-device statistics reports (seconds).
BPF_TRANSIENT_GC_CUTOFF_SECS
TransientFilter GC cutoff (seconds). Entries older than this are evicted during periodic garbage collection to prevent unbounded growth.
BROWSER_EVENT_POLL_INTERVAL_MS
TUI browser event poll interval (milliseconds).
BTRFS_SUPER_MAGIC
btrfs filesystem magic number (from statfs).
BUFFER_POOL_MAX_REGISTERED_BUFFERS
Maximum number of registered buffers in a BufferPool.
BUFFER_POOL_MIN_CHUNK_SIZE
Smallest allowed chunk size in the buffer pool (bytes).
CACHE_RESIDENCY_SENDFILE_THRESHOLD
Minimum page-cache residency ratio to trigger the cachestat sendfile fast-path. At >=80% resident, sendfile outperforms io_uring for files in the decision zone.
CACHE_TTL_EVENTS
Number of events processed before capability caches are invalidated.
CAPACITY_THRESHOLD_MB
Free-space threshold on the target: below this, the daemon warns about low capacity.
CHUNK_READER_MAX_INPUT
Maximum input size for the chunk_reader function (16MB).
CHUNK_READER_READ_BUFFER_SIZE
Read buffer size for chunk_reader.
CIFS_MAGIC_NUMBER
CIFS filesystem magic number (from statfs).
COALESCER_BATCH_INITIAL_CAPACITY
Initial Vec capacity for EventBatch in the Coalescer.
COALESCER_FRONTIER_WIDTH_LIMIT
Bounded frontier width limit for the Coalescer. When the batch exceeds this threshold, aggressive transient lifecycle pruning is triggered.
COALESCER_MAX_CAPACITY
Maximum capacity of the per-worker write coalescer. Also used as the denominator for buffer utilization metrics.
CONTENT_VERIFY_SAMPLE_SIZE
Sample size for head/tail content verification (64KB).
CONTENT_VERIFY_TAIL_THRESHOLD
Minimum file size before tail sampling is used during content verification (128KB).
COPY_FILE_RANGE_CHUNK_SIZE
Maximum chunk size per copy_file_range(2) call (1 GiB). Kernel may copy less; caller loops until complete.
COPY_TIMEOUT_BASE_SECS
Base timeout for copy operations (seconds). The actual timeout is computed as base + (file_size / 10MB) * per_10mb, capped at COPY_TIMEOUT_CAP_SECS.
COPY_TIMEOUT_CAP_SECS
Maximum copy timeout regardless of file size (seconds).
COPY_TIMEOUT_LARGE_SECS
Timeout for copying large files. Allows for slow network or HDD targets.
COPY_TIMEOUT_PER_10MB_SECS
Additional timeout per 10 MB of file data (seconds).
COPY_TIMEOUT_SMALL_SECS
Timeout for copying small files (< 64KB). Covers metadata-heavy NFS round-trips.
DAEMON_PROBE_TIMEOUT_SECS
HTTP probe timeout for is_daemon_running liveness check (seconds).
DEFAULT_HIBERNATION_SECS
Seconds of inactivity before the daemon enters hibernation (reduced polling).
DEFAULT_IDENTITY_MAP_OVERHEAD_BYTES
Estimated per-entry memory overhead for the inode identity map (bytes).
DEFAULT_IO_BUFFER_SIZE_MIB
Default I/O buffer size for copy operations (MiB).
DEFAULT_METRICS_PORT
Default Prometheus metrics port for the foxingd API server.
DEFAULT_QUEUE_MAX
Default maximum event queue depth before back-pressure engages.
DELTA_GOOD_MATCH_LEN
Match length considered “good enough” to stop early search in delta encoding.
DELTA_MAX_INPUT_SIZE
Maximum input size for delta encoding (64KB).
DELTA_MIN_MATCH_LEN
Minimum match length for a delta Copy operation.
DIRTY_JOURNAL_MAX_BYTES
Maximum dirty-range journal file size before the journal is discarded and a full Merkle resync is triggered (bytes). 10 MiB.
DIRTY_RANGE_MAX_PER_FILE
Maximum dirty ranges tracked per file before overflow to full resync.
DISPATCHER_BULK_TIN_CAPACITY
Channel capacity for the bulk tin in the TinnedDispatcher. Bulk events (write, truncate) are freely droppable; hydration catches misses.
DISPATCHER_METADATA_TIN_CAPACITY
Channel capacity for the metadata tin in the TinnedDispatcher. Metadata events (chmod, chown, xattr) are droppable under pressure.
DRAIN_ACK_TIMEOUT_SECS
Timeout for workers to acknowledge a drain barrier during recovery (seconds).
EMERGENCY_PRUNE_THRESHOLD_BYTES
Emergency prune threshold (bytes). When target storage drops below this, the worker initiates emergency version pruning before retrying the copy.
ERROR_LIMITER_SECS
Minimum interval between repeated error log messages for the same path.
ESTIMATED_RING_DEPTH
Estimated number of in-flight entries in the BPF ring buffer.
EVENTBUS_NOTIFY_CHANNEL_CAPACITY
Broadcast channel capacity for EventBus change notifications.
EVENT_HANDLER_TIMEOUT_SECS
Timeout for simple event handler operations: rename, truncate, fallocate (seconds).
EVENT_QUEUE_OVERHEAD_BYTES
Per-event memory overhead in the dispatcher queue (bytes).
F2FS_SUPER_MAGIC
F2FS filesystem magic number (from statfs).
FICLONE_IOCTL
FICLONE ioctl number for CoW reflink cloning.
FSYNC_LATENCY_DEFAULT_AVG_US
Default average fsync latency estimate for FsyncLatencyTracker (microseconds). Corresponds to 1 second – conservative initial estimate for cold starts.
FSYNC_LATENCY_DEFAULT_DEVIATION_US
Default fsync latency deviation for FsyncLatencyTracker (microseconds). Used in adaptive timeout calculation: timeout = avg + 4 x deviation.
FSYNC_LATENCY_MAX_US
Maximum fsync latency estimate after timeout doubling (microseconds). Caps record_timeout() to prevent runaway growth (30 seconds).
FSYNC_TIMEOUT_MAX_US
Maximum adaptive fsync timeout (microseconds). Ceiling for get_timeout() clamp (60 seconds).
FSYNC_TIMEOUT_MIN_US
Minimum adaptive fsync timeout (microseconds). Floor for get_timeout() clamp (5 seconds).
FS_IOC_SETFLAGS_IOCTL
FS_IOC_SETFLAGS ioctl for setting filesystem flags (immutable, append-only).
FULL_SCAN_DEBOUNCE_SECS
Minimum quiet period between consecutive full-scan triggers.
FULL_SCAN_EPOCH_OFFSET_SECS
Epoch offset for full-scan debounce: last_full_scan is initialized to now - offset so the first health-check-triggered scan fires immediately.
FUSE_CACHE_TTL_DEFAULT_SECS
Default metadata cache TTL (seconds) for the FUSE passthrough overlay. StorageClassification-aware overrides apply at runtime: NFS 30s, HDD 60s, NVMe 5s. Corresponds to fuse_cache_ttl_secs in TargetConfig.
FXAR_RESTORE_HEADROOM_BYTES
Headroom bytes reserved for FXAR restore disk space checks (10MB).
FXCP_BUFFER_POOL_COUNT
Buffer pool count for fxcp CLI tree-copy io_uring pipeline.
FXCP_IO_URING_SQ_DEPTH
io_uring submission queue depth for fxcp CLI tree-copy operations.
GC_INTERVAL_SECS
Interval between garbage collection sweeps for expired map entries.
GC_STARTUP_JITTER_MAX_MS
Maximum random jitter added to GC startup to avoid thundering herd (ms).
GENERATION_UNKNOWN
Sentinel value for unknown/unset inode generation.
GIT_COMMIT_HASH
Git commit hash at build time, or “unknown” if not set.
GOVERNOR_CHECK_INTERVAL_MS
How often the governor samples PSI, memory, and CPU pressure (ms).
GOVERNOR_EMERGENCY_PRESSURE_THRESHOLD
Emergency pressure threshold for AI enrichment skip.
GOVERNOR_FAILURE_RATE_THRESHOLD
Copy failure rate (0.0..1.0) above which the governor declares the target unhealthy.
GOVERNOR_FAILURE_WINDOW_RESET_OPS
Total operations before the governor auto-resets its failure window. Prevents transient error bursts from permanently marking a target unhealthy.
GOVERNOR_FAILURE_WINDOW_SECS
Sliding window for computing the governor’s failure rate.
GOVERNOR_HYPERVISOR_PSI_MULTIPLIER
PSI relaxation multiplier for hypervisor/container environments. Hypervisor-reported PSI values are inflated by host contention; this multiplier relaxes the threshold to avoid false throttling.
GOVERNOR_HYSTERESIS_SECS
Cooldown period before the governor can toggle stress state again.
GOVERNOR_MEMORY_HIGH_WATERMARK_PCT
Memory usage fraction above which the governor activates pressure throttling.
GOVERNOR_PACING_INITIAL_MS
Initial pacing delay when the governor first detects system stress (ms).
GOVERNOR_PACING_MAX_MS
Maximum pacing delay the governor can impose on workers (ms).
GOVERNOR_PSI_CPU_THRESHOLD_NORMAL
PSI CPU pressure percentage that triggers governor throttling (normal mode).
GOVERNOR_PSI_CPU_THRESHOLD_RELAXED
PSI CPU pressure threshold for hypervisor/container environments (relaxed mode).
GOVERNOR_PSI_IO_THRESHOLD_NORMAL
PSI I/O pressure percentage that triggers governor throttling (normal mode).
GOVERNOR_PSI_IO_THRESHOLD_RELAXED
PSI I/O pressure threshold for hypervisor/container environments (relaxed mode).
GOVERNOR_THROTTLE_PRESSURE_THRESHOLD
Throttle pressure threshold for AI enrichment delay.
GSS_WRAP_OVERHEAD_BYTES
GSS wrap token overhead per compound RPC (RFC 4121 S4.2.6.2).
HOT_DIR_CUTOFF_SECS
Age cutoff for orphaned .tmp.* files during cleanup (seconds). Files older than this are considered abandoned and removed.
HYDRATION_ALLOCATION_WARN_INTERVAL_SECS
Minimum interval between memory allocation warning log messages during hydration.
HYDRATION_ALLOC_RECHECK_INTERVAL_SECS
Interval between allocation rechecks in hydration worker loop (seconds).
HYDRATION_BACKPRESSURE_SLEEP_ITERATIONS
Retry iterations during backpressure stall before aborting scan.
HYDRATION_BACKPRESSURE_SLEEP_MS
Sleep between backpressure stall retries (milliseconds).
HYDRATION_BACKPRESSURE_TIMEOUT_ATTEMPTS
Consecutive back-pressure timeouts before hydration gives up on a job.
HYDRATION_BATCH_BUFFER_CAPACITY
Batch buffer capacity for the hydration manager event loop.
HYDRATION_BATCH_LIMITS_HDD
Hydration batch limits for HDD targets: (min_batch, max_batch).
HYDRATION_BATCH_LIMITS_NETWORK
Hydration batch limits for network (NFS) targets: (min_batch, max_batch).
HYDRATION_BATCH_LIMITS_NVME
Hydration batch limits for NVMe targets: (min_batch, max_batch).
HYDRATION_BATCH_LIMITS_SDCARD
Hydration batch limits for SD card targets: (min_batch, max_batch).
HYDRATION_BATCH_LIMITS_SSD
Hydration batch limits for SSD targets: (min_batch, max_batch).
HYDRATION_CHECKPOINT_INTERVAL
Log progress every N directories during hydration scan.
HYDRATION_COPY_BACKOFF_BASE_MS
Base delay for exponential backoff on hydration copy retries (ms).
HYDRATION_COPY_BACKOFF_MAX_MS
Maximum backoff delay for hydration copy retries (ms).
HYDRATION_COPY_JITTER_MAX_MS
Maximum random jitter added to hydration copy backoff (ms).
HYDRATION_COPY_MAX_ATTEMPTS
Maximum retry attempts for a single hydration copy operation.
HYDRATION_DIRTY_RANGE_RING_SIZE
io_uring ring size for dirty-range replay operations.
HYDRATION_FALLBACK_BUFFER_COUNT
Buffer count when optimal allocation fails (16 x 4MB = 64MB).
HYDRATION_FALLBACK_CHUNK_SIZE
Fallback chunk size in bytes when optimal allocation fails (4 MiB).
HYDRATION_HEAD_VERIFY_BYTES
Bytes to read for head-hash content verification in hydration sync_file_needed. 8KB covers the observed corruption pattern (zeros starting at byte 2).
HYDRATION_HEARTBEAT_INTERVAL_SECS
Interval between hydration worker heartbeat log messages.
HYDRATION_HOT_DIR_THRESHOLD_SECS
Directories modified within this window are considered “hot” and scanned first.
HYDRATION_HYSTERESIS_DOWN
Hysteresis multiplier for transitioning from yield -> primary mode.
HYDRATION_HYSTERESIS_UP
Hysteresis multiplier for transitioning from primary -> yield mode.
HYDRATION_IOURING_RING_PADDING
Extra ring slots added beyond buffers_per_ring for safety margin.
HYDRATION_JOB_RECV_TIMEOUT_SECS
Timeout for receiving the next job from the hydration queue.
HYDRATION_LOG_INTERVAL
Log progress every N files during hydration copy.
HYDRATION_LOW_WATERMARK_SLEEP_MS
Sleep at low watermark during scan (milliseconds).
HYDRATION_MEMORY_SHARE_PRIMARY
Fraction of global buffer budget allocated to hydration in primary mode.
HYDRATION_MEMORY_SHARE_YIELD
Fraction of global buffer budget allocated to hydration in yield mode.
HYDRATION_OOM_RETRY_DELAY_SECS
Delay before retrying a hydration copy after an out-of-memory error.
HYDRATION_PATH_RESOLVE_POLL_MS
Polling interval when waiting for path resolution during hydration (ms).
HYDRATION_PATH_RESOLVE_TIMEOUT_SECS
Timeout for resolving an inode to a filesystem path during hydration.
HYDRATION_QUEUE_CAPACITY
Maximum pending jobs in the hydration (resync) work queue.
HYDRATION_RING_BUFFER_CAP
io_uring ring size per hydration worker. Caps memory usage (e.g. 32 x 4MB = 128MB per worker instead of unbounded).
HYDRATION_SMALL_FILE_THRESHOLD
Small file threshold for hydration fast-path (skip io_uring overhead).
HYDRATION_STORM_THRESHOLD_MULTIPLIER
Multiplier applied to global_buffer_limit to derive the storm threshold.
HYDRATION_TIMEOUT_FLOOR_DEFAULT
Hydration timeout floors for unknown/default targets: (stall_secs, overall_secs, postcopy_secs).
HYDRATION_TIMEOUT_FLOOR_HDD
Hydration timeout floors for HDD targets: (stall_secs, overall_secs, postcopy_secs).
HYDRATION_TIMEOUT_FLOOR_NETWORK
Hydration timeout floors for Network/NFS targets: (stall_secs, overall_secs, postcopy_secs).
HYDRATION_TIMEOUT_FLOOR_SSD
Hydration timeout floors for SSD targets: (stall_secs, overall_secs, postcopy_secs).
HYDRATION_WORKER_LOG_INTERVAL
Log worker liveness every N processed jobs.
HYDRATION_YIELD_MODE_BUFFER_DIVISOR
Buffer pool capacity divisor when entering yield mode.
IDENTITY_EVICTION_TTL_SECS
Time-to-live for stale entries in the inode identity map (seconds).
IDENTITY_LRU_SIZE_DIVISOR
LRU size divisor: lru_size = max_entries / this.
IDENTITY_MAP_MAX_ENTRIES
Maximum entries in the identity map after clamping.
IDENTITY_MAP_MIN_ENTRIES
Minimum entries in the identity map after clamping.
IDENTITY_SCAN_SLEEP_INTERVAL
Sleep every N entries during identity scan for throttling.
IDENTITY_SCAN_SLEEP_US
Sleep duration during identity scan throttling (microseconds).
IDENTITY_SCAN_YIELD_INTERVAL
Yield to scheduler every N entries during identity scan.
IOURING_COMPLETION_TIMEOUT_STREAK
Consecutive io_uring completion timeouts before the worker declares a stall.
IO_URING_READABLE_TIMEOUT_MS
Deadline for io_uring completion poll before giving up on a single wait cycle.
KRB5P_MAX_WRITE_DATA
Maximum file data size for krb5p compound RPC bypass (bytes).
KRB5_TICKET_MIN_REMAINING_SECS
Minimum Kerberos ticket remaining lifetime before renewal (seconds).
LITE_HASH_DEFAULT_THRESHOLD
Default file-size threshold for lite (head+tail) hashing (128 KiB). Files smaller than this get a full BLAKE3 hash; larger files use a head+tail 4 KiB sample for fast change detection.
LOG_THROTTLE_INTERVAL_SECS
Minimum interval between repeated log messages during io_uring stall detection.
MAX_LEAVES_PER_XATTR
Max Merkle leaves that fit in a 64KB xattr with fat nodes. (65536 - 56 overhead) / 44 bytes per leaf (32 hash + 4 entropy + 8 simhash) = 1488.
MAX_RETRY_BACKOFF_SECS
Ceiling for exponential retry backoff across all retry loops.
MAX_WORKER_CORES
Upper bound on worker threads the daemon will spawn.
MERKLE_DELTA_THRESHOLD
Minimum file size for the Merkle delta copy path in hydration.
MERKLE_INDEX_CHUNK_SIZE
Merkle chunk size for files stored in the per-target index. 512KB gives a practical tradeoff: 640KB index per 10GB file, 64MB per 1TB.
MERKLE_INDEX_THRESHOLD
Files above this threshold use the per-target Merkle index (.foxing_meta/merkle.db) instead of xattr storage, enabling finer-grained chunk sizes.
MERKLE_XATTR_MAX_BYTES
Maximum serialized Merkle signature size that fits in a Linux xattr.
MINIMUM_ALIGNMENT_BYTES
Minimum I/O alignment for direct/O_DIRECT writes (bytes). Matches typical sector size.
MIN_CHUNK_SIZE
Minimum chunk size for Merkle tree (64KB). Adaptive chunk_size scales up for large files.
MIN_HOLE_PUNCH_SIZE
Minimum hole size for FALLOC_FL_PUNCH_HOLE operations (16KB).
MIN_INODES_THRESHOLD
Minimum free inodes on the target before the daemon warns about exhaustion.
MONITOR_POLL_INTERVAL_MS
Remote monitor poll interval for status/metrics fetching (milliseconds).
MOUNT_HEALTH_CHECK_INTERVAL_SECS
Interval between target mount health checks in the hydration manager (seconds).
MOUNT_PROBE_FSYNC_TIMEOUT_SECS
Timeout for the fsync liveness probe that detects stale NFS mounts.
NFS_BATCH_ADDITIVE_INCREASE
Additive increase step for BatchTuner AIMD batch size growth.
NFS_BATCH_EWMA_ALPHA
EWMA smoothing factor for BatchTuner queue depth and RTT tracking.
NFS_BATCH_MULTIPLICATIVE_DECREASE
Multiplicative decrease factor for BatchTuner AIMD batch size reduction.
NFS_BATCH_PRESSURE_HIGH
Queue pressure ratio above which BatchTuner increases batch size.
NFS_BATCH_PRESSURE_LOW
Queue pressure ratio below which BatchTuner decreases batch size.
NFS_BATCH_READ_HEAD_FILES_PER_COMPOUND
Max files per batch_read_head compound (SEQUENCE+PUTFH+[LOOKUP+READ]×N). Conservative for 8KB data responses (24KB reply per compound).
NFS_CA_MAX_OPERATIONS
Requested ca_maxoperations in CREATE_SESSION. The server negotiates down to its actual limit; this is the client’s opening bid.
NFS_CLIENT_POOL_SIZE
NFS client pool session count.
NFS_COMPOUND_BYTE_LIMIT
Maximum compound RPC byte budget before splitting into a new compound (800 KiB). Keeps each compound well within the server’s ca_maxrequestsize (~16 MiB).
NFS_COMPOUND_TUNER_INITIAL_MAX_OPS
Initial max_files_per_compound for CompoundSizeTuner before AIMD adaptation.
NFS_DEFAULT_PORT
Default NFS server port (IANA-assigned for NFSv4).
NFS_GRACE_RETRY_COUNT
Number of grace period retries for NFS WRITE operations.
NFS_HOSTNAME_BUFFER_SIZE
Hostname buffer for gethostname() syscall.
NFS_KRB5P_MAX_BATCH
Maximum files per compound RPC for krb5p transport. Reduced to avoid accumulating large batches that serialize into many single-file compounds wastefully under AES encryption.
NFS_MAX_REQUEST_SIZE
Maximum NFSv4.2 request size for channel negotiation (16MB data + 4KB header).
NFS_MAX_RESPONSE_SIZE
Maximum NFSv4.2 response size for channel negotiation (1MB).
NFS_NSS_BUFFER_SIZE
NSS getpwuid_r / getgrgid_r username/group lookup buffer size.
NFS_PRIVILEGED_PORT_END
End (exclusive) of the privileged port range for NFS source-port binding.
NFS_PRIVILEGED_PORT_START
Start of the privileged port range for NFS source-port binding. NFS servers with sec=sys may require connections from ports < 1024.
NFS_PROBE_TIMEOUT_SECS
Timeout for the NFS NULL RPC liveness probe (connect + read + write).
NFS_RDMA_MAX_BATCH
Maximum files per compound RPC for RDMA transport. RDMA_MAX_INLINE=4188B – multi-file compounds exceed inline capacity.
NFS_RDMA_MAX_BATCH_BYTES
Maximum compound byte budget for RDMA transport (bytes). Sized to fit within RDMA_MAX_INLINE (4188B) with header overhead.
NFS_RDMA_PORT
IANA-assigned NFS/RDMA port (RFC 8267).
NFS_RECONNECT_SLEEP_MS
Sleep duration between retries when the NFS server is in grace period.
NFS_REPLY_INITIAL_CAPACITY
Initial capacity for the RPC reply buffer Vec<u8>. Sized to hold a typical small-compound response without reallocation.
NFS_SENDFILE_MIN_SIZE
Minimum file size to activate the NFS sendfile fast-path (64 KiB). Below this, io_uring overhead is negligible and sendfile adds no benefit.
NFS_TCP_CONNECT_TIMEOUT_SECS
TCP connect timeout for NFSv4.2 client session recovery and privileged port fallback.
NFS_TCP_MAX_BATCH
Maximum files per compound RPC for TCP/TLS AUTH_SYS transport.
NFS_TCP_MAX_BATCH_BYTES
Maximum compound byte budget for TCP/TLS transport (8 MiB).
NFS_TCP_RW_TIMEOUT_SECS
TCP read/write timeout for NFSv4.2 compound RPC streams.
NFS_TLS_ALPN
ALPN protocol identifier for RPC-over-TLS (RFC 9289 S7.2).
NFS_TLS_HANDSHAKE_TIMEOUT_SECS
Timeout for the TLS handshake after AUTH_TLS STARTTLS upgrade (seconds).
NFS_WRITER_CHANNEL_CAPACITY
Channel capacity for the NFS writer task’s job queue. Workers submit NfsWriteJob entries; the writer drains in batch cycles.
NFS_XDR_ENCODER_BODY_CAPACITY
Initial XDR encoder capacity for compound RPC body.
NFS_XDR_ENCODER_SMALL_CAPACITY
Initial XDR encoder capacity for small RPC messages (EXCHANGE_ID, CREATE_SESSION).
NFS_XDR_ENCODER_TINY_CAPACITY
Initial XDR encoder capacity for GSS RPC header.
NFS_XDR_HEADER_OVERHEAD
Estimated XDR header overhead per compound RPC (bytes). Covers SEQUENCE, PUTFH root, and framing. Used as the initial byte accumulator.
NFS_XDR_PER_OP_OVERHEAD
Estimated per-operation XDR overhead (bytes). Covers PUTFH + OPEN + WRITE + CLOSE op headers and filehandle encoding for each file in a compound.
ONE_SHOT_CHECK_INTERVAL_MS
One-shot sync mode hydration completion check interval (milliseconds).
OUTAGE_FULL_SCAN_THRESHOLD_SECS
Outage duration (seconds) beyond which recovery triggers a full scan instead of journal replay.
OUTAGE_JOURNAL_MAX_ENTRIES
Maximum events stored in the outage journal before oldest entries are dropped.
POSTCOPY_TIMEOUT_SECSDeprecated
PROCESS_SEGMENT_STALL_SECSDeprecated
PROCESS_SEGMENT_TIMEOUT_SECSDeprecated
PROFILE_HDD_VALUES
I/O profile for HDD targets: (min_chunk, max_chunk, min_qd, max_qd).
PROFILE_NETWORK_VALUES
I/O profile for network (NFS) targets: (min_chunk, max_chunk, min_qd, max_qd).
PROFILE_NVME_VALUES
I/O profile for NVMe targets: (min_chunk, max_chunk, min_qd, max_qd).
PROFILE_SDCARD_VALUES
I/O profile for SD card targets: (min_chunk, max_chunk, min_qd, max_qd).
PROFILE_SSD_VALUES
I/O profile for SSD targets: (min_chunk, max_chunk, min_qd, max_qd).
PROGRESS_INTERVAL_HUMAN_MS
Progress reporting interval in human-readable output mode (milliseconds).
PROGRESS_INTERVAL_JSON_MS
Progress reporting interval in JSON output mode (milliseconds).
QCOW2_BITMAPS_EXTENSION
Header extension type for persistent dirty bitmaps.
QCOW2_BITMAP_FLAG_AUTO
Bitmap flag: auto (actively recording writes).
QCOW2_BITMAP_FLAG_IN_USE
Bitmap flag: in_use (inconsistent – was not properly synced).
QCOW2_BITMAP_TYPE_DIRTY
Dirty tracking bitmap type identifier.
QCOW2_HEADER_V3_SIZE
qcow2 v3 header size (minimum).
QCOW2_L2_OFFSET_MASK
L1/L2 host offset extraction mask (bits 9-55).
QCOW2_MAGIC
qcow2 magic bytes: “QFI\xfb” in big-endian.
QCOW2_MAX_BACKING_PATH
Maximum backing file path length (qcow2 spec).
RAYON_HASH_THRESHOLD
Minimum file size for parallel BLAKE3 hashing via update_rayon() (1 MiB). Below this threshold, single-threaded hashing is faster due to rayon overhead.
RDMA_CQ_DEPTH
Completion queue depth for RDMA ibverbs CQ creation.
RDMA_CQ_POLL_MAX_SPINS
Maximum CQ poll spins before declaring an RPC timeout. At ~10ns per spin, 10M spins ~= 100ms busy-wait ceiling.
RDMA_INLINE_PADDING
Padding/overhead added to inline body for RDMA message framing (bytes).
RDMA_MAX_INLINE_BODY
Maximum inline NFS body size for RDMA Send/Recv operations (bytes). Must fit within RDMA_MAX_INLINE = body + header + padding.
RDMA_RESOLVE_TIMEOUT_MS
Timeout for RDMA CM address/route resolution (milliseconds).
RDMA_RPC_TIMEOUT_SECS
Fallback RPC timeout for RDMA operations (seconds). Used when CQ polling exhausts RDMA_CQ_POLL_MAX_SPINS without completion.
RECOVERY_SCAN_TIMEOUT_SECS
Timeout for a targeted recovery scan to complete (seconds).
REORDER_BUFFER_BYTES
Maximum memory budget for the reorder buffer (bytes).
REORDER_BUFFER_CAPACITY
Maximum number of events the reorder buffer can hold before dropping.
REORDER_PENDING_PANIC_COUNT
Pending event count that triggers panic-mode forced delivery in ReorderBuffer.
REORDER_PENDING_WARN_COUNT
Pending event count that triggers warning-level stall timeout in ReorderBuffer.
REORDER_PRESSURE_PANIC_PCT
Reorder buffer fill fraction that triggers panic-mode forced delivery.
REORDER_PRESSURE_STALL_TIMEOUT_MS
Stall timeout under pressure conditions in ReorderBuffer (milliseconds).
REORDER_PRESSURE_WARN_PCT
Reorder buffer fill fraction that triggers a warning log.
REORDER_SOFT_TIMEOUT_MAX_MS
Maximum soft timeout for the reorder buffer (ms). Caps wait time for missing sequences.
REORDER_SOFT_TIMEOUT_MIN_MS
Minimum soft timeout for the reorder buffer before releasing out-of-order events (ms).
REORDER_ZOMBIE_TIMEOUT_MS
Time after which an undelivered reorder buffer entry is considered a zombie (ms).
RETRY_QUEUE_STALL_THRESHOLD_ITERATIONS
Retry queue iterations with zero progress before triggering a forced drain.
SECTOR_SIZE_BYTES
Standard disk sector size (bytes). Used for sparse file detection (blocks * SECTOR_SIZE < file_size / 2) and I/O alignment fallback.
SENDFILE_CHUNK_SIZE
Per-call chunk size for sendfile(2) in the copy-file helper (2 MiB). Prevents a single sendfile from monopolizing the kernel for too long.
SEQUENTIAL_PROXIMITY_THRESHOLD_BYTES
Sequential I/O proximity threshold (bytes). I/O within this range of the last sequential offset is treated as sequential for scheduling purposes.
SHUTDOWN_DEADLINE_SECS
Grace period for worker tasks to complete during daemon shutdown (seconds).
SIDECAR_PREFIX_BUDGET
Character budget for the sidecar type prefix in an enrichment prompt.
SMALL_FILE_THRESHOLD
File size boundary for copy strategy selection (64 KiB). Files smaller than this use sendfile; larger files use io_uring pipeline.
SMB_SUPER_MAGIC
SMB/CIFS filesystem magic number (from statfs).
SPARSE_HOLE_RATIO_SKIP_THRESHOLD
When a file’s hole ratio (bytes in holes / total bytes) exceeds this threshold, skip fallocate pre-allocation. The io_uring pipeline will punch holes as needed. This avoids the wasteful allocate-then-punch round-trip for borderline-sparse files.
SSE_KEEPALIVE_INTERVAL_SECS
Interval between SSE keepalive comments to prevent proxy/client timeouts (seconds).
SSE_POLL_INTERVAL_MS
SSE event stream poll sleep when no new events are available (milliseconds).
SSE_PULL_BATCH_SIZE
Maximum entries pulled from the EventBus per SSE poll cycle.
STALL_WATCHDOG_INTERVAL_SECS
How often the stall watchdog checks for stuck workers.
STALL_WATCHDOG_THRESHOLD_SECS
Seconds without progress before the watchdog declares a worker stalled.
STDIN_CHUNK_SIZE
Read chunk size for stdin pipe mode (1 MiB). Balances memory usage against syscall frequency for piped input.
STORM_THRESHOLD_MAX
Maximum rename storm threshold before forced drain.
STORM_THRESHOLD_MIN
Storm detection threshold range for event burst detection.
STRATIS_MONITOR_INTERVAL_SECS
Interval between Stratis pool capacity checks via D-Bus (seconds).
STRATIS_POOL_CRITICAL_PCT
Stratis pool free-space percentage that triggers critical warnings and emergency version pruning to reclaim capacity.
STRATIS_POOL_LOW_PCT
Stratis pool free-space percentage that triggers low-space warnings.
SYNC_MIN_FREE_BYTES
Minimum free bytes on target before fxcp sync aborts with an error (10 MiB).
SYSTEM_GOVERNOR_UPDATE_INTERVAL_SECS
SystemGovernor periodic update interval (seconds).
SYSTEM_MEMORY_CONSTRAINED_MB
Systems with less than this are considered memory-constrained.
SYSTEM_MEMORY_LARGE_MB
Systems with more than this get expanded buffers.
TARGET_ERROR_STREAK_THRESHOLD
Consecutive target errors before the worker requests a rescan on recovery.
TLSH_ENTROPY_SKIP_THRESHOLD
Entropy threshold above which TLSH is skipped (encrypted/compressed data).
TLSH_MIN_DATA_SIZE
Minimum data length in bytes for TLSH computation.
TUI_BANDWIDTH_HISTORY_CAPACITY
Bandwidth history ring buffer capacity for TUI sparkline.
TUI_BUFFER_UTIL_HISTORY_CAPACITY
Buffer utilization history capacity for TUI sparkline.
TUI_CHANNEL_CAPACITY
Channel capacity for TUI event and command channels.
TUI_LATENCY_HISTORY_CAPACITY
Latency history ring buffer capacity for TUI sparkline.
TUI_LOG_BUFFER_CAPACITY
Log buffer capacity for TUI log panel.
TUI_TICK_INTERVAL_MS
TUI tick/refresh interval (milliseconds).
TUNER_AIMD_ADDITIVE_STEP
AIMD additive increase step for batch size growth.
TUNER_AIMD_MULTIPLICATIVE_FACTOR
AIMD multiplicative decrease factor on congestion detection.
TUNER_BDP_PACING_GAIN_DRAIN
BBR pacing gain during drain phase (0.5x = half rate to clear queues).
TUNER_BDP_PACING_GAIN_MUTED
BBR pacing gain when muted by system pressure (0.75x = reduced throughput).
TUNER_BDP_PACING_GAIN_PROBE
BBR pacing gain during bandwidth probing (1.25x = slight overshoot).
TUNER_BDP_PACING_GAIN_STARTUP
BBR pacing gain during startup phase (2x = double estimated BDP).
TUNER_DEFAULT_AVG_EVENT_SIZE_BYTES
Default assumed average event payload size (bytes).
TUNER_DEFAULT_BANDWIDTH_GB_PER_SEC
Default estimated bandwidth for new targets before probing (GB/s).
TUNER_DEFAULT_BATCH_SIZE
Default batch size for worker event processing.
TUNER_DEFAULT_COALESCE_BYTES
Default coalesce threshold for merging small writes (bytes).
TUNER_DEFAULT_FLUSH_INTERVAL_US
Default flush interval for worker event batches (microseconds).
TUNER_DEFAULT_FLUSH_MAX_US
Maximum flush interval ceiling (microseconds).
TUNER_DEFAULT_FLUSH_MIN_US
Minimum flush interval floor (microseconds).
TUNER_DEFAULT_LATENCY_SPIKE_THRESHOLD_US
Latency spike detection threshold (microseconds); exceeding triggers drain.
TUNER_DEFAULT_MEMORY_PRESSURE_PCT
Memory pressure percentage threshold for tuner v2 throttling.
TUNER_DEFAULT_PENDING_QUEUE_MAX
Maximum pending queue depth before events are dropped.
TUNER_DEFAULT_PENDING_QUEUE_MIN
Minimum pending queue depth before back-pressure engages.
TUNER_DEFAULT_QUEUE_DEPTH
Default io_uring submission queue depth.
TUNER_DEFAULT_QUEUE_DEPTH_ALPHA
EWMA smoothing factor for queue depth estimation.
TUNER_DRAIN_TIMEOUT_SECS
Maximum time the tuner stays in drain phase before returning to steady state.
TUNER_EWMA_ALPHA
EWMA smoothing factor for tuner metrics (lower = smoother, slower to react).
TUNER_HIGH_BANDWIDTH_THRESHOLD_GB_PER_SEC
Bandwidth threshold above which aggressive probing is used (GB/s).
TUNER_HYDRATION_DEBOUNCE_US
Debounce window for hydration tuner updates (microseconds).
TUNER_IDLE_TIMEOUT_SECS
Seconds of zero throughput before the tuner enters idle mode.
TUNER_MAX_BATCH_SIZE
Hard upper bound on batch size regardless of tuner state.
TUNER_MAX_COALESCE_BYTES
Maximum coalesce threshold (4MB) – memory guardrail.
TUNER_MAX_FLUSH_US
Upper bound on flush interval (microseconds). Caps how long writes can be batched.
TUNER_MEMORY_PRESSURE_THRESHOLD
Memory usage fraction that triggers tuner throttling.
TUNER_MIN_BATCH_SIZE
Hard lower bound on batch size to prevent starvation.
TUNER_MIN_FLUSH_US
Lower bound on flush interval (microseconds). Prevents excessive flushing.
TUNER_STARTUP_DURATION_SECS
Duration of the BBR startup phase (aggressive probing).
TUNER_STATE_TRANSITION_DELAY_US
Minimum delay between BBR tuner state transitions (microseconds).
TUNER_V2_EWMA_ALPHA_DEFAULT
Default EWMA alpha for tuner v2 smoothing filters.
TUNER_WINDOW_SECS
Sliding window duration for tuner throughput and latency sampling.
TUNING_BOARD_CONSENSUS_INTERVAL_SECS
TuningBoardManager global consensus interval (seconds).
TUNING_BOARD_MANAGER_CAPACITY
Maximum targets tracked by TuningBoardManager.
VERSION
Crate version string, pulled from Cargo.toml at compile time.
VERSION_LIST_DISPLAY_LIMIT
Maximum versions shown in snapshot list output.
VERSION_SCAN_POLL_INTERVAL_MS
Poll sleep interval for version index scan (milliseconds).
WAL_BATCH_TOKENS_INITIAL
Initial token count for WAL batch admission control. Each write operation consumes a token; tokens regenerate on flush.
WAL_MAX_WRITERS_BEFORE_BARRIER
Maximum concurrent writers before the WAL engages barrier mode. Beyond this threshold, new writers block until the current batch completes.
WAL_SEQUENCE_OVERFLOW_THRESHOLD
Sequence number proximity to u64::MAX that triggers an overflow reset. When global_seq >= u64::MAX - threshold, the sequence resets to 1.
WORKER_BUFFER_POOL_ALLOC_ATTEMPTS
Number of attempts to allocate a buffer from the worker pool before giving up.
WORKER_CLEANUP_INTERVAL_SECS
Interval between worker housekeeping passes (stale entry cleanup, stats flush).
WORKER_FLUSH_CAP_PER_TICK
Maximum events drained from the coalescer per flush tick. Prevents unbounded processing in a single select iteration.
WORKER_INITIAL_IO_LATENCY_SECS
Grace period after worker startup before I/O latency measurements are trusted.
WORKER_IO_URING_DEPTH_MIN
Minimum io_uring submission queue depth per worker.
WORKER_METRICS_UPDATE_INTERVAL_MS
How often workers flush Prometheus metric gauges (ms).
WORKER_MOUNT_CHECK_INTERVAL_MS
How often workers check whether the target mount is still alive (ms).
WORKER_REORDER_BUFFER_MIN_BYTES
Minimum reorder buffer size before the worker starts processing events (bytes).
WORKER_RETRY_QUEUE_BASE_BACKOFF_MS
Base backoff delay for the worker retry queue (ms). Doubles on each attempt.
WORKER_RETRY_QUEUE_MAX_RETRIES
Maximum retries for a single event in the worker retry queue.
WORKER_STARTUP_CHECK_DELAY_MS
Delay after worker startup before running the first health check (ms).
WORKER_TUNE_EVENT_THRESHOLD
Minimum events processed before the tuner considers adjusting parameters.
WORKER_TUNE_INTERVAL_US
Interval between adaptive tuner recalculations (microseconds).
XFS_IOC_EXCHANGE_RANGE
XFS_IOC_EXCHANGE_RANGE ioctl for atomic file content exchange.

Statics§

ONE_SHOT_MODE
When true, the daemon runs a single sync pass and exits (fxcp mode).