test(release): align five suites with the contracts #11933, #11919 and #11876 shipped on release/v3.8.51 - #11944
Merged
Merged
Conversation
…#11876 shipped on release/v3.8.51 Eleven PRs landed on release/v3.8.51 while the branch carried fifteen base reds, and nine more red tests hid among them. None is a defect in the shipped code; each test still encoded the contract that the merged PR deliberately replaced: - openai-to-claude finish deferral (dd35750, #11933): a finish chunk that carries no usage is now held until the end-of-stream flush that production performs (open-sse/utils/stream.ts flush -> translateResponse(..., null, state)). The drivers in stream-markdown-token-boundary, translator-tool-call-shim and gemini-malformed-function-call-finish-reason-2462 fed the finish chunk and asserted the terminal events immediately; they now mirror the flush. Assertions unchanged. - authoritative live catalog (3d2832b, #11919 fixes #11829): a synced catalog replaces the static registry, so model-lifecycle-integration no longer expects the static-only gpt-5.6-sol row to survive a sync. The #8627 contract the file guards (stale chat rows suppressed, typed media retained) is untouched. - provider asset provenance (#11876): the unit shards check out with depth 1. The fixture pinned a historical commit as auditedCommit (absent on a shallow clone), the "binds auditedCommit" case relied on the repository root commit (the grafted HEAD on a shallow clone, which matches the physical snapshot), and the real-manifest case needs the audited commit fetched. The fixture now audits HEAD, the mismatch case builds a dangling empty-tree commit (no ref written), and the real-manifest case skips only on a shallow checkout that lacks the commit - the gate itself keeps running on both fetch-depth-0 rails, which the next test asserts. All five files pass locally (30, 11, 38, 3 and 18 tests); lint with the frozen suppressions is clean.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
diegosouzapw#11919 and diegosouzapw#11876 shipped on release/v3.8.51 (diegosouzapw#11944) Eleven PRs landed on release/v3.8.51 while the branch carried fifteen base reds, and nine more red tests hid among them. None is a defect in the shipped code; each test still encoded the contract that the merged PR deliberately replaced: - openai-to-claude finish deferral (590c0cf, diegosouzapw#11933): a finish chunk that carries no usage is now held until the end-of-stream flush that production performs (open-sse/utils/stream.ts flush -> translateResponse(..., null, state)). The drivers in stream-markdown-token-boundary, translator-tool-call-shim and gemini-malformed-function-call-finish-reason-2462 fed the finish chunk and asserted the terminal events immediately; they now mirror the flush. Assertions unchanged. - authoritative live catalog (c2cf93c, diegosouzapw#11919 fixes diegosouzapw#11829): a synced catalog replaces the static registry, so model-lifecycle-integration no longer expects the static-only gpt-5.6-sol row to survive a sync. The diegosouzapw#8627 contract the file guards (stale chat rows suppressed, typed media retained) is untouched. - provider asset provenance (diegosouzapw#11876): the unit shards check out with depth 1. The fixture pinned a historical commit as auditedCommit (absent on a shallow clone), the "binds auditedCommit" case relied on the repository root commit (the grafted HEAD on a shallow clone, which matches the physical snapshot), and the real-manifest case needs the audited commit fetched. The fixture now audits HEAD, the mismatch case builds a dangling empty-tree commit (no ref written), and the real-manifest case skips only on a shallow checkout that lacks the commit - the gate itself keeps running on both fetch-depth-0 rails, which the next test asserts. All five files pass locally (30, 11, 38, 3 and 18 tests); lint with the frozen suppressions is clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexto
Depois do sync-back da v3.8.50, 11 PRs entraram na
release/v3.8.51com a base ainda carregando 15 vermelhos — e mais 9 testes vermelhos se esconderam entre eles (medido na ponta pura33763f06cc). Nenhum é defeito do código que entrou; cada teste ainda pinava o contrato que a PR mergeada substituiu de propósito.O que muda
stream-markdown-token-boundary(2),translator-tool-call-shim(2),gemini-malformed-function-call-finish-reason-2462(4)dd35750e5f(#11933): finish sem usage é adiado até o flush de fim de stream que a produção faz (open-sse/utils/stream.ts→translateResponse(…, null, state))model-lifecycle-integration(1)3d2832b836(#11919, fixes #11829): catálogo sincronizado autoritativo substitui o registro estáticogpt-5.6-solnão sobrevive ao sync; o resto do contrato #8627 (chat obsoleto suprimido, mídia tipada mantida) segue igualcheck-provider-asset-provenance(4)HEAD; o caso "binds" cria um commit dangling de árvore vazia (sem ref); o caso do manifesto real só pula em checkout raso sem o commit — o gate continua nos dois trilhos comfetch-depth: 0(asserido pelo teste seguinte)Validação
Local: 30/30, 11/11, 38/38, 3/3, 18/18;
eslint --suppressions-location …limpo nos 5 arquivos. Esta PR é complementar à #11940 (varredura dos 13 pré-existentes); juntas zeram os shards de unit da.51menos a dívida de ESLint (#11924)..51)