Metadata
| Status | done |
|---|---|
| Assigned | agent-1241 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Created | 2026-04-30T02:27:00.966501975+00:00 |
| Started | 2026-04-30T02:27:42.393812089+00:00 |
| Completed | 2026-04-30T02:52:16.645653299+00:00 |
| Tags | priority-high,fix,executor,cleanup, eval-scheduled |
| Eval score | 0.88 |
| └ blocking impact | 0.88 |
| └ completeness | 0.90 |
| └ coordination overhead | 0.90 |
| └ correctness | 0.88 |
| └ downstream usability | 0.85 |
| └ efficiency | 0.85 |
| └ intent fidelity | 0.93 |
| └ style adherence | 0.87 |
Description
Description
The amplifier executor is listed in CLAUDE.md as 'amplifier (delegation + bundles)' but the user reports it's untested in current code. Today we hit it as a footgun: the deprecated dispatcher.executor = "amplifier" config key (legacy, supposed to be derived from model spec now) caused 4 audit tasks to fail with 'Agent exited with code 1' when spawned with --executor amplifier.
User direct quote: 'we should stop using amplifier... it's not tested. dangerous to leave.'
Scope — full removal
-
src/dispatch/handler_for_model.rs (or wherever handler dispatch happens): remove the amplifier arm. Model specs starting with
amplifier:should now error with 'amplifier executor was removed in ; use claude:/codex:/nex: instead' (clear migration message, not a silent fallback). -
src/commands/ anywhere amplifier-specific spawn logic lives — delete the handler binary file (e.g.,
amplifier_handler.rsif it exists) and any code paths that route through it. -
Config schema: any toml fields that reference amplifier (deprecated
executor = "amplifier",agent.executor, etc.) — remove acceptance entirely.wg migrate configshould auto-rewriteexecutor = "amplifier"to remove the line and replace with model-prefix-based config. -
CLAUDE.md / docs: remove all references to amplifier as a valid executor type. Update the 'Executor types' line.
-
CLI help: any
-x amplifier/--executor amplifierdocumentation gets removed. -
Tests: any tests that reference amplifier executor — remove or migrate.
Per the user's 'skip back-compat ceremony' standing rule (memory: feedback_skip_backcompat_ceremony.md): hard removal, no deprecation window. Single user, no distribution channel that would be affected.
Validation
-
Failing test written first: model spec
amplifier:fooproduces an error with the migration message; previously-accepted config withexecutor = "amplifier"is auto-rewritten bywg migrate config -
grep across the codebase: zero remaining references to
amplifieroutside of: - the migration-rewrite logic inwg migrate config(which needs to recognize and remove the legacy key) - one-line CHANGELOG / release note - tests that exercise the migration - CLAUDE.md no longer lists amplifier as a valid executor type
-
Live smoke:
wg add+wg publishwith default config produces a worker spawned via claude (not amplifier); historical fail mode (the audit tasks today) cannot reproduce - cargo build + cargo test pass (with amplifier-related tests removed or migrated)
- cargo install --path . was run before claiming done
Process note
This is a feature removal, not a feature change. The deprecation warning we shipped earlier (legacy dispatcher.executor deprecation) was the soft path; this is the hard path. After this lands, the config edit I made earlier today (removing the amplifier line from the user's config) becomes redundant — wg would have refused to load it anyway.
Depends on
Required by
- (none)
Log
- 2026-04-30T02:27:00.954958611+00:00 Task paused
- 2026-04-30T02:27:10.152400091+00:00 Task published
- 2026-04-30T02:27:40.352096255+00:00 Lightweight assignment: agent=Careful Programmer (f5143935), exec_mode=full, context_scope=task, reason=Careful Programmer matches this hard-removal task: requires methodical code deletion, test-first validation, exhaustive grep verification, and live smoke testing—exactly the Careful tradeoff's strength on correctness-critical cleanup.
- 2026-04-30T02:27:42.393815886+00:00 Spawned by coordinator --executor claude --model opus
- 2026-04-30T02:27:50.644796348+00:00 Starting work: full removal of amplifier executor support per skip-backcompat-ceremony rule
- 2026-04-30T02:51:19.496511276+00:00 Implementation complete. Removed amplifier executor across the codebase: ExecutorKind::Amplifier dropped; AmplifierMessageAdapter dropped; service registry / spawn argv / messaging / setup / init / quickstart / TUI all stripped. amplifier.toml.example template deleted. Tests updated to use claude/codex/native instead. New test parse_model_spec_strict_rejects_amplifier_with_migration_message asserts amplifier:foo errors with migration text. Existing wg migrate config already strips legacy 'executor = "amplifier"' keys (DEPRECATED_KEYS). Live smoke: cargo install + wg init -m claude:opus + wg add -> wg publish + 'wg add --model amplifier:foo' rejected with the migration error + wg migrate config drops the legacy keys.
- 2026-04-30T02:51:46.600818681+00:00 Committed: f46076afb — staged 29 source/test files + 1 deletion
- 2026-04-30T02:51:56.618579755+00:00 Pushed branch wg/agent-1241/remove-amplifier-executor to origin
- 2026-04-30T02:52:16.645663759+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-04-30T02:53:53.454143013+00:00 PendingEval → Done (evaluator passed; downstream unblocks)