Skip to content

chore: rolling promotion dev -> main#43

Merged
namastex888 merged 7 commits intomainfrom
dev
Mar 30, 2026
Merged

chore: rolling promotion dev -> main#43
namastex888 merged 7 commits intomainfrom
dev

Conversation

@namastex888
Copy link
Copy Markdown
Collaborator

@namastex888 namastex888 commented Mar 30, 2026

Rolling Promotion PR

Auto-maintained rolling promotion PR from `dev` to `main`.

Process:

  • This PR is automatically created and kept open
  • Human reviews and merges when ready
  • Label `ready-to-merge` added when all checks pass

IMPORTANT: Merge with "Create a merge commit" — NEVER squash.
Squash merging breaks history sync between dev and main,
causing the next rolling PR to show all commits again.

Human approval required for merge to production.

Summary by CodeRabbit

  • Chores

    • Version bumped to 0.260330.13
  • Bug Fixes

    • Improved empty-response handling to distinguish thinking-only iterations from truly empty responses, reducing false empty-response warnings during model runs.

github-actions Bot and others added 4 commits March 30, 2026 03:08
Gemini 3.1 flash-lite produces thinking tokens without visible text
on early iterations. The empty response guard (issue #14) was counting
these as "empty" and aborting after 3. Now checks if output tokens > 0
before counting as truly empty.

Closes #30
fix: don't abort on thinking-only responses from reasoning models
@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 30, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b3922196-ff95-4ebb-ae1e-9cc1cb785840

📥 Commits

Reviewing files that changed from the base of the PR and between b81b4f5 and 7a97daf.

📒 Files selected for processing (3)
  • package.json
  • src/rlm.ts
  • src/version.ts
✅ Files skipped from review due to trivial changes (2)
  • package.json
  • src/version.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/rlm.ts

📝 Walkthrough

Walkthrough

Package version bumped to 0.260330.13. rlmLoop’s empty-response handling now treats empty text with output tokens as "thinking-only" (doesn't increment consecutiveEmpty or trigger warnings); only responses with empty text and zero output tokens count toward abort logic.

Changes

Cohort / File(s) Summary
Package Manifest
package.json
Updated published package version from 0.260330.100.260330.13.
Version Constant
src/version.ts
Updated exported VERSION constant from '0.260330.10''0.260330.13'.
Response Handling Logic
src/rlm.ts
Refined empty-response detection: when responseText.length === 0 but response.usage.outputTokens > 0, treat as thinking-only (log verbose message, do not increment consecutiveEmpty or emit warning). Only increment/abort on truly empty responses with outputTokens === 0.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐇 A tiny hop, a version climbs,
Tokens whisper through quiet times,
When thoughts churn but text stays thin,
I nod—no warning, no chagrin.
Hooray for clearer loop designs! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: rolling promotion dev -> main' accurately reflects the pull request's objective as an automatic rolling promotion from the dev branch to main, which aligns with the PR summary and commit messages.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b81b4f57fe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/rlm.ts
Comment on lines +307 to +311
if (response.usage.outputTokens > 0) {
// Thinking-only iteration — model is reasoning, not stuck
if (opts.verbose) {
logVerbose(iteration, "thinking-only response (no visible text yet)");
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reset empty-response streak for thinking-only replies

When responseText.length === 0 and outputTokens > 0, this branch treats the turn as non-empty but does not clear consecutiveEmpty. That means a sequence like empty(0 tokens) → thinking-only(>0 tokens) → empty(0 tokens) still advances the "consecutive" counter and can trigger the 3-empty abort even though the empties were interrupted by a valid thinking turn. In rlmLoop, this can prematurely terminate runs for reasoning models that interleave hidden-thinking and blank-text responses.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@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.

🧹 Nitpick comments (1)
src/rlm.ts (1)

302-305: Remove duplicate comment.

Line 302 and 303 contain identical comments. The second one (line 303) appears to be a copy-paste artifact.

🧹 Proposed fix
       // Check for empty LLM response (issue `#14`)
-      // Check for empty LLM response (issue `#14`)
       // Thinking-only responses (output tokens > 0 but no visible text) are normal
       // for reasoning models warming up — don't count as empty.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/rlm.ts` around lines 302 - 305, Remove the duplicated comment line "//
Check for empty LLM response (issue `#14`)" that appears twice in src/rlm.ts (the
redundant copy directly above the block about "Thinking-only responses...");
keep a single instance of that comment immediately before the explanation about
thinking-only responses so the comment is not repeated. Ensure only one "//
Check for empty LLM response (issue `#14`)" remains and surrounding
comments/spacing are preserved.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/rlm.ts`:
- Around line 302-305: Remove the duplicated comment line "// Check for empty
LLM response (issue `#14`)" that appears twice in src/rlm.ts (the redundant copy
directly above the block about "Thinking-only responses..."); keep a single
instance of that comment immediately before the explanation about thinking-only
responses so the comment is not repeated. Ensure only one "// Check for empty
LLM response (issue `#14`)" remains and surrounding comments/spacing are
preserved.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0f453ba3-9f45-4edd-9af8-b61774949db8

📥 Commits

Reviewing files that changed from the base of the PR and between 2caf11d and b81b4f5.

📒 Files selected for processing (3)
  • package.json
  • src/rlm.ts
  • src/version.ts

@namastex888 namastex888 merged commit 3d13daf into main Mar 30, 2026
2 checks passed
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