Commit 22a28a1
fix(autofix): classify missing language-level packages as
Gordon was right that the previous `terminal-agent.md` edit (commit
f1f00d0) addresses the chat planner, not autofix. Autofix loads
`auto-fix.md` via `load_autofix_prompt_template`, a separate prompt.
This is the actual autofix fix. Two surgical edits to `auto-fix.md`:
1. `fix` description: add language-level packages where the package
manager is unambiguous (`ModuleNotFoundError` → `pip install`,
`Cannot find module 'X'` → `npm install`, `unresolved import` in
Rust → `cargo add`).
2. `explain` description: narrow "tool not installed" to *system* CLI
tools where the install path is ambiguous (`psql`, `docker`, `gh`).
Before: missing-package errors fell into `explain` because the prompt
lumped them with system-CLI install ambiguity. After: only ambiguous
installs stay in `explain`; unambiguous language modules go to `fix`.
Empirical A/B (12 scenarios × 3 trials × 2 model tracks):
- qwen: baseline 31/36 (86.1%) → 35/36 (97.2%)
- copilot: baseline 35/36 (97.2%) → 35/36 (97.2%)
- F7 (`ModuleNotFoundError: requests`) and F8 (`Cannot find module
'express'`) — both previously routed to `explain` — now route to
`fix` on both tracks. Remaining single misses are stochastic JSON-
fence parser flakes, not classification regressions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>fix
1 parent f1f00d0 commit 22a28a1
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
0 commit comments