Skip to content

Conversation

@drorIvry
Copy link
Contributor

@drorIvry drorIvry commented Jan 4, 2026

Description

Motivation and Context

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • 🎨 Code style/refactoring (no functional changes)
  • 🧪 Test updates
  • 🔧 Configuration/build changes

Changes Made

Screenshots/Examples (if applicable)

Checklist

  • I have read the CONTRIBUTING.md guide
  • My code follows the code style of this project (PEP 8, type hints, docstrings)
  • I have run uv run black . to format my code
  • I have run uv run flake8 . and fixed all issues
  • I have run uv run mypy --config-file .mypy.ini . and addressed type checking issues
  • I have run uv run bandit -c .bandit.yaml -r . for security checks
  • I have added tests that prove my fix is effective or that my feature works
  • I have run uv run pytest and all tests pass
  • I have manually tested my changes
  • I have updated the documentation accordingly
  • I have added/updated type hints for new/modified functions
  • My changes generate no new warnings
  • I have checked my code for security issues
  • Any dependent changes have been merged and published

Testing

Test Configuration:

  • Python version:
  • OS:
  • Other relevant details:

Test Steps:
1.
2.
3.

Additional Notes

Related Issues/PRs

  • Fixes #
  • Related to #
  • Depends on #

@drorIvry drorIvry requested a review from yuval-qf as a code owner January 4, 2026 12:36
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 4, 2026

Summary by CodeRabbit

Release Notes

  • Removals
    • Removed Web UI interface. Evaluation mode is now available exclusively through CLI and Server modes.
    • Removed TypeScript SDK package. Node.js users can now interact with the system only through the Server API.
    • Updated documentation to reflect these changes.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

This PR removes the entire Gradio-based Web UI implementation (including app, components, configuration, and models) and the complete TypeScript SDK (HTTP client, WebSocket client, types, scripts), along with corresponding documentation updates and the Gradio dependency.

Changes

Cohort / File(s) Summary
Documentation & README Updates
AGENTS.md, CONTRIBUTING.md, README.md, packages/sdk/README.md
Removed Web UI references from running instructions and architecture tables; deleted SDK README entirely
SDK Package Removal
packages/sdk/package.json, packages/sdk/tsconfig.json, packages/sdk/src/client.ts, packages/sdk/src/index.ts, packages/sdk/src/sdk.ts, packages/sdk/src/types.ts, packages/sdk/src/websocket.ts, packages/sdk/src/scripts/eval-runner.ts
Deleted entire TypeScript SDK including HTTP/WebSocket clients, type definitions, factory functions, and CLI runner script
UI Implementation Removal
rogue/ui/app.py, rogue/ui/components/config_screen.py, rogue/ui/components/interviewer.py, rogue/ui/components/report_generator.py, rogue/ui/components/scenario_generator.py, rogue/ui/components/scenario_runner.py, rogue/ui/config/theme.py, rogue/ui/models/interview.py, rogue/ui/models/results.py
Removed all Gradio-based UI screens, configuration, theme, and data models for interview/evaluation workflows
Public API & Package Structure Updates
rogue/__init__.py, rogue/__main__.py, rogue/run_ui.py, rogue/ui/__init__.py, rogue/ui/components/__init__.py, rogue/ui/config/__init__.py, rogue/ui/models/__init__.py
Removed UI mode support from CLI entrypoint, eliminated public re-exports of removed submodules, deleted UI launcher
Dependency Updates
pyproject.toml
Removed Gradio 5.35.0 dependency

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • yuval-qf
  • osher-qualifire

Poem

🐰 hops past the vanished interface with glee

Gradio screens and SDK dreams now set free,
The UI fades, TypeScript types cease to be,
Leaner, cleaner, the codebase runs wild and carefree! ✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete with unfilled template sections, missing motivation details, unchecked change type boxes, and no comprehensive 'Changes Made' list or filled testing information. Complete all required template sections: add motivation explaining why Gradio/TS SDK removal is needed, check the appropriate change type, detail all changes made, and provide testing information.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive The title 'feature/delete gradio' is vague and uses a non-standard format mixing branch naming conventions with commit-style messaging. Use a clear, descriptive title like 'Remove Gradio UI and TypeScript SDK' that explicitly states the main change without using branch conventions.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0ef27b4 and 96487da.

⛔ Files ignored due to path filters (2)
  • packages/sdk/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (30)
  • AGENTS.md
  • CONTRIBUTING.md
  • README.md
  • packages/sdk/README.md
  • packages/sdk/package.json
  • packages/sdk/src/client.ts
  • packages/sdk/src/index.ts
  • packages/sdk/src/scripts/eval-runner.ts
  • packages/sdk/src/sdk.ts
  • packages/sdk/src/types.ts
  • packages/sdk/src/websocket.ts
  • packages/sdk/tsconfig.json
  • pyproject.toml
  • rogue/__init__.py
  • rogue/__main__.py
  • rogue/run_ui.py
  • rogue/ui/__init__.py
  • rogue/ui/app.py
  • rogue/ui/components/__init__.py
  • rogue/ui/components/config_screen.py
  • rogue/ui/components/interviewer.py
  • rogue/ui/components/report_generator.py
  • rogue/ui/components/scenario_generator.py
  • rogue/ui/components/scenario_runner.py
  • rogue/ui/config/__init__.py
  • rogue/ui/config/settings.py
  • rogue/ui/config/theme.py
  • rogue/ui/models/__init__.py
  • rogue/ui/models/interview.py
  • rogue/ui/models/results.py
