diff --git a/CHANGELOG.md b/CHANGELOG.md index d8335195..b43a9e52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 and complete `agent_control.*` field set required for backend classification and Controls-card rendering. +### Changed + +- **Config file renamed** (HYBIM-918): The non-secret debug snapshot written to + `~/.galileo/` on logout/reset is now named `splunk-ao-config.json` (was + `galileo-python-config.json`). The old file can be deleted or ignored — it is + never read back and has no effect on authentication or config resolution. + ## [0.1.1] - 2026-08-03 ### Removed diff --git a/splunk-ao-migration-tool/README.md b/splunk-ao-migration-tool/README.md index c972e237..250c0f95 100644 --- a/splunk-ao-migration-tool/README.md +++ b/splunk-ao-migration-tool/README.md @@ -340,6 +340,16 @@ The `GalileoScorers` enum has been removed entirely. Migrate to `SplunkAOEvaluat + scorer = SplunkAOEvaluators.completeness ``` +### 5.3 On-Disk Config File + +On logout or reset, `splunk-ao-python` writes a non-secret debug snapshot to +`~/.galileo/splunk-ao-config.json`. The directory `~/.galileo/` is inherited +from `galileo-core` and unchanged. + +This file is never read back and has no effect on authentication or config +resolution. If you have an existing `~/.galileo/galileo-python-config.json` +from `galileo-python`, it can be deleted at leisure or simply ignored. + --- ## 6. HTTP Tracing Headers @@ -422,7 +432,6 @@ The following are **unchanged** between galileo and splunk-ao and require no mig - Optional extra names (`[langchain]`, `[openai]`, `[otel]`, `[all]`, etc.) - `TracingMiddleware` class name - `OPENAI_API_KEY` environment variable -- On-disk config file name: `galileo-python-config.json` - Default console/API URLs (`https://app.galileo.ai/`, `https://api.galileo.ai/`) --- diff --git a/src/splunk_ao/config.py b/src/splunk_ao/config.py index 58cf3917..bf002819 100644 --- a/src/splunk_ao/config.py +++ b/src/splunk_ao/config.py @@ -71,7 +71,7 @@ class SplunkAOConfig(GalileoConfig): """Configure authentication and endpoints for standalone and O11y deployments.""" # Config file for this project. - config_filename: str = "galileo-python-config.json" + config_filename: str = "splunk-ao-config.json" console_url: Url = DEFAULT_CONSOLE_URL _instance: ClassVar[Optional["SplunkAOConfig"]] = None diff --git a/tests/test_config.py b/tests/test_config.py index ce2407ab..d9369a71 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -336,3 +336,20 @@ def test_reset_removes_all_bridgeable_galileo_vars() -> None: f"reset() is expected to remove {galileo_key} " f"(bridge owns all GALILEO_* keys; no SDK consumer sets them directly)" ) + + +def test_config_filename_default() -> None: + assert SplunkAOConfig.model_fields["config_filename"].default == "splunk-ao-config.json" + + +def test_config_file_path_resolves_to_splunk_ao_config(tmp_path) -> None: + """Runtime config_file property resolves to splunk-ao-config.json under home_dir. + + Complements test_config_filename_default by exercising the upstream + config_file property rather than just the declared field default. + model_construct skips network-calling validators while still applying + field defaults. + """ + config = SplunkAOConfig.model_construct(home_dir=tmp_path) + + assert config.config_file == tmp_path / "splunk-ao-config.json"