Objective
Establish one authoritative set of defaults and remove the machine-specific config/denis-config.json naming without modifying the user's existing configuration file.
Planned branch: refactor/standardize-config-defaults
Performance report: docs/performance/standardize-config-defaults.md
Performance gate: #20
Scope
- Rename the shared example/default configuration to a neutral path.
- Resolve the current
maxScrollStep disagreement between the JSON file and compiled Swift defaults.
- Remove an unused bundled default resource or make its ownership explicit; do not retain two independent default sources.
- Update packaging, app-building, README, and technical documentation references.
- Preserve
~/Library/Application Support/mx3-lite/config.json exactly.
- Do not silently migrate or overwrite user settings.
- Keep missing required button IDs mapped to disabled behavior.
Tests
- first-run config creation
- existing config preservation
- partial config fallback
- invalid-value warnings
- app and CLI resolve identical defaults
- source and app packages contain the intended neutral file
- release artifacts exclude personal paths and data
Performance experiment
Although this should be runtime-neutral, verify:
- release binary and app archive sizes
- strict idle worker measurement
- startup/config-load time
- RSS and thread count
- no new resource parsing in the worker
- no test framework in release output
Definition of done
- One documented authority owns defaults.
- No machine-specific filename remains in distribution.
- Existing user config is untouched.
- Measured worker behavior remains equivalent to
main.
Objective
Establish one authoritative set of defaults and remove the machine-specific
config/denis-config.jsonnaming without modifying the user's existing configuration file.Planned branch:
refactor/standardize-config-defaultsPerformance report:
docs/performance/standardize-config-defaults.mdPerformance gate: #20
Scope
maxScrollStepdisagreement between the JSON file and compiled Swift defaults.~/Library/Application Support/mx3-lite/config.jsonexactly.Tests
Performance experiment
Although this should be runtime-neutral, verify:
Definition of done
main.