refactor(conversation_loop): extract error classifier slice CL-R1-2 into agent/conversation_error_classifiers.py - #84619
Conversation
Signed-off-by: Axl Ibiza, MBA <andrexibiza@gmail.com>
Contributor email mapping required by check-attribution CI for the god-file kill campaign PRs (Axl Ibiza, MBA <andrexibiza@gmail.com>). Signed-off-by: Axl Ibiza, MBA <andrexibiza@gmail.com>
refactor(conversation_loop): extract error classifier slice CL-R1-2 into agent/conversation_error_classifiers.pySimple, behavior-preserving extraction with good parametrized coverage. Minor points:
|
Summary
Byte-verbatim extraction of slice CL-R1-2 from
agent/conversation_loop.py(7,757 lines at pinee4bb75b532e932a1055d9a710802a7435163b6a) into a new module, per the repo-wide god-file sharding policy — the region's second slice per the Wave-3 second-slice consensus._is_stale_copilot_credential_error(lines 301–328, 1,386 bytes, single-function leaf) →agent/conversation_error_classifiers.py2eabf9a771e70ee154af3208073909d5804540e07219367dd547ba7ddb15987e— byte-verbatim, re-verified from the committed blob (module function == pin window, byte-identical)agent/conversation_loop.py— the classifier's single same-file production consumer (stale-Copilot branch at 5467) resolves through the original namespace; no stale duplicate, no wrapper. New module: minimal typing context only; startup-latency contract held.tests/agent/test_conversation_error_classifiers.py— classifier behavior + old-path import/patch transparency; no source-reading tests.agent/conversation_loop.py1 insertion / 28 deletions (deleted set exactly 301–328); new module 32 lines; seam test.Method
5×2×3 double-blind decomposition (per the All Gods Must Die mandate) + second-slice Wave-3 adjudication. Blind implementer → 2 blind re-reviewers, both APPROVED:
C:/tmp/tg-Feature Package/conversation-loop/review/CLR12-review-1.md(11,734 B) — all gates PASSC:/tmp/tg-Feature Package/conversation-loop/review/CLR12-review-2.md(10,545 B) — APPROVED, all gates (golden exact, bytecode-level seam probe, globals identity)Suite evidence: pristine-pin vs post-extraction failure sets identical. No new failures.
Coordination table
ee4bb75b532e932a1055d9a710802a7435163b6a(origin/main)agent/conversation_error_classifiers.py2eabf9a771e70ee154af3208073909d5804540e07219367dd547ba7ddb15987eDedup statement
No prior extraction of this window exists. No duplicate work.
Credit
be96091c36a)This slice is governed by the conversation_loop (posted on #78641). Former whole: 7,757 lines. Fixer roster: #83437.
Part of #78641
Part of #78647