Skip to content

QVAC-18487 feat[mod]: sync sdk model registry to bergamot base-memory and drop deprecated marian opus#1903

Merged
opaninakuffo merged 3 commits into
tetherto:mainfrom
opaninakuffo:qvac-17892-sync-sdk-bergamot-base-memory
May 5, 2026
Merged

QVAC-18487 feat[mod]: sync sdk model registry to bergamot base-memory and drop deprecated marian opus#1903
opaninakuffo merged 3 commits into
tetherto:mainfrom
opaninakuffo:qvac-17892-sync-sdk-bergamot-base-memory

Conversation

@opaninakuffo

@opaninakuffo opaninakuffo commented May 5, 2026

Copy link
Copy Markdown
Contributor

Note: be concise and prefer bullet points.

🎯 What problem does this PR solve?

  • packages/sdk/models/registry/models.ts pinned BERGAMOT_EN_IT and BERGAMOT_ES_EN to the buggy tiny Bergamot variant at bergamot-{enit,esen}/2025-12-18/. Caused leading "- " hallucinations on short inputs and en→it quality regression (~3 pp chrF++ drop on [Bergamot] [CPU], ~33 pp on [Pivot es→en→it] [CPU]).
  • 32 Marian Opus NMT entries deprecated in QVAC-14576 chore: remove Opus model entries from registry server #1680 still lived in the SDK registry.

📝 How does it solve it?

🧪 How was it tested?

📦 Models

Removed models

NMT_Q0F16
NMT_Q0F16_1
NMT_Q0F16_2
NMT_Q0F16_3
NMT_Q0F16_4
NMT_Q0F16_5
NMT_Q0F16_6
NMT_Q0F16_7
NMT_Q0F16_8
NMT_Q0F16_9
NMT_Q4_0
NMT_Q4_0_1
NMT_Q4_0_2
NMT_Q4_0_3
NMT_Q4_0_4
NMT_Q4_0_5
NMT_Q4_0_6
NMT_Q4_0_7
NMT_Q4_0_8
NMT_Q4_0_9
NMT_Q4_0_10
NMT_Q4_0_11
NMT_Q4_0_12
NMT_Q4_0_13
NMT_Q4_0_14
NMT_Q4_0_15
NMT_Q4_0_16
NMT_Q4_0_17
NMT_Q4_0_18
NMT_Q4_0_19
NMT_Q4_0_20
NMT_Q4_0_21

…eprecated marian opus

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  tetherto#1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by tetherto#1680.
- Auto-generated by `bun update-models`.
@opaninakuffo opaninakuffo requested a review from a team as a code owner May 5, 2026 13:42
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — ios — ❌ failed

Totals: 57/89 passed · 24 failed · 70.4% · 1750s
Config: suite=smoke · filter=(none) · exclude=(none)
View run · Artifacts

Results by section

  • addon-logging: 0/2 ❌
  • config: 0/1 ❌
  • config-reload: 1/2 ❌
  • delegated-inference: 0/4 ❌
  • diffusion: 0/2 ❌
  • download: 0/1 ❌
  • finetune: 0/1 ❌
  • lifecycle: 0/2 ❌
  • model: 6/8 ❌
  • registry: 0/4 ❌
  • vision: 0/3 ❌
  • wrong-model: 0/1 ❌

Failed tests

  • addon-logging-llm: Consumer died before test could be executed
  • addon-logging-during-inference: Consumer died before test could be executed
  • config-reload-then-transcribe: Consumer became unresponsive (no heartbeat for 123s)
  • config-registry-download-smoke: Consumer died before test could be executed
  • delegated-provider-start: Consumer died before test could be executed
  • delegated-provider-stop: Consumer died before test could be executed
  • delegated-load-model-fallback-local: Consumer died before test could be executed
  • delegated-connection-failure: Consumer died before test could be executed
  • diffusion-basic-txt2img: Consumer died before test could be executed
  • diffusion-streaming-progress: Consumer died before test could be executed
  • download-cancel-isolation: Consumer died before test could be executed
  • finetune-start-complete: Consumer died before test could be executed
  • lifecycle-suspend-resume-inference: Consumer died before test could be executed
  • lifecycle-state-transitions: Consumer died before test could be executed
  • model-load-inferred-type: Consumer died before test could be executed
  • model-load-missing-type-string-src: Consumer died before test could be executed
  • registry-list-returns-models: Consumer died before test could be executed
  • registry-search-by-engine-llm: Consumer died before test could be executed
  • registry-get-model-valid: Consumer died before test could be executed
  • registry-get-model-not-found: Consumer died before test could be executed
  • vision-basic: Consumer died before test could be executed
  • vision-streaming: Consumer died before test could be executed
  • vision-error-missing-image: Consumer died before test could be executed
  • wrong-model-transcribe-on-llm: Consumer died before test could be executed

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — android — ✅ all tests passed (83/89, 1949s)

Config: suite=smoke · filter=(none) · exclude=(none)
View run · Artifacts

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — windows⚠️ no results

Config: suite=smoke · filter=(none) · exclude=(none)
View run · Artifacts

The test job did not produce a results artifact. Check the run for job-level failures.

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — linux — ✅ all tests passed (89/89, 469s)

Config: suite=smoke · filter=(none) · exclude=(none)
View run · Artifacts

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

QVAC E2E — macos — ✅ all tests passed (89/89, 338s)

Config: suite=smoke · filter=(none) · exclude=(none)
View run · Artifacts

@opaninakuffo

Copy link
Copy Markdown
Contributor Author

review

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Tier-based Approval Status

**PR Tier:** TIER1

**Current Status:** ✅ APPROVED

**Requirements:**
- 1 Team Member approval ✅ (1/1)
- 1 Team Lead OR Management approval ✅ (1/1)



---
*This comment is automatically updated when reviews change.*

@opaninakuffo opaninakuffo changed the title QVAC-17892 feat[mod]: sync sdk model registry to bergamot base-memory and drop deprecated marian opus QVAC-18487 feat[mod]: sync sdk model registry to bergamot base-memory and drop deprecated marian opus May 5, 2026
@opaninakuffo

Copy link
Copy Markdown
Contributor Author

review

@opaninakuffo opaninakuffo merged commit 8349641 into tetherto:main May 5, 2026
12 of 13 checks passed
opaninakuffo added a commit to opaninakuffo/qvac that referenced this pull request May 5, 2026
…eprecated marian opus (tetherto#1903)

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  tetherto#1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by tetherto#1680.
- Auto-generated by `bun update-models`.
tamer-hassan-tether pushed a commit that referenced this pull request May 6, 2026
…eprecated marian opus (#1903)

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  #1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by #1680.
- Auto-generated by `bun update-models`.
tamer-hassan-tether pushed a commit that referenced this pull request May 6, 2026
…eprecated marian opus (#1903)

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  #1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by #1680.
- Auto-generated by `bun update-models`.
opaninakuffo added a commit that referenced this pull request May 6, 2026
* QVAC-18420 fix[mod]: Bergamot vocab re-downloaded on every loadModel for shared-vocab pairs (#1892)

* QVAC-18420 fix[mod]: Bergamot vocab re-downloaded on every loadModel for shared-vocab pairs

- Dedup preserves registry entries referenced as companion files in any
  companion set, so shared-vocab blobs (identical sha256 under two paths) keep
  their standalone RegistryItem. This adds back 7 previously-dropped
  BERGAMOT_<pair>_VOCAB entries (FR_EN, EN_DE, EN_CS, ET_EN, FI_EN, PL_EN, PT_EN)
  and restores correct expectedSize/sha lookups for the Bergamot plugin's
  separate vocab resolve.
- For registry:// Bergamot loads with auto-derived vocabs (non-pivot and pivot),
  skip the separate per-vocab resolveModelPath entirely. The companion-set
  download already colocates vocabs under sets/<setKey>/ and createModel
  derives those paths via deriveColocatedBergamotVocabPaths — no redundant
  flat-cache download, no dedup-hole exposure.

* QVAC-18420 test: cover Bergamot vocab resolver + extract pure helpers

Reviewer ask on PR #1892: lock the Fix-C registry-source vocab optimization
behind unit tests so the contract doesn't drift.

- Extract resolveBergamotVocab and its derivation helpers into
  resolve-vocab.ts. The plugin module imports @qvac/translation-nmtcpp at
  module-load time (Bare-only native addon), so the helpers were not
  importable from a bun-driven test runner. The new module has zero native
  deps; plugin.ts re-imports from it.
- Add test/unit/nmtcpp-resolve-vocab.test.ts covering:
  - registry:// + auto-derived vocabs (non-pivot) → ctx.resolveModelPath
    is never called and no vocab artifacts are emitted
  - registry:// + auto-derived vocabs (pivot) → exactly one resolveModelPath
    call (the pivot model itself), no vocab artifacts
  - registry:// + user-supplied srcVocabSrc OR dstVocabSrc → optimization
    is skipped and full per-vocab resolution runs (sanity: keeps the
    optimization narrow)
  - pear:// source still resolves vocabs explicitly (companion-set
    semantics don't apply)
  - mixed registry/pear pivot triggers full resolution path
  - unsupported sources raise ModelLoadFailedError
  - pure derivation helpers (buildBergamotVocabSources,
    deriveBergamotVocabSources, deriveBergamotRegistryVocabSources) for
    both shared-vocab and CJK split-vocab pairs

---------

Co-authored-by: Opanin Akuffo <46673050+opaninakuffo@users.noreply.github.com>

* QVAC-17324 feat[api]: add harmony tool-call dialect (gpt-oss) (#1878)

* chore: bump @qvac/llm-llamacpp to 0.17.2 for harmony EOG fix
- Picks up #1812 which stops the addon from suppressing
  the `<|call|>` end-of-generation token, unblocking harmony tool-call
  parsing on the SDK side.

* feat: expose toolDialect override and add harmony to the dialect enum

* feat: add harmony tool-call parser for gpt-oss models

* feat: stream harmony frames and decouple dialect from tool-call activation

* test: add harmony unit coverage for parser and normalizer

* chore: consolidate tool examples under examples/tools/

* doc: clarify emitThinking capture-gating contract

* chore: remove conflict markers

* feat[mod]: sync sdk model registry to bergamot base-memory and drop deprecated marian opus (#1903)

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  #1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by #1680.
- Auto-generated by `bun update-models`.

* chore[skiplog]: release sdk 0.10.1

---------

Co-authored-by: Simon Iribarren <simon.ig13@gmail.com>
Proletter pushed a commit that referenced this pull request May 24, 2026
…eprecated marian opus (#1903)

- Bumps BERGAMOT_EN_IT and BERGAMOT_ES_EN to the base-memory variant at
  bergamot-{enit,esen}/2026-04-28/. Fixes leading "- " hallucinations on
  short inputs and en->it quality regression (registry seed updated in
  #1785, synced to DHT 2026-05-05).
- Drops 32 deprecated Marian Opus entries (NMT_Q0F16*, NMT_Q4_0*)
  auto-deprecated by #1680.
- Auto-generated by `bun update-models`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test-e2e-smoke Triggers smoke e2e test suite [Currently SDK-only] tier1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants