Ga naar inhoud

Configuration reference

Every run of Crible is driven by one resolved Config (src/crible/config.py). Defaults are safe: parallelisation is OFF, a token ceiling is always set, and the corroboration threshold is >= 2. This page is the reference for those knobs; for a task-oriented walkthrough see the README.

Resolution order (later wins): built-in defaults → CRIBLE_* environment variables → explicit CLI flags / keyword overrides.

Auth & provider

Setting Default Env var Notes
auth_mode api_key CRIBLE_AUTH_MODE api_key (pay-per-token) or subscription (Claude OAuth via ant auth login). In subscription mode any ANTHROPIC_API_KEY in the environment is stripped before the SDK client is built, so a stray paid key can never silently bill a subscription run.
provider anthropic CRIBLE_PROVIDER Provider abstraction for the sovereign/cloud split.
model claude-opus-4-8 CRIBLE_MODEL Model id; also selects the web_search tool version.
base_url None CRIBLE_BASE_URL Override endpoint for sovereign deployments.
api_key_env ANTHROPIC_API_KEY Name of the env var holding the key. The key itself is never hardcoded or logged.
effort medium CRIBLE_EFFORT low \| medium \| high \| xhigh \| max. Multiplies thinking + tool tokens on every call (~12 calls/run).

The web_search tool version is derived from the model: modern Opus/Sonnet/Fable models use the dynamic-filtering variant (web_search_20260209, which honours allowed_domains/blocked_domains); older models fall back to the basic variant (web_search_20250305) and run without adaptive thinking or the effort parameter.

Cost & safety ceilings

Setting Default Env var Notes
token_ceiling 200_000 CRIBLE_TOKEN_CEILING Cumulative tokens; halts the run when reached (a between-call gate, not a per-call cap). Must be positive.
require_specific True Refuse to run an over-vague question (the specificity gate); --force overrides.

Orchestration

Setting Default Env var Notes
parallelism_enabled False CRIBLE_PARALLEL Explicit opt-in only — parallel subagents cost roughly 15× tokens.
max_subagents 8 CRIBLE_MAX_SUBAGENTS Cap on bounded subagent threads.
max_iterations_per_thread 3 Bounded tool-use loop per thread.
max_search_uses_per_thread 2 web_search max_uses cap per pass.

Retrieval steering & evidence mix

Setting Default Env var Notes
domain_steering_enabled True CRIBLE_DOMAIN_STEERING Dual-pass allow/block steering toward trusted sources.
evidence_mix_floor 2 CRIBLE_EVIDENCE_MIX_FLOOR Minimum distinct high+medium sources before a clean verdict; blogs never count as corroboration. Must be >= 1.
evidence_research_extra_passes 1 CRIBLE_EVIDENCE_EXTRA_PASSES Bounded re-search on a floor breach, hard-capped at 1 (never a loop).
noncrawlable_search_domains ["reddit.com"] Domains Anthropic's web_search user agent cannot crawl; kept out of allowed_domains (listing them 400s the request).
blocked_search_domains see config.py Known blog/affiliate/SEO domains blocked at the source in the open pass.
query_templates see config.py Deterministic, logged augmentation templates that push searches toward lived experience.

Client-side discovery

Setting Default Env var Notes
discovery_enabled True CRIBLE_DISCOVERY Surface URLs the provider's web_search misses (e.g. reddit).
discovery_backend duckduckgo CRIBLE_DISCOVERY_BACKEND General search backend that surfaces reddit + fora (no API key).
max_discovery_results 6 Cap on discovered URLs fed into the fetch + quote-verify pipeline.
Setting Default Env var Notes
verify_links True CRIBLE_VERIFY_LINKS A cited source must resolve or it is dropped; 403/429 count as live, only 404/410/unreachable are dead.
link_check_timeout 6.0 CRIBLE_LINK_TIMEOUT Seconds.
fetch_enabled True CRIBLE_FETCH Fetch the cited page from your host and verify the quote is actually on it; subsumes link-liveness when enabled.
max_fetch_pages_per_finding 4 Pages per candidate — fewer, but read fully.
max_fetch_chars 30_000 Cap on stored page text used for verification.
fetch_prompt_chars 12_000 Per-page text fed to the model.
quote_match_ratio 0.8 CRIBLE_QUOTE_MATCH_RATIO Fraction of a quote that must match the fetched page text.

Skepticism & ranking

Setting Default Env var Notes
corroboration_threshold 2 CRIBLE_CORROBORATION_THRESHOLD Minimum independent corroborations. Must be >= 1.

Paths

Setting Default Env var Notes
source_tiers_path config/source_tiers.yaml CRIBLE_SOURCE_TIERS The single, version-controlled source-trust tier list.
runs_dir runs CRIBLE_RUNS_DIR Each run writes a directory with audit.jsonl, plan.json, and advice.md.

Non-secret settings are recorded per run in the audit trail (Config.effective_settings()) for reproducibility; secret values (the API key and ANTHROPIC_AUTH_TOKEN) are redacted from any audit output.