Fix MiniMax Direct reasoning split in Chrome extension#354
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 10, 2026, 5:16 AM ET / 09:16 UTC. Summary Reproducibility: yes. at source level: current main omits the established MiniMax request option in Chrome Direct, while the linked report shows reasoning tags in extension output. This review did not run a credential-backed live provider reproduction. Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Retain this narrow provider-specific request change and regression coverage, then merge after a redacted live Chrome Direct MiniMax run confirms separated reasoning and preserved summary output. Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main omits the established MiniMax request option in Chrome Direct, while the linked report shows reasoning tags in extension output. This review did not run a credential-backed live provider reproduction. Is this the best way to solve the issue? Yes. Applying the existing MiniMax request contract at the shared Chrome Direct request constructor is the narrowest maintainable fix and avoids a second, extension-only reasoning-tag stripping implementation. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 206a6f844764. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (3 earlier review cycles) |
|
@clawsweeper re-review CI is now green and the PR body has been updated to explicitly state that live MiniMax proof is still pending because no MiniMax API key is configured in this validation environment. Please re-review based on the updated validation/proof notes. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Summary
reasoning_split: trueto Chrome extension OpenAI-compatible Direct requests.delta.contentis preserved.Root cause
Fixes #349.
MiniMax's OpenAI-compatible API keeps thinking in the
contentfield with<think>...</think>tags unlessreasoning_splitis enabled. The CLI/daemon MiniMax path already requests separated reasoning, but the Chrome extension Direct provider routes MiniMax through the generic OpenAI-compatible adapter and did not include that MiniMax-specific request field.Validation
pnpm -C apps/chrome-extension exec playwright test -c playwright.config.ts --project=chromium tests/direct-provider.spec.ts --grep "OpenAI-compatible streaming text|separated MiniMax reasoning"pnpm -C apps/chrome-extension exec playwright test -c playwright.config.ts --project=chromium tests/direct-provider.spec.ts- 12 passedpnpm -C apps/chrome-extension buildpnpm -s format:checkpnpm -s lintpnpm -s typecheckpnpm -s check- 547 passed / 29 skipped test files, 2940 passed / 43 skipped teststest (24),extension-e2e,extension-firefox-smoke, and GitGuardian all passed.Chrome extension validation note: the CI
extension-e2ejob runs the Chrome extension build, Chromium native-messaging E2E, HTTP-transport extension build, and the full Chromium Playwright suite for the extension. A local macOSpnpm -C apps/chrome-extension test:chromerun previously reproduced an unrelatedtests/sidepanel.browser-slides.spec.tsactiveTab/<all_urls>permission failure, but the equivalent CI extension suite passed cleanly on this PR.Live MiniMax proof
Pending: no live MiniMax credential is configured in this validation environment, so no live-provider proof is claimed yet. The current proof covers the exact Chrome extension Direct request body and stream parsing behavior. Once a MiniMax key is available, the remaining proof should be a redacted Chrome extension Direct MiniMax run showing that the request includes
reasoning_split: true, visible output does not contain<think>/reasoning fields, and normal summary text still streams.