V6.1 backups: once more into the breach.
Quality Gate / gate (push) Successful in 2m29s

This commit is contained in:
Jim Lancaster
2026-09-02 10:59:28 -05:00
parent 494f378e48
commit 96bb80d91f
17 changed files with 120 additions and 353 deletions
+6 -6
View File
@@ -22,13 +22,13 @@ uv sync
### 2) Configure environment
Create a `.env` file in the project root with the required OpenRouter API key:
Create a `.env.production` file in the project root with the required OpenRouter API key:
```env
OPENROUTER_API_KEY=your_openrouter_api_key
```
Settings are read from CLI arguments first, then environment variables, then `.env`, then the defaults below.
Settings are read from CLI arguments first, then environment variables, then `.env.production`, then the defaults below.
### Configuration Source Precedence
@@ -37,13 +37,13 @@ When the same setting is provided in multiple places, the value is chosen in thi
1. CLI arguments (for example `--port 8000`)
2. Settings constructor arguments (used mainly in tests)
3. Environment variables
4. `.env` file values
4. `.env.production` file values
5. Model defaults in code
Practical examples:
- `--port 8000` overrides both `PORT=8000` in the shell and `PORT=7000` in `.env`.
- `DATABASE__PATH=prod.db` in the shell overrides `DATABASE__PATH=dev.db` in `.env`.
- `--port 8000` overrides both `PORT=8000` in the shell and `PORT=7000` in `.env.production`.
- `DATABASE__PATH=prod.db` in the shell overrides `DATABASE__PATH=dev.db` in `.env.production`.
#### Server and runtime
@@ -93,7 +93,7 @@ DATABASE__USER=postgres
DATABASE__PASSWORD=change-me
```
This uses Pydantic nested settings (`env_nested_delimiter='__'`) and avoids JSON blobs in `.env`. A top-level `DATABASE={...}` JSON value is still supported as a fallback, and nested keys such as `DATABASE__PATH` take precedence over conflicting JSON keys.
This uses Pydantic nested settings (`env_nested_delimiter='__'`) and avoids JSON blobs in env files. A top-level `DATABASE={...}` JSON value is still supported as a fallback, and nested keys such as `DATABASE__PATH` take precedence over conflicting JSON keys.
`BOOTSTRAP_SCHEMA_ON_STARTUP` creates missing tables when the app starts. When unset, it is enabled in `development` and `test`, and disabled in `production`; set it explicitly to override that policy. `SQLITE_CHECK_SAME_THREAD` defaults to `false`.