Skip to content

chore(release): v0.5.6 — revert torch min to 2.2 for Intel Mac compat#43

Merged
cemililik merged 2 commits into
mainfrom
development
May 10, 2026
Merged

chore(release): v0.5.6 — revert torch min to 2.2 for Intel Mac compat#43
cemililik merged 2 commits into
mainfrom
development

Conversation

@cemililik

@cemililik cemililik commented May 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Reverts the v0.5.5 torch>=2.3.0 minimum back to torch>=2.2.0 to restore Intel Mac (x86_64) installability
  • The torch>=2.3 floor in v0.5.5 was inaccurate — no v2.3-specific PyTorch API is referenced in production code
  • v0.5.5 internal Wave/Faz language consolidated into clean Added/Changed/Fixed/Deprecated/Removed buckets in CHANGELOG; releases.md gained a Summary + Highlights + full changelog link

Why

PyTorch Foundation stopped publishing torch>=2.3 wheels for Intel Mac (x86_64) — only Apple Silicon / Linux / Windows have 2.3+. v0.5.5's torch>=2.3.0 requirement caused pip's resolver to silently fall back to v0.5.0 on Intel Mac hosts, hiding every v0.5.5 feature behind a year-old install.

The tests/test_grpo_reward.py citation that prompted the original v2.3 bump is a comment explaining the test's graceful skip when trl.GRPOTrainer's lazy import fails on a torch/trl mismatch — the skip pattern (pytest.mark.skipif(not grpo_patchable, ...)) already handles that case across torch 2.2 + 2.3. Production FSDP usage in forgelm/trainer.py delegates string options to transformers.TrainingArguments and never imports torch.distributed.fsdp.FSDPModule directly.

Changes

  • pyproject.toml: torch>=2.3.0,<3.0.0torch>=2.2.0,<3.0.0; version = "0.5.5""0.5.6"
  • forgelm/_version.py: rationale comment updated; __api_version__ stays at 1.0.0 (no Python API surface change)
  • CHANGELOG.md: [0.5.6] entry added; [0.5.5] internal Wave/Faz language removed and consolidated (-1733 net lines)
  • README.md: prerequisite block clarifying torch wheel availability per platform
  • docs/roadmap/releases.md: v0.5.6 entry + v0.5.5 summary + highlights + full changelog link
  • notebooks/*.ipynb: install pins bumped 0.5.5 → 0.5.6 (10 files)

Test plan

  • ruff format --check . && ruff check . clean
  • forgelm --config config_template.yaml --dry-run green
  • tools/check_bilingual_parity.py --strict (45 pairs OK)
  • tools/check_anchor_resolution.py --strict (273 markdown files OK)
  • tools/check_cli_help_consistency.py --strict (439 invocations OK)
  • tools/check_wizard_defaults_sync.py (3 sections / 8 fields OK)
  • tools/check_no_analysis_refs.py (no references into working-memory dirs)
  • After merge: tag v0.5.6 from main, push tag, publish.yml runs the 12 cross-OS combo before PyPI publish
  • After publish: pip install -U forgelm on Intel Mac (x86_64 / Python 3.11) reaches v0.5.6 (was silently falling back to v0.5.0)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Lowered PyTorch minimum requirement from 2.3.0 to 2.2.0 to restore Intel Mac (x86_64) installability.
  • Documentation

    • Added Prerequisites section to README documenting Python 3.10+ and PyTorch 2.2.0+ requirements.
    • Updated release notes for v0.5.6 and condensed v0.5.5 summary.
  • Chores

    • Bumped version to v0.5.6 across all notebooks and package metadata.

Review Change Stack

- pyproject.toml: torch>=2.3.0 → torch>=2.2.0 (revert v0.5.5 floor)
- forgelm/_version.py: rationale updated; __api_version__ stays 1.0.0
- CHANGELOG.md: v0.5.6 entry added; v0.5.5 internal Wave/Faz language
  consolidated into clean Added/Changed/Fixed/Deprecated/Removed buckets
- README.md: prerequisite block clarifying torch wheel availability
- docs/roadmap/releases.md: v0.5.6 entry + v0.5.5 summary + highlights
  + full changelog link
- notebooks/*.ipynb: install pins bumped 0.5.5 → 0.5.6 (10 files)

The torch>=2.3 floor in v0.5.5 was inaccurate — no v2.3-specific
PyTorch API is referenced in production code (the single citation
in tests/test_grpo_reward.py is a comment; the test already skips
gracefully on torch/trl mismatches). PyTorch Foundation stopped
publishing torch>=2.3 wheels for Intel Mac (x86_64) — only Apple
Silicon / Linux / Windows have 2.3+. This caused pip's resolver to
silently fall back to v0.5.0 on Intel Mac, hiding every v0.5.5
feature behind a year-old install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown
ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sorry @cemililik, your pull request is larger than the review limit of 150000 diff characters

@coderabbitai

coderabbitai Bot commented May 10, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@cemililik has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 53 minutes and 29 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 51f4a937-9ca0-4d01-a772-be30256d04ab

📥 Commits

Reviewing files that changed from the base of the PR and between 3e3799e and 102aac3.

📒 Files selected for processing (9)
  • notebooks/data_curation.ipynb
  • notebooks/dpo_alignment.ipynb
  • notebooks/galore_memory_optimization.ipynb
  • notebooks/grpo_reasoning.ipynb
  • notebooks/kto_binary_feedback.ipynb
  • notebooks/multi_dataset.ipynb
  • notebooks/quickstart_sft.ipynb
  • notebooks/safety_evaluation.ipynb
  • notebooks/synthetic_data_training.ipynb
📝 Walkthrough

Walkthrough

Version 0.5.6 release for ForgeLM lowers PyTorch minimum requirement from 2.3.0 to 2.2.0 to restore Intel Mac installability. Updates package version in pyproject.toml, adds installation prerequisites documentation to README.md, publishes release notes for v0.5.6 and restructured v0.5.5 in docs/roadmap/releases.md, and bumps version pins across all example notebooks.

Changes

ForgeLM v0.5.6 Release: PyTorch Dependency Relaxation

Layer / File(s) Summary
Package Metadata & Dependency Constraint
pyproject.toml, forgelm/_version.py
Version bumped from 0.5.5 to 0.5.6. PyTorch minimum requirement loosened from torch>=2.3.0 to torch>=2.2.0. API version constant remains 1.0.0 with updated documentation comments clarifying no Python API surface change.
Installation & Release Documentation
README.md, docs/roadmap/releases.md
README adds prerequisites note specifying Python 3.10+ and torch>=2.2.0 with platform wheel availability and pip downgrade warnings. Release notes document v0.5.6 as a hotfix for Intel Mac install restoration and restructure v0.5.5 into Summary/Highlights format with breaking-change details.
Notebook Version Pins
notebooks/data_curation.ipynb, notebooks/dpo_alignment.ipynb, notebooks/galore_memory_optimization.ipynb, notebooks/grpo_reasoning.ipynb, notebooks/kto_binary_feedback.ipynb, notebooks/multi_dataset.ipynb, notebooks/post_training_workflow.ipynb, notebooks/quickstart_sft.ipynb, notebooks/safety_evaluation.ipynb, notebooks/synthetic_data_training.ipynb
All example notebooks updated to pin ForgeLM to version 0.5.6 in their installation cells, including base installs and extras for ingestion, QLora, and export workflows.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A hop and a skip, the version's released,
From point-five-five, to point-five-six increased!
PyTorch constraint loosens, Mac users rejoice,
Notebooks all updated—consistency's our choice.
With docs freshly bright, the path is clear—
ForgeLM's hotfix has safely landed here! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: reverting the torch minimum version to 2.2 for Intel Mac compatibility in v0.5.6 release.
Description check ✅ Passed The description covers all template sections: comprehensive Summary (3 points), detailed Changes (6 items), explicit Type (release/chore), and complete Testing checklist with completed items marked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch development

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codacy-production

codacy-production Bot commented May 10, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 4 medium

Alerts:
⚠ 4 issues (≤ 0 issues of at least minor severity)

Results:
4 new issues

Category Results
BestPractice 4 medium

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

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

Copy link
Copy Markdown

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 updates ForgeLM to v0.5.6, reverting the minimum torch requirement to 2.2.0 to restore compatibility with Intel Mac hosts. The changes include version bumps in pyproject.toml and various Jupyter notebooks, along with updated release notes. Review feedback identifies a broken documentation link in the README and several instances where version numbers in notebook comments were not updated to match the installation commands.

Comment thread README.md
pip install -e .
```

**Prerequisites:** Python 3.10+ and `torch>=2.2.0`. The PyTorch Foundation publishes torch wheels for Linux × {x86_64, aarch64}, macOS × {x86_64 ≤ 2.2.2, arm64 (Apple Silicon)}, and Windows × x86_64; ForgeLM's dependency floor is set to the highest torch minor available on every supported platform. If `pip install forgelm` resolves to an older ForgeLM version, run `pip show torch` to check the installed torch — pip's resolver silently downgrades ForgeLM when the local torch can't satisfy a newer floor. See [docs/usermanuals/en/getting-started/installation.md](docs/usermanuals/en/getting-started/installation.md) for platform-specific notes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The link docs/usermanuals/en/getting-started/installation.md appears to be broken. According to the "Project Structure" section in this same file (line 300), the user manual is a "4-section user manual" consisting of training, evaluation, deployment, and reference. getting-started is not listed as one of these sections. Please verify the path.

Comment thread notebooks/data_curation.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM with the ingestion extra (PDF/DOCX/EPUB/Markdown parsers + langdetect)\n# Pinned to v0.5.5 — the consolidated release that bundles Phases 11+11.5+12+12.5\n# (markdown splitter, secrets tagger, MinHash dedup option, quality filter,\n# Croissant card, optional Presidio adapter, --all-mask shorthand).\n!pip install -q --no-cache-dir 'forgelm[ingestion]==0.5.5'\n!forgelm --version"
"source": "# Step 1: Install ForgeLM with the ingestion extra (PDF/DOCX/EPUB/Markdown parsers + langdetect)\n# Pinned to v0.5.5 — the consolidated release that bundles Phases 11+11.5+12+12.5\n# (markdown splitter, secrets tagger, MinHash dedup option, quality filter,\n# Croissant card, optional Presidio adapter, --all-mask shorthand).\n!pip install -q --no-cache-dir 'forgelm[ingestion]==0.5.6'\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6 to match the pip install command below it.

Suggested change
"source": "# Step 1: Install ForgeLM with the ingestion extra (PDF/DOCX/EPUB/Markdown parsers + langdetect)\n# Pinned to v0.5.5 — the consolidated release that bundles Phases 11+11.5+12+12.5\n# (markdown splitter, secrets tagger, MinHash dedup option, quality filter,\n# Croissant card, optional Presidio adapter, --all-mask shorthand).\n!pip install -q --no-cache-dir 'forgelm[ingestion]==0.5.6'\n!forgelm --version"
"source": "# Step 1: Install ForgeLM with the ingestion extra (PDF/DOCX/EPUB/Markdown parsers + langdetect)\n# Pinned to v0.5.6 — the consolidated release that bundles Phases 11+11.5+12+12.5\n# (markdown splitter, secrets tagger, MinHash dedup option, quality filter,\n# Croissant card, optional Presidio adapter, --all-mask shorthand).\n!pip install -q --no-cache-dir 'forgelm[ingestion]==0.5.6'\n!forgelm --version"

Comment thread notebooks/dpo_alignment.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6 to match the pip install command.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM + GaLore\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip install -q galore-torch # GaLore optimizer\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM + GaLore\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip install -q galore-torch # GaLore optimizer\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM + GaLore\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip install -q galore-torch # GaLore optimizer\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM + GaLore\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip install -q galore-torch # GaLore optimizer\n!pip uninstall -y wandb -q\n!forgelm --version"

Comment thread notebooks/grpo_reasoning.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Comment thread notebooks/kto_binary_feedback.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Comment thread notebooks/multi_dataset.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Comment thread notebooks/quickstart_sft.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (the [qlora] extra pulls in bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5'\n!pip uninstall -y wandb -q # Remove conflicting wandb (not needed)\n\n# Verify installation\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (the [qlora] extra pulls in bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6'\n!pip uninstall -y wandb -q # Remove conflicting wandb (not needed)\n\n# Verify installation\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (the [qlora] extra pulls in bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6'\n!pip uninstall -y wandb -q # Remove conflicting wandb (not needed)\n\n# Verify installation\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (the [qlora] extra pulls in bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6'\n!pip uninstall -y wandb -q # Remove conflicting wandb (not needed)\n\n# Verify installation\n!forgelm --version"

Comment thread notebooks/safety_evaluation.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Comment thread notebooks/synthetic_data_training.ipynb Outdated
"metadata": {},
"outputs": [],
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.5' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version number in the comment is stale. It should be updated to v0.5.6.

Suggested change
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.5; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"
"source": "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n# Pinned to v0.5.6; bump on each release\n!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6' bitsandbytes\n!pip uninstall -y wandb -q\n!forgelm --version"

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@notebooks/data_curation.ipynb`:
- Line 24: Update the stale inline comment that currently reads "Pinned to
v0.5.5" to "Pinned to v0.5.6" so the descriptive comment matches the actual
install command (!pip install 'forgelm[ingestion]==0.5.6') in the notebook cell;
edit the notebook cell source string containing the comment and ensure the
version reference in that comment matches the pinned version used by the pip
install line.

In `@notebooks/dpo_alignment.ipynb`:
- Line 21: Update the stale inline comment in the notebook cell that begins with
"# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)" so the
pinned version text matches the install command; change the comment text "Pinned
to v0.5.5; bump on each release" to "Pinned to v0.5.6; bump on each release" so
it aligns with the pip install line "!pip install -q --no-cache-dir
'forgelm[qlora]==0.5.6' bitsandbytes".

In `@notebooks/galore_memory_optimization.ipynb`:
- Line 26: Update the stale inline comment that currently reads "# Pinned to
v0.5.5; bump on each release" to reflect the actual pinned version v0.5.6 (the
install line contains "!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6'").
Locate the notebook cell containing that comment and the "!pip install ...
forgelm[qlora]==0.5.6" line and change the comment text to "# Pinned to v0.5.6;
bump on each release".

In `@notebooks/grpo_reasoning.ipynb`:
- Line 21: The inline comment above the pip install in the notebook is stale
(mentions v0.5.5) while the command pins forgelm to v0.5.6; update the comment
string (the markdown/comment before the install command in
notebooks/grpo_reasoning.ipynb) to reference v0.5.6 so the comment matches the
pip install line and avoid future confusion.

In `@notebooks/kto_binary_feedback.ipynb`:
- Line 21: Update the stale inline comment that reads "# Pinned to v0.5.5; bump
on each release" in the notebook cell containing the pip install command to
reflect the actual pinned version by changing it to "# Pinned to v0.5.6; bump on
each release" so the comment matches the installed version
forgelm[qlora]==0.5.6.

In `@notebooks/multi_dataset.ipynb`:
- Line 21: Update the stale comment string that mentions the pinned ForgeLM
version: change the comment in the cell that currently reads "Pinned to v0.5.5;
bump on each release" to reflect "Pinned to v0.5.6; bump on each release" so it
matches the pip install command that pins forgelm[qlora]==0.5.6.

In `@notebooks/quickstart_sft.ipynb`:
- Line 27: Update the stale comment above the pip install line to reference
v0.5.6 instead of v0.5.5; locate the notebook cell containing the pip install
command (the line with "!pip install -q --no-cache-dir 'forgelm[qlora]==0.5.6'")
and edit the preceding comment string to say "Pinned to v0.5.6; bump on each
release" (or similar) so the comment matches the actual pinned version.

In `@notebooks/safety_evaluation.ipynb`:
- Line 23: The inline comment above the pip install is stale — change the
comment text that currently says "Pinned to v0.5.5; bump on each release" to
reference v0.5.6 so it matches the install line that pins forgelm[qlora]==0.5.6;
edit the notebook cell containing the comment and the install command (the cell
with the pip install and !forgelm --version) to update the version number in the
comment only.

In `@notebooks/synthetic_data_training.ipynb`:
- Line 26: Update the stale inline comment in the notebook cell that currently
reads "# Step 1: Install ForgeLM (with bitsandbytes for 4-bit quantization)\n#
Pinned to v0.5.5; bump on each release" to reference v0.5.6 so it matches the
pip install line "forgelm[qlora]==0.5.6"; edit the comment text in that same
cell (the cell starting with "# Step 1: Install ForgeLM") to say v0.5.6.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e57a60e1-cdcc-4c52-ba76-9d5af23038fb

📥 Commits

Reviewing files that changed from the base of the PR and between b78bb64 and 3e3799e.

📒 Files selected for processing (15)
  • CHANGELOG.md
  • README.md
  • docs/roadmap/releases.md
  • forgelm/_version.py
  • notebooks/data_curation.ipynb
  • notebooks/dpo_alignment.ipynb
  • notebooks/galore_memory_optimization.ipynb
  • notebooks/grpo_reasoning.ipynb
  • notebooks/kto_binary_feedback.ipynb
  • notebooks/multi_dataset.ipynb
  • notebooks/post_training_workflow.ipynb
  • notebooks/quickstart_sft.ipynb
  • notebooks/safety_evaluation.ipynb
  • notebooks/synthetic_data_training.ipynb
  • pyproject.toml

Comment thread notebooks/data_curation.ipynb Outdated
Comment thread notebooks/dpo_alignment.ipynb Outdated
Comment thread notebooks/galore_memory_optimization.ipynb Outdated
Comment thread notebooks/grpo_reasoning.ipynb Outdated
Comment thread notebooks/kto_binary_feedback.ipynb Outdated
Comment thread notebooks/multi_dataset.ipynb Outdated
Comment thread notebooks/quickstart_sft.ipynb Outdated
Comment thread notebooks/safety_evaluation.ipynb Outdated
Comment thread notebooks/synthetic_data_training.ipynb Outdated
PR #43 review absorption (gemini-code-assist + coderabbit). Both
bots flagged the same defect across 9 notebooks: the pip install
line was bumped to ==0.5.6, but the adjacent "Pinned to v0.5.5"
descriptive comment was missed by the v0.5.6 prep commit. Mass
replace via Python script.

In data_curation.ipynb the comment is reframed as "Pinned to v0.5.6
(the v0.5.5 closure-cycle bundle ships Phases 11+11.5+12+12.5 ..." so
the historical attribution of the consolidated features stays correct
(those features shipped in v0.5.5; v0.5.6 is the dependency-only
hotfix on top).

Rejected with rationale: gemini's README.md:171 finding flagging
docs/usermanuals/en/getting-started/installation.md as a broken
link is invalid — the file exists. The bot mis-read CLAUDE.md's
outdated "4-section user manual" note; the live tree under
docs/usermanuals/en/ has 9 sections (compliance, concepts, data,
deployment, evaluation, getting-started, operations, reference,
training).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cemililik

Copy link
Copy Markdown
Collaborator Author

Round-1 review absorption (commit 102aac3)

Fixed (9 notebooks):

Both gemini-code-assist and coderabbit flagged the same defect across 9 notebooks: the pip install line was correctly bumped to ==0.5.6, but the adjacent "Pinned to v0.5.5" descriptive comment was missed by the v0.5.6 prep commit (the regex bumper only targeted ==0.5.5 literals).

  • notebooks/{data_curation, dpo_alignment, galore_memory_optimization, grpo_reasoning, kto_binary_feedback, multi_dataset, quickstart_sft, safety_evaluation, synthetic_data_training}.ipynb

In data_curation.ipynb the comment is reframed as "Pinned to v0.5.6 (the v0.5.5 closure-cycle bundle ships Phases 11+11.5+12+12.5 ..." so the historical attribution stays correct — those Phase 11 / 12 features shipped in v0.5.5; v0.5.6 is the dependency-only hotfix on top.

Rejected with rationale (1 finding):

  • gemini-code-assist on README.md:171 (MEDIUM): claimed docs/usermanuals/en/getting-started/installation.md is a broken link because CLAUDE.md describes user manuals as a "4-section" tree (training, evaluation, deployment, reference).

    Verification: the file exists and is reachable. The live tree under docs/usermanuals/en/ has 9 sections (compliance, concepts, data, deployment, evaluation, getting-started, operations, reference, training); CLAUDE.md's "4-section" note is out-of-date documentation drift, not a link defect. Will track CLAUDE.md cleanup separately.

Skipped (1 review):

  • sourcery-ai: declined to review because the PR exceeds its 150K diff-character limit (the v0.5.5 CHANGELOG cleanup contributed -1733 net lines). No actionable findings emitted.

@sonarqubecloud

Copy link
Copy Markdown

@cemililik cemililik merged commit 1603cb5 into main May 10, 2026
9 of 10 checks passed
cemililik added a commit that referenced this pull request May 10, 2026
- README.md: exit-code contract 0/1/2/3/4 → 0/1/2/3/4/5
  (EXIT_WIZARD_CANCELLED added in v0.5.5)
- README.md: usermanual section count 4 → 9 (live tree under
  docs/usermanuals/en/ has compliance, concepts, data, deployment,
  evaluation, getting-started, operations, reference, training)
- CHANGELOG.md: v0.5.6 entry gains "Released to PyPI 2026-05-10"
  status prefix matching releases.md format

The "4-section user manual" drift was the root cause behind
gemini-code-assist's false-positive flag on PR #43 README link
check — corrected at the source now.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant