Skip to content

Split the finder into its stages - #70

Merged
Komoszek merged 0 commit into
claude/issue-58-transitivefrom
claude/issue-58-split-finder
Sep 22, 2026
Merged

Komoszek merged 0 commit into
claude/issue-58-transitivefrom
claude/issue-58-split-finder

Conversation

@Komoszek

@Komoszek Komoszek commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Stacked on #67; retarget to main once it merges. #68 then lands on top of this, so the transitive rounds arrive as a change inside settler.dart rather than a rewrite of finder.dart. A move, not a change: same tests (278), same --verbose narration.

Ciach was ~1000 lines with five jobs. It now keeps the server session and the pipeline (discover → collect → fetch → settle), ~200 lines; each stage is a collaborator, in the pattern RemoveSafety, OverrideRemovals and CrossLibraryReferences already follow.

Module Lines Job
candidate_collector.dart 292 which declarations get checked: the symbol walk, option filters, entry points and their containers
reference_fetch.dart 152 the server round trips — references, tokens, syntax nodes — into SourceIndex
settler.dart 312 from references to sorted findings: classify, conventions, remove-safety, override coupling
verdict.dart 204 what becomes of one unused candidate — suppressed, report-only, or a finding — and its hints

Code moved verbatim except: _toUnusedVerdict.finding, _byLocation → top-level compareByLocation, _semanticTokensOrEmpty → top-level (the collector and the fetch both need it), and SuperclassChecks/OverrideRemovals are built once in Settler.settle instead of inline.

🤖 Generated with Claude Code

https://claude.ai/code/session_011fqaUyaQtY7AkuTYBjAUJv

@Komoszek
Komoszek force-pushed the claude/issue-58-split-finder branch from 5c61666 to bd0fa7e Compare September 22, 2026 05:56
@Komoszek
Komoszek merged commit bd0fa7e into claude/issue-58-transitive Sep 22, 2026
@Komoszek
Komoszek force-pushed the claude/issue-58-transitive branch from 46be3f7 to 55c60ee Compare September 22, 2026 05:56
@Komoszek
Komoszek deleted the claude/issue-58-split-finder branch September 22, 2026 05:56
@Komoszek
Komoszek restored the claude/issue-58-split-finder branch September 22, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant