Skip to content

Standardize configuration defaults and remove machine-specific naming #26

Description

@KulmanD

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions