Skip to content

fix(combo): prefer known context capacity over unknown - #6088

Merged
diegosouzapw merged 4 commits into
diegosouzapw:release/v3.8.44from
Thinkscape:fix/combo-context-known-cap-filter
Jul 3, 2026
Merged

diegosouzapw merged 4 commits into
diegosouzapw:release/v3.8.44from
Thinkscape:fix/combo-context-known-cap-filter

Conversation

@Thinkscape

Copy link
Copy Markdown
Contributor

Summary

  • Treat unknown context metadata as a fallback instead of letting it survive over known-compatible targets
  • When context filtering leaves only unknown-limit targets, preserve strategy order for context-only candidates rather than promoting unknowns
  • Replace the old simulated context-window test with production filter regression coverage

Tests

  • node --import tsx/esm --test tests/unit/combo-context-window-filter.test.ts
  • node --import tsx/esm --test tests/unit/combo-vision-aware-routing.test.ts
  • node --import tsx/esm --test tests/unit/combo-routing-engine.test.ts (pre-existing unrelated failure: handleComboChat applies fallback compression only after explicit zero-latency opt-in, expected 200 got 500)

Notes

This is intentionally separate from provider GLM-5.2 context normalization and quota/lockout fixes.

diegosouzapw and others added 2 commits July 3, 2026 02:02
…ring sanitization (diegosouzapw#6048)

Port the release/v3.8.44 fix to main so the code-scanning alert closes on
the default branch. Parse the URL and assert on the exact hostname instead
of a substring match — `includes("www.kimi.com")` would also accept a
hostile host like `www.kimi.com.evil.net` or `evil.net/?x=www.kimi.com`
(js/incomplete-url-substring-sanitization).
@Thinkscape
Thinkscape requested a review from diegosouzapw as a code owner July 3, 2026 11:09

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

Copy link
Copy Markdown
Contributor

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 refactors the context-aware combo compatibility filter in open-sse/services/combo/comboStructure.ts to better handle targets with unknown context limits. It introduces helper functions to retrieve and evaluate context limits, ensuring that known-compatible targets are preferred over unknown metadata gaps, while falling back to strategy order when no known-compatible targets remain. Additionally, the unit tests in tests/unit/combo-context-window-filter.test.ts have been rewritten to thoroughly cover these new behaviors and edge cases. I have no feedback to provide as there are no review comments.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@diegosouzapw
diegosouzapw changed the base branch from main to release/v3.8.44 July 3, 2026 12:40
@diegosouzapw
diegosouzapw merged commit f884c40 into diegosouzapw:release/v3.8.44 Jul 3, 2026
1 of 3 checks passed
diegosouzapw added a commit that referenced this pull request Jul 4, 2026
…bsorption

- fix(models): stop resolveProviderAlias at registered provider ids so oc/
  reaches the no-auth opencode provider again (#2901 contract, regressed by
  #5918's transitive chain; transitivity kept across alias-only hops)
- fix(auggie): handle async EPIPE 'error' events on child stdin so a
  fast-exiting CLI surfaces a sanitized error instead of crashing (both
  spawn sites); deflakes auggie-executor tests
- test: align provider family count 166->167 (Kenari #6104), regenerate
  translate-path golden on Linux (+kenari), opencode quota scope
  provider->connection (#6061)
- quality(test-masking): add _deletedWithReplacement allowlist support to
  check-test-masking.mjs (deletion exempt ONLY when the declared replacement
  test exists in HEAD; 5 new gate unit tests) + reduction allowlist entries
  for the verified #5958/#6088/#5816 migrations + targetExhaustion->
  combo-target-exhaustion replacement (#5976, 21 cases/52 asserts vs 13/37)
- quality(file-size): absorb v3.8.44 cycle drift (oauth route 960,
  providerLimits 998, chat 1662, auth 2426) with justification; #6158 will
  restore the oauth-route freeze
- changelog: bullets for the above + the #6155 cooling-panel build fix
@diegosouzapw diegosouzapw mentioned this pull request Jul 4, 2026
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…6088)

When a combo filters a target for exceeding a known context limit, prefer remaining known-compatible targets over unknown-metadata ones. Regression guard: combo-context-window-filter.test.ts.

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…bsorption

- fix(models): stop resolveProviderAlias at registered provider ids so oc/
  reaches the no-auth opencode provider again (diegosouzapw#2901 contract, regressed by
  diegosouzapw#5918's transitive chain; transitivity kept across alias-only hops)
- fix(auggie): handle async EPIPE 'error' events on child stdin so a
  fast-exiting CLI surfaces a sanitized error instead of crashing (both
  spawn sites); deflakes auggie-executor tests
- test: align provider family count 166->167 (Kenari diegosouzapw#6104), regenerate
  translate-path golden on Linux (+kenari), opencode quota scope
  provider->connection (diegosouzapw#6061)
- quality(test-masking): add _deletedWithReplacement allowlist support to
  check-test-masking.mjs (deletion exempt ONLY when the declared replacement
  test exists in HEAD; 5 new gate unit tests) + reduction allowlist entries
  for the verified diegosouzapw#5958/diegosouzapw#6088/diegosouzapw#5816 migrations + targetExhaustion->
  combo-target-exhaustion replacement (diegosouzapw#5976, 21 cases/52 asserts vs 13/37)
- quality(file-size): absorb v3.8.44 cycle drift (oauth route 960,
  providerLimits 998, chat 1662, auth 2426) with justification; diegosouzapw#6158 will
  restore the oauth-route freeze
- changelog: bullets for the above + the diegosouzapw#6155 cooling-panel build fix
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