Add retry logic to GitHub client for network resilience - #2
Open
MalayBhaveshPandya wants to merge 2 commits into
Open
MalayBhaveshPandya wants to merge 2 commits into
MalayBhaveshPandya wants to merge 2 commits into
Conversation
MalayBhaveshPandya
force-pushed
the
main
branch
from
February 19, 2026 09:55
fd2fbb7 to
343e49f
Compare
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.
Summary
This PR refactors the architecture analysis system, improves network reliability, and enhances the codebase structure.
Changes
🔄 Network Resilience
Added
retry_with_backoff
helper in
github/client.py
for automatic retries (3 attempts with exponential backoff)
Handles transient network errors like "Server disconnected without sending a response"
🏗️ Architecture Module Refactoring
Deleted: Monolithic architecture_deep.py (613 lines)
Added: New modular analysis/architecture/ package:
analyzer.py - Main architecture analyzer
context_extractor.py - Context extraction logic
graph_engine.py - Graph-based analysis
llm_client.py - LLM integration
models.py - Data models
📦 Other Improvements
Simplified debt_prioritizer.py (315 lines reduced)
Added
run_system.py
Minor fixes to endpoints.py, llm/client.py, and
ui/app.py
Stats
14 files changed, 1,035 insertions(+), 840 deletions(-)
Testing
Verified backend server starts successfully
Verified UI connects to backend
Tested retry logic handles GitHub API disconnections