chore: dead-code sweep steps 7-10 (agents + trackers)#86
Open
DavertMik wants to merge 4 commits into
Open
Conversation
Tester: delete unused promptLogStep(), the write-only executionLogFile field + its assignment/outputDir/stale comment, the dead isStateChanged computation (its only reader was a commented-out block, also removed), and unused imports WebPageState/Note/codeToMarkdown. Researcher: delete unused textContent(). research-result: delete unused updateSection(). Skipped (re-verify found live callers): researcher's `join` import (used across the file) — the plan's assumption it was unused no longer holds. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Captain: delete unused getConversation()/cleanConversation() (callers use Tester's, not Captain's). Driller: delete unused getCurrentPlan()/getConversation() + the currentConversation field/assignment + now-dead Conversation import. Fisherman: delete unused getMode(). Rerunner: delete unused listTests() + its now-dead test-files import; drop the always-'' `test` field from healedSteps and from Historian.rewriteScenarioInFile's param type; remove the redundant `includes` guard there (String.replace already no-ops when the substring is absent). Delete the unused re-exports in historian.ts and historian/utils.ts (every consumer imports isNonReusableCode/stripComments from step-analyzer directly). SKIPPED: Captain.processExecutionError() — production-dead but its 4 tests mock Explorer.handleExecutionError, so they can't be retargeted to test real logic (the plan's suggested retarget). Kept method + tests per the plan's STOP guidance. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ExperienceTracker: delete unused hasRecentExperience() and the no-op cleanup()
(body was comment-only); drop the guarded cleanup() call from StateManager.cleanup()
and the two afterEach() test calls. KnowledgeTracker: drop the unused `resolve`
import. ExperienceCompactor: drop the `export type { ExperienceFile }` re-export;
repoint compact-command to import ExperienceFile from experience-tracker directly
(the original source).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tester.ts: ConfigParser (its only use was the deleted executionLogFile block). researcher.ts: node:path `join` (all in-file `.join(` are Array.prototype.join; the node:path import was unused — a Step 7 plan item I first mis-skipped on a grep false-positive). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Explorbot Self-RegressionCommit
Attempt details
Session analysis — basic (native): Session AnalysisThe Issues page filtering and search capabilities were tested. Core flows for creating issues, filtering by status, filtering by label, and text search all work. However, combining status and label filters simultaneously is not supported—the UI resets one filter when applying the other. Coverage
What works
Defects[Medium] Label filter resets status filter, preventing combined filteringAffects:
Execution Issues
|
DenysKuchma
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes plan 014 — the remaining steps of the dead-code sweep (steps 1–6 landed in #82). Deletes provably-unreferenced code from the agents and trackers. ~186 deletions, no behavioral change: every item was grep-verified callerless (including tests) before deletion, and the full suite stays green.
What's removed
tester.ts: unusedpromptLogStep(), the write-onlyexecutionLogFilefield + its assignment/outputDir/stale comment, the deadisStateChangedcomputation (its only reader was a commented-out block, also removed), and unused imports (WebPageState,Note,codeToMarkdown,ConfigParser).researcher.ts: unusedtextContent()+ the unusednode:pathjoinimport.research-result.ts: unusedupdateSection().captain.ts: unusedgetConversation()/cleanConversation()(callers use Tester's).driller.ts: unusedgetCurrentPlan()/getConversation()+currentConversationfield/assignment + deadConversationimport.fisherman.ts: unusedgetMode().rerunner.ts: unusedlistTests()+ its now-dead import; the always-''testfield dropped fromhealedStepsand fromHistorian.rewriteScenarioInFile's param type; the redundantincludesguard removed there (String.replacealready no-ops when the substring is absent).historian.ts/historian/utils.ts: the unusedisNonReusableCode/stripCommentsre-exports (every consumer imports fromstep-analyzerdirectly).experience-tracker.ts: unusedhasRecentExperience()and the no-opcleanup()(comment-only body) + itsStateManager.cleanup()call and 2 test calls.knowledge-tracker.ts: unusedresolveimport.experience-compactor.ts: theExperienceFilere-export (compact-command repointed toexperience-trackerdirectly).Skipped (re-verify found them not-dead)
Captain.processExecutionError()— production-dead, but its 4 tests mockExplorer.handleExecutionError, so they can't be retargeted to test real logic (the plan's suggested retarget). Kept method + tests per the plan's STOP guidance.Verification
bun run lintexit 0;bunx tsc --noEmit→ 728 = before-count (not higher);bun test tests/unit→ 764/0;bun test tests/integration→ 63/0. Diff is deletions + import repoints only. Fable-reviewed (APPROVE after fixing one orphaned import): all deletions confirmed callerless, same-named live methods (Tester.getConversation, ExplorBot.getCurrentPlan, StateManager.cleanup, …) untouched, and the two non-pure-deletions (redundant guard, no-op cleanup) confirmed behavior-neutral.🤖 Generated with Claude Code