Skip to content

Wave: restore #1218 empty-content guard on main (missed Wave 2) - #1237

Closed
jeonghun-jj-lee wants to merge 1 commit into
mainfrom
dev
Closed

jeonghun-jj-lee wants to merge 1 commit into
mainfrom
dev

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

Wave — carry the #1218 guard fix that just missed Wave 2

A micro-Wave graduating exactly one commit from dev to main: a91c0159 (#1236), the restore of the #1218 empty-content final guard.

Why main needs it

Wave 2 (#1232) graduated devmain at 13:19Z. At that moment dev still carried the wave-2 merge regression — the #1218 final guard (msgs.filter(... content.length > 0)) had been dropped from provider/transform.ts. The fix (#1236) landed on dev at 15:14Z, ~2h after Wave 2 sailed. So main currently ships without the guard — exposed to the content: [] → provider-SDK Bedrock session-wedge class that #1218 closed.

Scope — one clean commit

dev is exactly main + a91c0159; nothing else has diverged since Wave 2. This PR shows that single commit and merges as a zero-conflict fast-forward, converging main == dev.

  • transform.ts — guard restored; byte-identical to the pre-Wave-2 main, plus the wave-2 provenance comment.
  • manifest.json — the single transform.ts content-hash line.

drift_gate.mjs passed on dev before #1236 merged.

⚠️ Merge with a merge commit or fast-forward — do NOT squash

Same rule as Wave 2 (which merged as "Merge pull request from harmoniqs/dev"): squashing mints a new SHA and re-orphans dev's history from main, breaking the next Wave's fast-forward.

Closes the main-side of the #1218 regression.

…he wave-2 merge (#1236)

The wave-2 back-merge of main into dev (dfe3fbe) hand-ported the 568306f
reasoning->text conversion but dropped the separate #1218 final guard from
provider/transform.ts:

    msgs = msgs.filter((msg) => !Array.isArray(msg.content) || msg.content.length > 0)

This is the last line of defense against a message with content: [] reaching a
provider SDK/API — the class of Bedrock session-wedge #1218 closed. dev kept
main's transform.test.ts (the 'final empty content guard' describe block still
asserts empty-content messages are dropped), so the implementation and its
tests were out of sync on dev. The overlay's bun tests aren't run by any CI job
(build-binary compiles the overlay but doesn't test it; 'fast' is the extension
vitest), so the regression was silent — dev is CI-green with the guard gone.

Restores the guard verbatim from main: transform.ts is now byte-identical to
origin/main except Aaron's wave-2 provenance comment. manifest.json updated
surgically (the single transform.ts content hash); drift_gate.mjs PASS.

Co-authored-by: amicode-ci <ci@amicode.local>
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 96e5f65b-4a56-480c-a2a0-9701c528651d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

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