Skip to content

refactor(settings): the boot config provider reads through StationSettingsRepository (gh-#406 slice 5) - #512

Merged
genwave-radio merged 1 commit into
refactor/gh-406-s3-settings-repositoryfrom
refactor/gh-406-s5-config-provider
Aug 14, 2026
Merged

refactor(settings): the boot config provider reads through StationSettingsRepository (gh-#406 slice 5)#512
genwave-radio merged 1 commit into
refactor/gh-406-s3-settings-repositoryfrom
refactor/gh-406-s5-config-provider

Conversation

@genwave-radio

Copy link
Copy Markdown
Collaborator

gh-#406 L2 burn-down, slice 5 of 5 — stacked on slice 4 (merge in order; merge commits, not squash). Merging this completes the issue: the L2 baseline is down to the two designed composition-root exemptions, zero debt rows.

⚖️ The "needs a design" entry, resolved as scoped: the law is about where Npgsql lives, not how the caller is built. StationSettingsConfigurationProvider.Load() (sync, pre-DI, the IConfigurationProvider contract) now constructs new StationSettingsRepository(connectionString) itself — the exact boot path slice 3's plain-string ctor was designed for — and calls the new sync ReadAllForBoot() (SQL byte-identical, documented as the deliberate sync exception). using Npgsql gone; the NpgsqlException catch becomes DbException (same translation slice 3 documented — identical failures caught, cancellation still propagates).

🛡️ Boot posture byte-identical: empty-connection-string short-circuit, allowlist filtering, scalar/array expansion, and catch-log-continue-with-empty-overlay all untouched — only the row fetch moved. Field check after deploy: the config boot echo in Loki should read exactly as before.

📉 Baseline: last debt row deleted; ExemptionBaseline's header rewritten to the end state (two designed rows, the five debt rows recorded as burned down via gh-#406, "not on this list still fails" retained).

✅ At this tip: build 0 warnings; Architecture 104/104 (L2 sees only the designed exemptions); MediaLibrary 769/769 full; Host settings-filtered 167/167 + seed-filtered 37/37.

Base automatically changed from refactor/gh-406-s4-seed-marker to refactor/gh-406-s3-settings-repository August 14, 2026 01:48
@genwave-radio
genwave-radio merged commit 7478107 into refactor/gh-406-s3-settings-repository Aug 14, 2026
6 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 14, 2026
@genwave-radio
genwave-radio deleted the refactor/gh-406-s5-config-provider branch August 14, 2026 01:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant