docs(followups): schema-driven secret policy, connections 400/409 handling
This commit is contained in:
@@ -11,3 +11,5 @@ Items surfaced during review of one plan that belong to a later plan. Prevents s
|
||||
- **Encryption at rest for `admin_config`.** The `PasswordSourceKey` row currently stores the plaintext ADMIN_PASSWORD (documented trade-off in `AdminBootstrap.cs`). When Plan 2 introduces AES-GCM for `connections.config_json_encrypted`, extend the encryption to the sensitive `admin_config` values.
|
||||
- **`AdminConfigRepository` direct unit tests.** Currently exercised only through `AdminBootstrapTests`. Add a small Get/Set/UPSERT round-trip test.
|
||||
- **Fail-fast integer parsing** in the `Program.cs` env-var loop. Malformed values (`EXECUTION_RETENTION_DAYS=abc`) currently blow up opaquely inside `Configuration.Bind`. Add `int.TryParse` with a clear "env var X has non-integer value" message.
|
||||
- **Schema-driven `IConnectionSecretPolicy`.** Plan 1 ships `HardcodedSecretPolicy` (fixed field-name set). Plan 2 must replace with one that reads a `secretFields: ["..."]` array off each registered `IConnectionProvider.ConfigSchema`.
|
||||
- **Connections endpoint edge cases.** Currently: (a) POST with a non-object `config` value throws `InvalidOperationException` inside `StripSecrets` → 500. Should be a clean 400. (b) POST with a `(provider_id, name)` that already exists raises a raw `SqliteException` on the unique index → 500. Should be a 409 Conflict. Both are v1 stub limitations, worth handling before the SPA lands.
|
||||
|
||||
Reference in New Issue
Block a user