implement-wg-config

Implement: wg config lint — companion to wg migrate config

Metadata

Statusdone
Assignedagent-831
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Created2026-04-27T19:33:54.912799125+00:00
Started2026-04-27T19:35:56.817122231+00:00
Completed2026-04-27T19:50:57.155902625+00:00
Tagseval-scheduled
Eval score0.90
└ blocking impact0.92
└ completeness0.90
└ coordination overhead0.90
└ correctness0.92
└ downstream usability0.85
└ efficiency0.88
└ intent fidelity0.84
└ style adherence0.88

Description

Description

Per docs/config-ux-design.md §6.2, ship 'wg config lint [--global|--local|--merged]' as a read-only sibling of 'wg migrate config'. Walks the merged config and emits warnings for everything 'wg migrate config' would change, without rewriting. The 'what's stale?' exploration step before committing to migration.

Files to touch

  • src/cli.rs — add ConfigSubcommand::Lint variant
  • src/commands/config_cmd.rs — add fn lint_config(); reuse migrate.rs predicate logic
  • tests/integration_canonical_config.rs — extend with lint tests

Validation

  • Failing test first: lint_reports_deprecated_keys
  • Failing test first: lint_reports_stale_models
  • Failing test first: lint_does_not_modify_files
  • cargo build + cargo test pass with no regressions
  • Manual smoke: lint a config with deprecated/stale keys → reports them in human-readable form

Depends on

Required by

Log