Skip to content

Fix/raas main merge conflicts#87

Closed
AymenFJA wants to merge 14 commits intomainfrom
fix/raas-main-merge-conflicts
Closed

Fix/raas main merge conflicts#87
AymenFJA wants to merge 14 commits intomainfrom
fix/raas-main-merge-conflicts

Conversation

@AymenFJA
Copy link
Collaborator

No description provided.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces the foundational components for a new ROSE Service, designed to streamline the management and execution of active learning workflows. It establishes a robust system for submitting, monitoring, and controlling these workflows through various interfaces, including a command-line tool, a Python client library, and a powerful integration with the RADICAL-Edge framework via a dedicated plugin. This enhancement significantly improves the usability and extensibility of ROSE by providing flexible interaction patterns and enabling embedded workflow execution within a distributed edge computing environment.

Highlights

  • ROSE Service Introduction: Introduced a new daemon-based ROSE Service for managing active learning workflows, supporting submission, monitoring, and cancellation of workflows.
  • Multiple Interaction Methods: Provided three distinct ways to interact with the ROSE Service: a Command-Line Interface (CLI), a Python Client for programmatic control, and a REST API via a RADICAL-Edge plugin for remote access and integration.
  • RADICAL-Edge Plugin Integration: Developed a dedicated RADICAL-Edge plugin that embeds ROSE workflow execution directly within the Edge service, offering REST endpoints and UI configuration for seamless integration.
  • Workflow Definition and Management: Implemented a WorkflowLoader to parse YAML-defined workflows, dynamically create SequentialActiveLearner or ParallelActiveLearner instances, and manage their lifecycle through a file-based IPC mechanism and a central registry.
  • Comprehensive Examples and Tests: Added a suite of examples demonstrating CLI, Python client, and REST API usage, along with unit tests for the core components of the ROSE Service and its RADICAL-Edge plugin.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • examples/service/README.md
    • Added a comprehensive guide detailing the ROSE Service, its architecture, workflow YAML format, and instructions for CLI, Python client, and REST API interactions.
  • examples/service/debug_workflow.yaml
    • Added a minimal YAML workflow for quick testing of the ROSE service and plugin.
  • examples/service/example_rose_plugin.py
    • Added a Python example demonstrating how to interact with the ROSE service via the RADICAL-Edge plugin.
  • examples/service/run_service.py
    • Added a Python script illustrating the full programmatic lifecycle of a ROSE workflow using the Python client.
  • examples/service/service_real.yaml
    • Added a realistic workflow YAML example utilizing the ParallelActiveLearner with specific Python scripts.
  • examples/service/service_test.yaml
    • Added a basic YAML workflow example for testing the service with simple echo commands.
  • examples/service/verify_service.py
    • Added a Python script to demonstrate and verify the workflow cancellation functionality of the service.
  • pyproject.toml
    • Added 'PyYAML' as a dependency to support YAML workflow definitions.
    • Registered a new 'rose' CLI entry point for the service.
    • Registered the 'rose' service as a plugin for RADICAL-Edge.
  • rose/service/.claude/settings.local.json
    • Added a Claude settings file to define allowed Bash commands for internal tooling or testing.
  • rose/service/init.py
    • Added initialization for the 'rose.service' package, exposing core models.
  • rose/service/api/cli.py
    • Added the command-line interface (CLI) for the ROSE Service, enabling 'launch', 'submit', 'cancel', 'status', and 'shutdown' operations.
  • rose/service/api/rest.py
    • Added the RADICAL-Edge plugin for ROSE, providing REST API endpoints for workflow management and embedded execution.
  • rose/service/client.py
    • Added the ServiceClient class for file-based IPC interaction with the ROSE Service.
  • rose/service/manager.py
    • Added the ServiceManager daemon, responsible for processing requests, loading workflows, and managing learner execution.
    • Added the WorkflowLoader class to parse YAML workflow definitions and instantiate learners.
  • rose/service/models.py
    • Added data models WorkflowState (Enum) and Workflow (dataclass) to represent workflow lifecycle and metadata.
  • tests/unit/test_rose_plugin.py
    • Added unit tests for WorkflowLoader, RoseSession, and RoseClient to ensure the functionality of the RADICAL-Edge plugin.
Activity
  • No human activity (comments, reviews) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request appears to resolve merge conflicts and integrates a number of significant features and refactorings. Key changes include the introduction of a new tracking system with TrackerBase, MLflowTracker, and ClearMLTracker; a new service-based architecture for workflow management; and a major API change for parallel learners to use async iterators for streaming results. The codebase has also been updated to require Python 3.10+, with corresponding syntax and dependency updates. The changes are extensive but seem well-implemented, with accompanying documentation and test updates. My main concern is with the .pre-commit-config.yaml file, where several of the specified hook revisions appear to be invalid, which would break the pre-commit setup.

I am having trouble creating individual review comments. Click here to see my feedback.

.pre-commit-config.yaml (8)

critical

The specified revision v1.7.7 for docformatter could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is v1.7.5. Please verify the correct revision.

    rev: v1.7.5

.pre-commit-config.yaml (16)

critical

The specified revision v0.13.1 for ruff-pre-commit could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is v0.4.4. Please verify the correct revision.

    rev: v0.4.4

.pre-commit-config.yaml (27)

critical

The specified revision v6.0.0 for pre-commit-hooks could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is v4.6.0. Please verify the correct revision.

    rev: v4.6.0

.pre-commit-config.yaml (40)

critical

The specified revision v1.7.7 for actionlint could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is v1.7.1. Please verify the correct revision.

    rev: v1.7.1

.pre-commit-config.yaml (45)

critical

The specified revision 0.34.0 for check-jsonschema could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is 0.28.3. Please verify the correct revision.

    rev: 0.28.3

.pre-commit-config.yaml (51)

critical

The specified revision v1.36.2 for typos could not be found in the public repository. This will cause pre-commit install to fail. The latest known version is v1.21.0. Please verify the correct revision.

    rev: v1.21.0

1-Fix pre-commits
2-Sets the RAAS branch up to data with main new changes
@AymenFJA AymenFJA closed this Mar 16, 2026
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.

2 participants