Repository navigation
feat: surface 5 config keys read by code but absent from config.yaml - #1449
Merged
Merged
Conversation
Adds OpenSpec change surface-config-keys documenting the five config keys (calendar.active, providers.fal, memory.maxEntries, tui.statusBar.project, schedules.logPath) that are read by code but absent from config.yaml. Closes #1445
Adds calendar.active, providers.fal (commented-out), memory.maxEntries, tui.statusBar.project, and schedules.logPath to config.yaml with their current effective defaults. Adds maxEntries to MemorySchema so MEMORY_MAX_ENTRIES resolves through buildReverseMap(). Adds tests asserting env-var overrides reach each surfaced key via syncEnv(). Closes #1445
Archives the OpenSpec change and syncs the delta specs (config-keys-surface, config-system, env-config-materialization) into openspec/specs/.
Owner
Author
Implementation Audit Results — surface-config-keysGoal FulfillmentAll five goals from issue #1445 are satisfied:
Acceptance Criteria Verification
Spec Compliance
Quality Check
|
6 tasks
The fal provider is a real configurable backend, not a commented-out placeholder. Uncomment it with the documented shape (type, model, credentials.apiKey) so it is a discoverable, active config key. The generateImage tool still gates on a non-empty falApiKey at runtime.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Surfaces five config keys that are read by live code but absent from
config.yaml, making them discoverable and configurable. Addscalendar.active,providers.fal(commented-out),memory.maxEntries,tui.statusBar.project, andschedules.logPathtoconfig.yamlwith their current effective defaults. AddsmaxEntriestoMemorySchemasoMEMORY_MAX_ENTRIESresolves throughbuildReverseMap(), and adds tests asserting env-var overrides reach each surfaced key viasyncEnv().Type of Change
Testing
Added tests in
tests/unit/config_loader.test.jsasserting:buildReverseMap(ConfigSchema)containsMEMORY_MAX_ENTRIES→memory.maxEntries,ACTIVE→calendar.active,TUI_STATUS_BAR_PROJECT→tui.statusBar.project,SCHEDULES_LOG_PATH→schedules.logPathsyncEnv()materializes each of these paths from their env varsExisting
tests/unit/tools/calendar/providers/factory.test.jsalready assertscalendar.active: msgraphselectsMsGraphProvider. Full suite: 4240 tests passing.Coverage
Checklist
npm run lintpassesCloses #1445