implement-named-profiles

Implement: named profiles + claude/codex/wgnext starters

Metadata

Statusdone
Assignedagent-1018
Agent identity3184716484e6f0ea08bb13539daf07686ee79d440505f1fdf2de0357707034c3
Modelclaude:sonnet
Created2026-04-28T23:07:55.295959193+00:00
Started2026-04-28T23:22:28.795736654+00:00
Completed2026-04-28T23:50:01.673781299+00:00
Tagspriority-high,fix,profiles,config, eval-scheduled
Eval score0.88
└ blocking impact0.92
└ completeness0.88
└ coordination overhead0.93
└ correctness0.92
└ downstream usability0.87
└ efficiency0.82
└ intent fidelity0.87
└ style adherence0.89

Description

Description

Implement the profile system designed in design-named-profiles. Read that task's log for the chosen storage format, command surface, and hot-reload semantics.

Goal: wg profile use codex switches all model/endpoint config in one command. Three starter profiles ship out of the box: claude, codex, wgnext.

Scope

  1. Profile storage + active-pointer (per design)
  2. Command surface: list, show, create, use, edit, delete, diff (per design)
  3. Three starter profiles created by wg setup or wg profile init-starters:
    • claude: claude:opus / claude:haiku per-role
    • codex: codex:gpt-5.5 / codex:gpt-5.4-mini per-role (verified strings from research-current-openai)
    • wgnext: local:<TBD> worker with endpoint = http://127.0.0.1:8088 placeholder; user sets the actual model+port via wg profile edit wgnext
  4. Hot-reload: wg profile use <name> sends the same IPC as wg config -m does today, so running daemon picks up changes without restart
  5. Coexist with existing config: if there's no active profile, behave exactly as today (read ~/.wg/config.toml as the implicit default profile)

Validation

  • Failing tests written first
  • wg profile list shows the 3 starters after wg profile init-starters
  • wg profile use codex flips active profile and triggers IPC reload (verify daemon log shows reconfigure)
  • After wg profile use codex, wg config show --merged reflects codex models
  • Worker spawned AFTER profile switch uses codex; in-flight workers continue on their original config
  • wg profile use wgnext then wg profile edit wgnext to change endpoint — daemon picks up the new endpoint on next worker spawn
  • cargo build + cargo test pass with no regressions
  • Permanent smoke scenario added with this task id in owners — exercises create / use / show / hot-reload
  • cargo install --path . was run before claiming done

Depends on

Required by

Log