The base settings.toml is tracked; the new sibling settings.local.toml is gitignored (entry already at .gitignore:32 — it was aspirational until now, since the loader only read one file). `load_config()` now overlays the local file on top of the base via a new `_overlay_sections` helper that merges one level deep: for each section in the local file, its keys are merged onto the base section's keys, so a local `[database] url = "..."` no longer wipes other `[database]` keys in the base. Sections present in only one file pass through untouched. Overlay is resolved as a sibling of whichever base file was chosen, so SECOND_BRAIN_CONFIG=/etc/sb/settings.toml also picks up the matching /etc/sb/settings.local.toml. This is the dev-side ergonomic fix: Travis's interactive shell can keep the lovebug password in a gitignored, 0600 settings.local.toml instead of needing SECOND_BRAIN_DATABASE_URL exported on every manual `process` run. Existing _merge is untouched (shallow), so the per-section property merges in Config keep current semantics. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_claim.py | ||
| test_config_overlay.py | ||
| test_playlist.py | ||
| test_smoke_embedding.py | ||
| test_source_edit_retry.py | ||
| test_transcribe.py | ||