[PR #4] [MERGED] fix: Bug fixes, linting improvements, and async I/O corrections #79

Closed
opened 2026-02-27 10:22:08 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/4
Author: @mikeyobrien
Created: 12/13/2025
Status: Merged
Merged: 12/13/2025
Merged by: @mikeyobrien

Base: mainHead: fix/bug-fixes-and-linting-improvements


📝 Commits (10+)

  • 5441733 docs: update Ralph Wiggum technique documentation with latest information
  • 9e0e50f fix: resolve test failures in integration and adapter tests
  • f414b9e docs: document bug fixes in PROMPT.md
  • a5c501f fix: resolve 27 linting issues from ruff check
  • 99b33a5 fix: prevent ZeroDivisionError in print_countdown when total is 0
  • 9e015c0 docs: document ZeroDivisionError fix in PROMPT.md
  • b74676d fix: clean up current_process reference on exception in QChatAdapter.execute()
  • 1a7dd81 fix: add proper exception chaining (B904) and rename unused variable (B007)
  • 507a36c fix: use async file I/O in aexecute_with_file to avoid blocking event loop
  • 18277cb docs: document ASYNC230 blocking I/O fix in base adapter

📊 Changes

24 files changed (+740 additions, -714 deletions)

View changed files

📝 PROMPT.md (+173 -0)
📝 docs/guide/overview.md (+54 -3)
📝 docs/index.md (+2 -2)
📝 docs/research.md (+131 -14)
📝 src/ralph_orchestrator/adapters/base.py (+5 -5)
📝 src/ralph_orchestrator/adapters/gemini.py (+0 -1)
📝 src/ralph_orchestrator/adapters/qchat.py (+6 -7)
📝 src/ralph_orchestrator/error_formatter.py (+1 -1)
📝 src/ralph_orchestrator/orchestrator.py (+12 -1)
📝 src/ralph_orchestrator/output/console.py (+4 -0)
📝 src/ralph_orchestrator/output/plain.py (+0 -1)
📝 src/ralph_orchestrator/security.py (+1 -2)
📝 src/ralph_orchestrator/verbose_logger.py (+7 -5)
📝 src/ralph_orchestrator/web/auth.py (+2 -2)
📝 src/ralph_orchestrator/web/database.py (+2 -3)
📝 src/ralph_orchestrator/web/rate_limit.py (+2 -2)
📝 src/ralph_orchestrator/web/server.py (+6 -9)
📝 tests/test_adapters.py (+52 -0)
📝 tests/test_integration.py (+108 -291)
📝 tests/test_output.py (+9 -0)

...and 4 more files

📄 Description

Summary

  • Resolve 27 linting issues from ruff check (type annotations, unused variables, exception chaining)
  • Fix ZeroDivisionError in print_countdown when total is 0
  • Fix blocking I/O in async contexts (ASYNC230) - use aiofiles in verbose_logger and aexecute_with_file
  • Clean up current_process reference on exception in QChatAdapter.execute()
  • Fix test failures in integration and adapter tests

Changes

  • Bug fixes: Exception chaining (B904), unused variable renaming (B007), async file I/O
  • Tests: Fixed flaky integration tests, improved adapter test coverage
  • Docs: Updated PROMPT.md and BUGS.md with fix documentation

Test plan

  • All existing tests pass
  • Ruff linting passes
  • Async I/O no longer blocks event loop

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mikeyobrien/ralph-orchestrator/pull/4 **Author:** [@mikeyobrien](https://github.com/mikeyobrien) **Created:** 12/13/2025 **Status:** ✅ Merged **Merged:** 12/13/2025 **Merged by:** [@mikeyobrien](https://github.com/mikeyobrien) **Base:** `main` ← **Head:** `fix/bug-fixes-and-linting-improvements` --- ### 📝 Commits (10+) - [`5441733`](https://github.com/mikeyobrien/ralph-orchestrator/commit/5441733c83c9d3aa4cab708adba0482278c287eb) docs: update Ralph Wiggum technique documentation with latest information - [`9e0e50f`](https://github.com/mikeyobrien/ralph-orchestrator/commit/9e0e50f55c9f3f96c6454b1040fe7f963ca243ec) fix: resolve test failures in integration and adapter tests - [`f414b9e`](https://github.com/mikeyobrien/ralph-orchestrator/commit/f414b9e2d58f0ba998e708ef97a99a80c681b7eb) docs: document bug fixes in PROMPT.md - [`a5c501f`](https://github.com/mikeyobrien/ralph-orchestrator/commit/a5c501fc3a1ad9a237ea322568cdabe66428408f) fix: resolve 27 linting issues from ruff check - [`99b33a5`](https://github.com/mikeyobrien/ralph-orchestrator/commit/99b33a509b8a7b8d6681c9c08e74ccdcbd9dae21) fix: prevent ZeroDivisionError in print_countdown when total is 0 - [`9e015c0`](https://github.com/mikeyobrien/ralph-orchestrator/commit/9e015c05e891f2cb34e0ce9033709240cb59e3ae) docs: document ZeroDivisionError fix in PROMPT.md - [`b74676d`](https://github.com/mikeyobrien/ralph-orchestrator/commit/b74676d2c19912d1ea9d098db28be16e7f547399) fix: clean up current_process reference on exception in QChatAdapter.execute() - [`1a7dd81`](https://github.com/mikeyobrien/ralph-orchestrator/commit/1a7dd813e84c0d69634bc590cbf7064940adfd3b) fix: add proper exception chaining (B904) and rename unused variable (B007) - [`507a36c`](https://github.com/mikeyobrien/ralph-orchestrator/commit/507a36c9be0d70c2bd26bf3f306ee9d9a7b0f6ca) fix: use async file I/O in aexecute_with_file to avoid blocking event loop - [`18277cb`](https://github.com/mikeyobrien/ralph-orchestrator/commit/18277cbf861c62f8e9a5ce26e99f969204b92d5f) docs: document ASYNC230 blocking I/O fix in base adapter ### 📊 Changes **24 files changed** (+740 additions, -714 deletions) <details> <summary>View changed files</summary> 📝 `PROMPT.md` (+173 -0) 📝 `docs/guide/overview.md` (+54 -3) 📝 `docs/index.md` (+2 -2) 📝 `docs/research.md` (+131 -14) 📝 `src/ralph_orchestrator/adapters/base.py` (+5 -5) 📝 `src/ralph_orchestrator/adapters/gemini.py` (+0 -1) 📝 `src/ralph_orchestrator/adapters/qchat.py` (+6 -7) 📝 `src/ralph_orchestrator/error_formatter.py` (+1 -1) 📝 `src/ralph_orchestrator/orchestrator.py` (+12 -1) 📝 `src/ralph_orchestrator/output/console.py` (+4 -0) 📝 `src/ralph_orchestrator/output/plain.py` (+0 -1) 📝 `src/ralph_orchestrator/security.py` (+1 -2) 📝 `src/ralph_orchestrator/verbose_logger.py` (+7 -5) 📝 `src/ralph_orchestrator/web/auth.py` (+2 -2) 📝 `src/ralph_orchestrator/web/database.py` (+2 -3) 📝 `src/ralph_orchestrator/web/rate_limit.py` (+2 -2) 📝 `src/ralph_orchestrator/web/server.py` (+6 -9) 📝 `tests/test_adapters.py` (+52 -0) 📝 `tests/test_integration.py` (+108 -291) 📝 `tests/test_output.py` (+9 -0) _...and 4 more files_ </details> ### 📄 Description ## Summary - Resolve 27 linting issues from ruff check (type annotations, unused variables, exception chaining) - Fix ZeroDivisionError in `print_countdown` when total is 0 - Fix blocking I/O in async contexts (ASYNC230) - use `aiofiles` in `verbose_logger` and `aexecute_with_file` - Clean up `current_process` reference on exception in `QChatAdapter.execute()` - Fix test failures in integration and adapter tests ## Changes - **Bug fixes:** Exception chaining (B904), unused variable renaming (B007), async file I/O - **Tests:** Fixed flaky integration tests, improved adapter test coverage - **Docs:** Updated PROMPT.md and BUGS.md with fix documentation ## Test plan - [x] All existing tests pass - [x] Ruff linting passes - [x] Async I/O no longer blocks event loop 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 10:22:08 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ralph-orchestrator#79
No description provided.