You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pre-change, the default install silently produced no judgeable
content: set_input_content / set_output_content / set_retrieval_content
no-op'd because their rate-gate evaluated ``random.random() < 0.0 ==
False``. The L2 evaluator judge then returned empty test cases for
every span and eval_rollups stayed ``pending`` forever. Customers
had to read the docs AND flip a config flag before the "SDK in →
eval out" loop worked.
Flipping the default to 0.10 (what the docs already recommended for
production) inverts the failure mode from silent-no-eval to loud-
content-captured-with-PII-risk. Three PII-defense layers still run
on every captured attribute:
1. SDK in-process scrub (pii_scrub_enabled=True by default)
2. Collector credential-regex scrub on content attribute prefixes
3. Evaluator Presidio NER before judge calls
Changes:
- BotanuConfig.content_capture_rate default 0.0 → 0.10
- YAML loader fallback default matches (config.py:436)
- Bootstrap logs content_capture_rate at every startup; warns when
<= 0.0 so the "why are eval rollups empty" debugging path ends
at a startup log line, not silently-dropped helper calls.
- Tests: test_default_is_zero → test_default_is_ten_percent,
test_env_var_invalid_ignored now expects 0.10 fallback.
- Docs: api/configuration.md table + getting-started/configuration.md
code sample both updated.
All 150 SDK unit tests still pass.
NOTE: working-tree had one unrelated pre-existing change to
src/botanu/models/run_context.py — NOT included in this commit.
Signed-off-by: Deborah Jacob <deborah@botanu.ai>
Copy file name to clipboardExpand all lines: docs/getting-started/configuration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,7 +80,7 @@ class BotanuConfig:
80
80
schedule_delay_millis: int=5000
81
81
export_timeout_millis: int=30000
82
82
83
-
content_capture_rate: float=0.0
83
+
content_capture_rate: float=0.10
84
84
```
85
85
86
86
`BOTANU_API_KEY` is not a field on the dataclass — when the env var is set, `BotanuConfig` auto-configures `otlp_endpoint` + `otlp_headers` for the botanu-trusted endpoint.
0 commit comments