research-audit-wg

Research: audit wg config schema — what belongs in global vs local, what's deprecated, what's stale

Metadata

Statusdone
Assignedagent-807
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Created2026-04-27T17:38:13.231190668+00:00
Started2026-04-27T18:39:52.681107326+00:00
Completed2026-04-27T18:40:40.252801382+00:00
Tagseval-scheduled
Tokens4627924 in / 25847 out

Description

Description

User noticed today (2026-04-27) that ~/.wg/config.toml (global) and project-local .wg/config.toml have:

  • Different model defaults (global = openrouter:anthropic/claude-sonnet-4, local = claude:opus) — global is stale
  • Same agent.executor / dispatcher.executor deprecated keys (now removed manually in this repo, but other repos still have them)
  • Same dozens of keys repeated in both files even when defaults are fine

User question: 'what's the ideal config file and do we get it configurated easily?'

Required artifacts

Produce a markdown document docs/config-canonical.md that includes:

  1. Full key inventory — list every key in [agent], [dispatcher], [agency], [tui], [chat], [models.], [tiers], [llm_endpoints], [native_executor.], etc., with for each:

    • What it does (one-line)
    • Source of truth: code path that reads it
    • Current default
    • Should-it-be-global, project-local-override, both, or neither
    • Deprecation status (deprecated / current / soon-to-deprecate)
  2. Layered-config story — the canonical resolution order (e.g. CLI flag → env var → project config → global config → built-in default) — and which keys legitimately differ per-project vs which should be global-only.

  3. Stale value audit — find every default that references a deprecated/old model (claude-sonnet-4 vs current claude:opus / claude:sonnet-4-6), executor name, endpoint, etc. List what should be replaced.

  4. Minimal global config — propose what ~/.wg/config.toml should look like for a typical user starting fresh today. Should be SHORT — most things should fall through to built-in defaults rather than be respecified in the user's file.

  5. Minimal project config — propose what ./.wg/config.toml should look like — only override what the project genuinely needs to differ.

Files to read

  • src/config/ — config schema and resolution code
  • src/cli.rs — CLI flag → config wiring
  • ~/.wg/config.toml + /home/erik/workgraph/.wg/config.toml — current real-world examples
  • .workgraph/config.toml in this repo (hardlinked to .wg/config.toml — see ls -la)

Validation

  • Document exists at docs/config-canonical.md and covers every config section
  • Each key has source-of-truth code reference (file:line)
  • Stale defaults flagged with replacement
  • Minimal global + project config snippets included as concrete examples
  • No proposals to break backward compatibility without an explicit migration plan
  • Reviewer can read the doc and say 'I know exactly what to put in my global config now'

Depends on

Required by

Log