Problem
The similarity threshold used to cluster agents into convergence groups is hard-coded at 0.3 in src/scoring/convergence.ts:
const SIMILARITY_THRESHOLD = 0.3;
This value was chosen without project-specific justification. For tasks with many small, similar solutions (e.g. adding a type annotation) a threshold of 0.3 clusters too aggressively. For tasks with large divergent rewrites, 0.3 may be too lenient. There is no way for users to tune this without editing source code.
Proposed solution
- Add
--convergence-threshold <0.0–1.0> flag to thinktank run (default: 0.3, preserving current behavior)
- Thread it through
RunOptions → analyzeConvergence()
- Document what the value means (higher = stricter grouping = more, smaller clusters)
- Add a brief note in README or help text:
--convergence-threshold 0.5 is good for refactoring tasks; 0.2 works for exploratory tasks.
Acceptance criteria
Problem
The similarity threshold used to cluster agents into convergence groups is hard-coded at
0.3insrc/scoring/convergence.ts:This value was chosen without project-specific justification. For tasks with many small, similar solutions (e.g. adding a type annotation) a threshold of 0.3 clusters too aggressively. For tasks with large divergent rewrites, 0.3 may be too lenient. There is no way for users to tune this without editing source code.
Proposed solution
--convergence-threshold <0.0–1.0>flag tothinktank run(default: 0.3, preserving current behavior)RunOptions→analyzeConvergence()--convergence-threshold 0.5 is good for refactoring tasks; 0.2 works for exploratory tasks.Acceptance criteria
--convergence-threshold 0.7changes clustering behavior visibly in outputRunOptionstype updated