[BREAKING][misc] feat: reorganize Local/Remote rollout docs and switch dataset support to parquet/jsonl/csv#62
Merged
JoyboyBrian merged 14 commits intomainfrom Feb 18, 2026
Merged
Conversation
- Consolidated dataset format information across multiple documents, emphasizing support for Parquet, JSONL, and CSV formats. - Updated CLI help messages to reflect the recommended dataset file formats. - Removed redundant sections from the README and examples to streamline content. - Added new tests for CSV file handling in the DatasetReader class.
- Enhanced the README to clearly outline the two training modes: Local Rollout and Remote Rollout, including their respective workflows and example repositories. - Updated CLI documentation to reflect new testing and evaluation commands, consolidating agent testing and evaluation sections for better usability. - Removed outdated references and redundant sections to streamline content across documentation. - Added links to example repositories for both training modes to facilitate user onboarding.
- Added support for Python versions 3.10 to 3.13 in pyproject.toml. - Enhanced README with additional badges for platform, PyPI version, Python compatibility, license, and documentation links for better visibility.
- Expanded the README to include a detailed Quick Start guide for Local Rollout, outlining installation steps and example commands. - Updated prerequisites section in the README to clarify requirements for using the SDK. - Revised CLI documentation to specify host and port options for the `osmosis serve` command. - Added notes regarding breaking changes and command splits in eval and test modes. - Improved clarity in various documentation sections, including agent loop and testing utilities.
There was a problem hiding this comment.
3 issues found across 29 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="osmosis_ai/rollout/eval/common/dataset.py">
<violation number="1" location="osmosis_ai/rollout/eval/common/dataset.py:172">
P2: CSV rows with more columns than the header can produce a None key in DictReader, which will crash in _validate_row (k.lower()) with an AttributeError instead of a dataset parse/validation error. Guard against None keys or raise a DatasetParseError when extra columns are present.</violation>
</file>
<file name="docs/remote-rollout/overview.md">
<violation number="1" location="docs/remote-rollout/overview.md:62">
P3: The example now defines three methods (`get_tools`, `execute_tool`, `run`) but the surrounding text still says to implement two methods. Update the narrative to match the new example so readers aren’t misled.</violation>
</file>
<file name="docs/remote-rollout/deployment.md">
<violation number="1" location="docs/remote-rollout/deployment.md:66">
P2: The Compose healthcheck uses `curl`, but the provided Dockerfile examples are based on `python:3.11-slim` and do not install curl. In the documented setup this healthcheck will fail, so use a dependency-free check (e.g., Python) or note the need to install curl.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
…reamline content and avoid redundancy.
…taset parsing - Clarified the required methods for implementing the agent loop in the remote rollout documentation. - Improved error handling in the DatasetReader class to check for mismatched columns in CSV files, raising a DatasetParseError for better debugging.
There was a problem hiding this comment.
2 issues found across 10 files (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="docs/configuration.md">
<violation number="1" location="docs/configuration.md:45">
P3: This line implies the settings classes always auto-load environment variables and `.env` files, but the code only does that when `pydantic-settings` is installed; otherwise they fall back to `BaseModel` without env loading. Please qualify this statement so it matches actual behavior.</violation>
</file>
<file name="docs/troubleshooting.md">
<violation number="1" location="docs/troubleshooting.md:416">
P3: The new `--log` flag description conflicts with the unchanged `{debug_dir}` path example below, so the doc now references two different directory names. Update the path placeholder to match `--log` (e.g., `{log_dir}`) or adjust the wording so they’re consistent.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
- Removed redundant sections and streamlined content across various documentation files, including the README and local rollout guides. - Updated the README to better outline the Local and Remote Rollout modes, including quick start links and relevant documentation. - Clarified the usage of reward functions and rubric evaluators, ensuring consistency in examples and explanations. - Improved error handling documentation and removed outdated references to enhance user experience.
There was a problem hiding this comment.
3 issues found across 33 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="docs/test-mode.md">
<violation number="1" location="docs/test-mode.md:31">
P2: The programmatic example uses `async with`/`await` at top level, which is invalid Python outside an `async def`. Wrap this in an async function and call it with `asyncio.run(...)` so users can run the snippet.</violation>
</file>
<file name="docs/local-rollout/reward-functions.md">
<violation number="1" location="docs/local-rollout/reward-functions.md:7">
P2: This overstates the `@osmosis_reward` requirements. The decorator only enforces the classic signature when the first parameter is `solution_str`; other signatures are accepted without validation, so saying all functions must match this exact signature is misleading.</violation>
<violation number="2" location="docs/local-rollout/reward-functions.md:23">
P3: `**kwargs` is not required by `@osmosis_reward`; the decorator only drops `data_source` when the function can’t accept it. This line misleads users into adding `**kwargs` unnecessarily.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
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.
What
docs/local-rollout/*anddocs/remote-rollout/*docs/datasets.md,docs/test-mode.md,docs/eval-mode.md)docs/configuration.md,docs/troubleshooting.md)README.mdfor a two-mode onboarding flow (Local Rollout vs Remote Rollout), with badges/logo and links to dedicated example repos.docs/cli.md,examples/README.md,SECURITY.md) for consistency and clarity.DatasetReader.jsondataset support.parquet(recommended),.jsonl,.csvpyproject.toml.Why
Type of Change
How to Test
uv run pytest tests/unit/rollout/eval/common/test_dataset.pyuv run pytestuv run ruff check .uv run ruff format --check .uv run pyright osmosis_ai/Manual sanity checks:
.csvdatasets work withosmosis testandosmosis eval..jsondatasets now fail withDatasetParseError.README.mdanddocs/README.md.Checklist
[module] type: descriptionformatenhancement,bug,breaking)ruff check .andruff format --check .passpyright osmosis_ai/passespytestpasses (new tests added if applicable)Summary by cubic
Reorganized docs into Local vs Remote rollout guides with a simpler README and clearer onboarding. Standardized datasets to Parquet, JSONL, and CSV (dropped .json), updated CLI/help/tests, and improved agent loop docs; the base loop now emits structured tool messages.
New Features
Migration
Written for commit 7123f53. Summary will update on new commits.