diff --git a/src/auto_commit_service/git/__pycache__/operations.cpython-312.pyc b/src/auto_commit_service/git/__pycache__/operations.cpython-312.pyc index cea4871..64ab136 100644 Binary files a/src/auto_commit_service/git/__pycache__/operations.cpython-312.pyc and b/src/auto_commit_service/git/__pycache__/operations.cpython-312.pyc differ diff --git a/src/auto_commit_service/grouping/strategy.py b/src/auto_commit_service/grouping/strategy.py index 9578b5f..b975336 100644 --- a/src/auto_commit_service/grouping/strategy.py +++ b/src/auto_commit_service/grouping/strategy.py @@ -65,6 +65,14 @@ class FileGroupingStrategy: logger.debug(f"Only {len(changed_files)} files, skipping grouping") return self._fallback_single_group(changed_files, diff) + # If too many files, skip LLM grouping to avoid context overflow + # Context size for Ministral-14B is 4096 tokens, ~100 files is safe limit + if len(changed_files) > 100: + logger.warning( + f"Too many files ({len(changed_files)} > 100), skipping LLM grouping to avoid context overflow" + ) + return self._fallback_single_group(changed_files, diff) + try: # Get grouping from Mistral 3 14B logger.info(f"Grouping {len(changed_files)} files with Mistral 3 14B for {repo.name}")