💤 Files with no reviewable changes (28)
  • rogue/ui/config/init.py
  • packages/sdk/package.json
  • packages/sdk/README.md
  • rogue/ui/components/scenario_generator.py
  • packages/sdk/tsconfig.json
  • README.md
  • rogue/init.py
  • packages/sdk/src/index.ts
  • rogue/ui/models/interview.py
  • packages/sdk/src/client.ts
  • rogue/ui/models/results.py
  • rogue/ui/app.py
  • rogue/ui/components/config_screen.py
  • CONTRIBUTING.md
  • packages/sdk/src/websocket.ts
  • rogue/ui/init.py
  • pyproject.toml
  • rogue/ui/components/scenario_runner.py
  • packages/sdk/src/types.ts
  • rogue/ui/components/init.py
  • rogue/ui/config/theme.py
  • rogue/ui/components/interviewer.py
  • AGENTS.md
  • packages/sdk/src/sdk.ts
  • rogue/ui/models/init.py
  • rogue/ui/components/report_generator.py
  • rogue/run_ui.py
  • packages/sdk/src/scripts/eval-runner.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

**/*.py: Format Python code with Black
Ensure code passes flake8 linting
Run mypy with the repository configuration for static typing
Run Bandit security checks using .bandit.yaml configuration
Use isort import conventions for import ordering
Add type hints to all function signatures
Follow PEP 8 naming (snake_case for variables/functions, PascalCase for classes)
Use try/except around code that may raise exceptions

Files:

  • rogue/__main__.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: codestyle
  • GitHub Check: rogue_sanity
🔇 Additional comments (1)
rogue/__main__.py (1)

1-274: Clean removal of UI mode support.

The UI mode has been cleanly removed from the entrypoint:

  • UI-related imports removed
  • UI subparser removed from argument parsing
  • UI mode handling removed from main logic
  • All remaining modes (server, cli, tui) continue to function correctly

The change aligns with the PR objective to remove Gradio-based UI components.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
rogue/__main__.py (1)

252-252: Update stale comment to reflect supported modes.

The comment mentions "ui" mode, but UI mode support has been removed in this PR. Update the comment to only list the currently supported modes: server, cli, and tui.

🔎 Proposed fix
-    # Handle regular modes (ui, cli, server, tui)
+    # Handle regular modes (server, cli, tui)
📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0ef27b4 and 96487da.

⛔ Files ignored due to path filters (2)
  • packages/sdk/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (30)
  • AGENTS.md
  • CONTRIBUTING.md
  • README.md
  • packages/sdk/README.md
  • packages/sdk/package.json
  • packages/sdk/src/client.ts
  • packages/sdk/src/index.ts
  • packages/sdk/src/scripts/eval-runner.ts
  • packages/sdk/src/sdk.ts
  • packages/sdk/src/types.ts
  • packages/sdk/src/websocket.ts
  • packages/sdk/tsconfig.json
  • pyproject.toml
  • rogue/__init__.py
  • rogue/__main__.py
  • rogue/run_ui.py
  • rogue/ui/__init__.py
  • rogue/ui/app.py
  • rogue/ui/components/__init__.py
  • rogue/ui/components/config_screen.py
  • rogue/ui/components/interviewer.py
  • rogue/ui/components/report_generator.py
  • rogue/ui/components/scenario_generator.py
  • rogue/ui/components/scenario_runner.py
  • rogue/ui/config/__init__.py
  • rogue/ui/config/settings.py
  • rogue/ui/config/theme.py
  • rogue/ui/models/__init__.py
  • rogue/ui/models/interview.py
  • rogue/ui/models/results.py
💤 Files with no reviewable changes (28)
  • rogue/ui/config/init.py
  • packages/sdk/package.json
  • packages/sdk/README.md
  • rogue/ui/components/scenario_generator.py
  • packages/sdk/tsconfig.json
  • README.md
  • rogue/init.py
  • packages/sdk/src/index.ts
  • rogue/ui/models/interview.py
  • packages/sdk/src/client.ts
  • rogue/ui/models/results.py
  • rogue/ui/app.py
  • rogue/ui/components/config_screen.py
  • CONTRIBUTING.md
  • packages/sdk/src/websocket.ts
  • rogue/ui/init.py
  • pyproject.toml
  • rogue/ui/components/scenario_runner.py
  • packages/sdk/src/types.ts
  • rogue/ui/components/init.py
  • rogue/ui/config/theme.py
  • rogue/ui/components/interviewer.py
  • AGENTS.md
  • packages/sdk/src/sdk.ts
  • rogue/ui/models/init.py
  • rogue/ui/components/report_generator.py
  • rogue/run_ui.py
  • packages/sdk/src/scripts/eval-runner.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

**/*.py: Format Python code with Black
Ensure code passes flake8 linting
Run mypy with the repository configuration for static typing
Run Bandit security checks using .bandit.yaml configuration
Use isort import conventions for import ordering
Add type hints to all function signatures
Follow PEP 8 naming (snake_case for variables/functions, PascalCase for classes)
Use try/except around code that may raise exceptions

Files:

  • rogue/__main__.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: codestyle
  • GitHub Check: rogue_sanity
🔇 Additional comments (1)
rogue/__main__.py (1)

1-274: Clean removal of UI mode support.

The UI mode has been cleanly removed from the entrypoint:

  • UI-related imports removed
  • UI subparser removed from argument parsing
  • UI mode handling removed from main logic
  • All remaining modes (server, cli, tui) continue to function correctly

The change aligns with the PR objective to remove Gradio-based UI components.

@drorIvry drorIvry merged commit 4167fa8 into main Jan 4, 2026
9 checks passed
@drorIvry drorIvry deleted the feature/delete-gradio branch January 4, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants