SCIP oracle auto-fresh ([oracle])
Part of the config reference.
[oracle] controls the background auto-fresh SCIP oracle — compiler-grade ranking that keeps itself
current without a manual rag-rat oracle run. Opt-in; off by default. When enabled, the
long-lived rag-rat mcp server runs the oracle for the active checkout when its index is stale
(changed since the last run) and quiet (no recent edits), heavily throttled by two gates:
[oracle]
auto_run = false # off by default — opt in explicitly
auto_run_quiet_period_secs = 900 # run only after ~15 min with no index change (debounce)
auto_run_min_interval_secs = 21600 # and at most once every 6 h (floor)
Both gates are required, not redundant: producing a .scip takes minutes while edits arrive in
seconds, so debouncing a single burst is not enough — the quiet-period keeps a pass from firing
mid-session, and the min-interval floor caps how often it can run regardless of churn. The pass runs
on a detached thread of the MCP server only (never short-lived CLI/hook commands), uses the same
lock-free production path as oracle run (the slow subprocess runs OUTSIDE the index write lock; only
the brief join/write serializes), and is fail-open — any error, or a missing indexer tool, is a
silent no-op, and the thread dies with the server process. While auto-fresh is on, important-symbols
reports heuristic ranking — compiler ranking refreshes in the background instead of nudging you to
run the oracle by hand.