chore(release): v0.5.6 — revert torch min to 2.2 for Intel Mac compat#43
Conversation
- 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>
ⓘ 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. |
There was a problem hiding this comment.
Sorry @cemililik, your pull request is larger than the review limit of 150000 diff characters
|
Warning Rate limit exceeded
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 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 configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughVersion 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 ChangesForgeLM v0.5.6 Release: PyTorch Dependency Relaxation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| BestPractice | 4 medium |
🟢 Metrics 0 complexity · 0 duplication
Metric Results Complexity 0 Duplication 0
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.
There was a problem hiding this comment.
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.
| 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. |
There was a problem hiding this comment.
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.
| "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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6 to match the pip install command below it.
| "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" |
| "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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6 to match the pip install command.
| "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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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" |
| "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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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 (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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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 (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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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 (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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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" |
| "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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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 (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" |
There was a problem hiding this comment.
The version number in the comment is stale. It should be updated to v0.5.6.
| "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" |
There was a problem hiding this comment.
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
📒 Files selected for processing (15)
CHANGELOG.mdREADME.mddocs/roadmap/releases.mdforgelm/_version.pynotebooks/data_curation.ipynbnotebooks/dpo_alignment.ipynbnotebooks/galore_memory_optimization.ipynbnotebooks/grpo_reasoning.ipynbnotebooks/kto_binary_feedback.ipynbnotebooks/multi_dataset.ipynbnotebooks/post_training_workflow.ipynbnotebooks/quickstart_sft.ipynbnotebooks/safety_evaluation.ipynbnotebooks/synthetic_data_training.ipynbpyproject.toml
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>
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
In Rejected with rationale (1 finding):
Skipped (1 review):
|
|
- 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>



Summary
torch>=2.3.0minimum back totorch>=2.2.0to restore Intel Mac (x86_64) installabilitytorch>=2.3floor in v0.5.5 was inaccurate — no v2.3-specific PyTorch API is referenced in production codeWhy
PyTorch Foundation stopped publishing
torch>=2.3wheels for Intel Mac (x86_64) — only Apple Silicon / Linux / Windows have 2.3+. v0.5.5'storch>=2.3.0requirement 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.pycitation that prompted the original v2.3 bump is a comment explaining the test's graceful skip whentrl.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 inforgelm/trainer.pydelegates string options totransformers.TrainingArgumentsand never importstorch.distributed.fsdp.FSDPModuledirectly.Changes
pyproject.toml:torch>=2.3.0,<3.0.0→torch>=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 platformdocs/roadmap/releases.md: v0.5.6 entry + v0.5.5 summary + highlights + full changelog linknotebooks/*.ipynb: install pins bumped 0.5.5 → 0.5.6 (10 files)Test plan
ruff format --check . && ruff check .cleanforgelm --config config_template.yaml --dry-rungreentools/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)pip install -U forgelmon 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
Documentation
Chores