Skip to content

refactor(chatCore): extrai decisão de Background Task Redirect (T41) (#3501) - #4526

Merged
diegosouzapw merged 1 commit into
release/v3.8.33from
refactor/qg-chatcore-bgredirect
Jun 21, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.33from
refactor/qg-chatcore-bgredirect

Conversation

@diegosouzapw

Copy link
Copy Markdown
Collaborator

O quê

6º incremento da decomposição do god-file chatCore.ts (QG v2 Fase 9 T5, #3501). Move a decisão do Background Task Redirection (T41) do topo de handleChatCore para o novo leaf open-sse/handlers/chatCore/backgroundRedirect.ts (resolveBackgroundTaskRedirect).

Stacked sobre o #4511 (cadeia #4477 → #4491 → #4492 → #4507 → #4511 → este). Base aponta para refactor/qg-chatcore-effort; o GitHub re-aponta a cadeia automaticamente conforme os pais mergeiam.

Como (preservação de comportamento)

  • A função retorna { backgroundReason, redirect }:
    • backgroundReason — o sinal de detecção (truthy quando a request parece tarefa de background), threadado adiante na injeção de memory/skills (a const original era reusada na chamada de injeção downstream).
    • redirect — o downgrade de modelo a aplicar (enabled + background + modelo com mapeamento diferente), ou null.
  • O handler mantém os efeitos byte-idênticos: o log BACKGROUND, a mutação de model + body.model, e o audit routing.background_task_redirect.
  • Imports órfãos (getBackgroundDegradationConfig / getBackgroundTaskReason / getDegradedModel) migram para o leaf; logAuditEvent permanece (usado em vários pontos).

⚠️ Trust-but-verify pegou um bug de extração incompleta

A 1ª versão do leaf retornava só o redirect — mas a suíte completa (chatcore-sanitization etc., não só o leaf-test) quebrou com ReferenceError: backgroundReason is not defined: a const backgroundReason original também é consumida mais adiante (injeção de memory/skills), independente do redirect. (O typecheck passou apesar disso — provável cache incremental do tsc; foi rodar a suíte inteira que pegou, conforme a regra de auditoria pós-subagente.) Corrigido retornando os dois campos.

Gates

  • file-size: chatCore.ts 4978→4974 (shrink −4); baseline ratchetado.
  • complexity: 1905 = baseline 1905 (neutro).
  • typecheck:core: exit 0.
  • Testes: tests/unit/chatcore-background-redirect.test.ts — 5 casos via setBackgroundDegradationConfig (disabled no-op, low-max-tokens + header triggers, non-background no-op, modelo sem mapeamento = detecta mas não redireciona). chatcore-imports-cleanly ✓ + 158/158 na suíte chatcore (excluído só o translation-paths flaky pré-existente).

Extração de god-file sem mudança de comportamento em runtime.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

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

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@diegosouzapw
diegosouzapw force-pushed the refactor/qg-chatcore-effort branch from 946d51a to ac25ec1 Compare June 21, 2026 17:19
@diegosouzapw
diegosouzapw force-pushed the refactor/qg-chatcore-bgredirect branch from b8f0352 to 848f333 Compare June 21, 2026 17:19
@diegosouzapw
diegosouzapw force-pushed the refactor/qg-chatcore-effort branch from ac25ec1 to 36b2f7f Compare June 21, 2026 17:21
@diegosouzapw
diegosouzapw changed the base branch from refactor/qg-chatcore-effort to release/v3.8.33 June 21, 2026 17:21
…3501)

Move a decisão do Background Task Redirection (T41) do topo de handleChatCore
para o novo leaf open-sse/handlers/chatCore/backgroundRedirect.ts
(resolveBackgroundTaskRedirect). Retorna { backgroundReason, redirect }:
backgroundReason é o sinal de detecção (truthy quando a request parece tarefa de
background), threadado adiante na injeção de memory/skills; redirect é o downgrade
de modelo a aplicar (enabled + background + modelo com mapeamento diferente), ou
null. O handler mantém os efeitos byte-idênticos: log BACKGROUND, mutação de
model + body.model, e o audit routing.background_task_redirect.

Imports órfãos (getBackgroundDegradationConfig / getBackgroundTaskReason /
getDegradedModel) migram para o leaf; logAuditEvent permanece (usado em vários
pontos).

chatCore.ts 4978->4974 (shrink -4); baseline file-size ratchetado.
complexity 1905=1905 (neutro). Coberto por
tests/unit/chatcore-background-redirect.test.ts (5 casos via
setBackgroundDegradationConfig).
@diegosouzapw
diegosouzapw force-pushed the refactor/qg-chatcore-bgredirect branch from 848f333 to 1773868 Compare June 21, 2026 17:23
@diegosouzapw
diegosouzapw merged commit 2601a55 into release/v3.8.33 Jun 21, 2026
3 checks passed
@diegosouzapw diegosouzapw mentioned this pull request Jun 22, 2026
@diegosouzapw
diegosouzapw deleted the refactor/qg-chatcore-bgredirect branch June 23, 2026 13:13
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…heaper-inference#4526, cheaper-inference#3501)

Rebuilt onto release/v3.8.33 (base was the now-merged cheaper-inference#4511 branch). Integrated into release/v3.8.33.
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.

1 participant