Add rich progress bars with clean separation of concerns#3
Merged
martgra merged 1 commit intoNov 19, 2025
Merged
Conversation
This commit introduces a new progress tracking system using the Rich library while maintaining clean separation of concerns through a protocol-based interface. Changes: - Create progress.py with ProgressTracker protocol interface - Implement RichProgressTracker with multi-level progress bars: * Stage-level tracking (sync, identify, process, cleanup) * File-level progress with current file display * Embedding progress within each file - Implement NoOpProgressTracker for testing/backward compatibility - Update pipeline.py to use progress tracking via dependency injection - Reduce logging verbosity (INFO -> DEBUG) for detailed logs - Update cli.py to initialize and use RichProgressTracker Benefits: - Clean architecture: Pipeline code doesn't depend on Rich directly - Easy to test: Can swap in NoOp tracker for testing - Better user experience: Visual progress bars instead of log spam - Maintainable: Clear interface makes it easy to add other implementations
martgra
pushed a commit
that referenced
this pull request
Nov 20, 2025
Bug #1: Fix exception handling in migration command - Added missing 'as e' to except clause - Changed to f-strings for proper interpolation - Location: cli.py:247-251 Bug #2: Fix incorrect skip count calculation in orchestrator - Track total_available files correctly for both force and normal modes - Fix calculation that was using wrong variable when force=True - Location: pipeline_orchestrator.py:186-208 Bug #3: Remove missing total_vectors reference - Removed reference to non-existent 'total_vectors' field in state stats - Prevents KeyError crash in status command - Location: cli.py:304-307 Bug #4: Fix inconsistent token check in chunker - Changed '<' to '<=' to match rest of codebase - Added warning logging for chunks exceeding max tokens - Prevents silent data loss when chunks are at max_tokens - Location: lovdata_chunker.py:372, 386-391 Tests: - Added TestTokenLimits class with 2 new tests for Bug #4 - All non-tiktoken tests passing (19/19) - Chunker tests blocked by tiktoken network issue (environment)
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.
This commit introduces a new progress tracking system using the Rich library
while maintaining clean separation of concerns through a protocol-based interface.
Changes:
Benefits: