Skip to content

QVAC-22630 chore: release @qvac/model-fit 0.6.0 - #4008

Merged
simon-iribarren merged 1 commit into
release-model-fit-0.6.0from
chore/release-model-fit-0.6.0
Aug 24, 2026
Merged

QVAC-22630 chore: release @qvac/model-fit 0.6.0#4008
simon-iribarren merged 1 commit into
release-model-fit-0.6.0from
chore/release-model-fit-0.6.0

Conversation

@simon-iribarren

Copy link
Copy Markdown
Contributor

🎯 What problem does this PR solve?

@qvac/model-fit 0.5.0 is the published version, and #3930 has since merged to main — the disposable-process protocol v2, the completion/embedding load normalization behind it, and the review fixes that came out of it. None of it is installable yet.

📝 How does it solve it?

Bumps packages/model-fit/package.json to 0.6.0 and records the release in packages/model-fit/CHANGELOG.md. No source change.

A minor bump, not a patch or a breaking one:

  • It adds public surface — protocol v2 with an explicit loadKind, encodeFitLlamaProcessRequest, and the FitLlamaResult / FitLlamaReason types carrying the unsupported-config outcome.
  • Nothing published is removed or narrowed. FitResult gained unsupported-config and then lost it again inside QVAC-22630 feat[api]: add config normalization to model-fit addon #3930, both before release: index.d.ts on release-model-fit-0.5.0 already declares the status-2 reasons as 'model-unreadable' | 'no-backend-device', exactly what 0.6.0 ships. fitParams()'s contract is byte-identical to 0.5.0's.
  • Protocol v1 is unchanged and still accepted.

🧪 How was it tested?

Verified at the merge commit before cutting the branch:

  • ctest --test-dir build --output-on-failure — 3/3
  • npm run test:processprocess.test.js 21/21, llama-config.test.js 17/17 (328 asserts)
  • bare test/integration/fit.test.js — 27/27 against a real GGUF
  • npm run test:node — 2/2
  • npm run test:types — typecheck, declaration consumer and check:generated
  • npm run lint, clang-format, clang-tidy (0 user-code warnings)
  • CI on QVAC-22630 feat[api]: add config normalization to model-fit addon #3930 at its final head: 44 checks pass, including the full seven-runner desktop integration matrix under run-desktop-addon-tests.

This PR itself contains no source change, so it inherits that state.

🔌 API Changes

Additive. fitParams() and FitResult are untouched relative to 0.5.0.

import {
  encodeFitLlamaProcessRequest,
  parseFitProcessResponse,
  resolveFitProcessRunnerPath
} from '@qvac/model-fit/process'
import type { FitLlamaResult } from '@qvac/model-fit/process'

const request = encodeFitLlamaProcessRequest('completion', {
  modelPath: '/absolute/path/model.gguf',
  params: { device: 'gpu', 'ctx-size': '4096', 'gpu-layers': '40' },
  marginMiB: 1024
})

// Send `request` as the runner's single stdin line, then:
const response = parseFitProcessResponse(JSON.parse(line))
if (response.status === 'completed') {
  const result: FitLlamaResult = response.result
  // `unsupported-config` is advisory — it must never be used to deny a load.
}

The raw load-config fitter is deliberately not in-process public API: ./binding.js re-exports paramsFit only, and the runner reaches the fitter through the unexported ./binding-internal.js.

📦 Release

  • Base branch release-model-fit-0.6.0, cut from main at 975b36ea3.
  • Merging this triggers the GPR publish; the backmerge into main follows and triggers npm.

@simon-iribarren
simon-iribarren requested review from a team as code owners August 22, 2026 20:30
@github-actions

Copy link
Copy Markdown
Contributor

Review Status

Current Status: ❌ PENDING
Approvals so far: none

Pending reviews: Needs 1 Management or Team Lead, and 1 more from Management, Team Lead, or Member.

@github-actions

Copy link
Copy Markdown
Contributor

License compliance — clean

No new dependency license findings in this PR.

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./docs/website
  • ./packages/ggml-coload-smoke
  • ./packages/fabric/test/integration
  • ./packages/inference-addon-cpp/mobile
  • ./packages/sdk/e2e
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/vla-ggml/sim/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/asr-ggml/benchmarks/server

@simon-iribarren
simon-iribarren merged commit 4601c14 into release-model-fit-0.6.0 Aug 24, 2026
32 checks passed
@simon-iribarren
simon-iribarren deleted the chore/release-model-fit-0.6.0 branch August 24, 2026 15:12
simon-iribarren added a commit that referenced this pull request Aug 24, 2026
Resolves the conflict main created after this branch was cut, and reduces the
backmerge to changelog-only.

- packages/model-fit/package.json: keep main's 0.7.0. #3883 bumped main to
  0.6.0 for the fabric b10297 sync and #4028 renamed that to 0.7.0 precisely
  because #4008 was claiming 0.6.0 for protocol v2. Main is therefore ahead of
  the version being released, and a backmerge must not regress it.
- packages/model-fit/CHANGELOG.md: keep main's 0.7.0 section at the top and
  insert the released 0.6.0 section verbatim beneath it, so the history reads
  0.7.0, 0.6.0, 0.5.0 and main records the protocol-v2 release it was missing.
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.

3 participants