Conversation
Registers the DSpark 3-stage speculative drafter (`deepseek-v4-flash-dspark.mq2lloyd`) as a companion of deepseek-v4-flash so `hipfire pull` fetches it next to the weights, and the deepseek4 loader auto-discovers it via the existing `<stem>-dspark.<ext>` sibling convention (`--spec dspark`/auto prefers it over the in-trunk MTP head when present). - cli/index.ts: `dspark?` on ModelEntry + pull() download block (mirrors mtp) - cli/registry_loader.ts: `dspark?` on RegistryModelEntryV1 + validation - cli/registry.json, registry/v1.json: dspark sidecar entry (+ sha256/size in v1) and a desc note Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
`logits[0 * vocab + 2]` trips the deny-by-default `clippy::erasing_op` lint, failing the workspace clippy job (pre-existing on master, unrelated to the registry change but blocking green CI on this PR). Route the three row-major writes through a small `at(pos, tok)` index closure so the `pos * vocab + tok` intent is preserved without a literal `0 *`/`1 *`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Kaden-Schutt
added a commit
that referenced
this pull request
Jul 16, 2026
Rebased exact contributor head 650990a onto staging without modifying the contributor branch. A/B: deployed staging and the original PR both returned early when the base model already existed, leaving newly registered DSpark dark for existing users. Fix-forward dd83d96 makes registered companions run on fresh and repeat pulls. hipx Bun CLI validation: hipfire pull deepseek-v4-flash fetched 5,996,334,814 bytes; SHA-256 0ec4cdbadfd8f5b1e8eead5b864ec3ec2233839f266221e6111839efd5813375 matched registry/v1.json; repeat pull was idempotent. Tests: 80 Bun tests pass; targeted naive_sample_chain Rust tests 2/2 pass; diff check clean. No production kernel/dispatch changes and the registry addition is scoped to deepseek-v4-flash.
Collaborator
|
Folded into #534 as a cleanly rebased/cherry-picked delta on |
fivetide
pushed a commit
to fivetide/hipfire
that referenced
this pull request
Aug 29, 2026
Rebased exact contributor head 650990a onto staging without modifying the contributor branch. A/B: deployed staging and the original PR both returned early when the base model already existed, leaving newly registered DSpark dark for existing users. Fix-forward dd83d96 makes registered companions run on fresh and repeat pulls. hipx Bun CLI validation: hipfire pull deepseek-v4-flash fetched 5,996,334,814 bytes; SHA-256 0ec4cdbadfd8f5b1e8eead5b864ec3ec2233839f266221e6111839efd5813375 matched registry/v1.json; repeat pull was idempotent. Tests: 80 Bun tests pass; targeted naive_sample_chain Rust tests 2/2 pass; diff check clean. No production kernel/dispatch changes and the registry addition is scoped to deepseek-v4-flash.
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.
What
Registers the DSpark 3-stage speculative drafter as a companion of
deepseek-v4-flashin the CLI registry, so the runtime's existing DSpark support is actually reachable viahipfire pull/--spec dspark.The sidecar file (
deepseek-v4-flash-dspark.mq2lloyd, ~6.0 GB) is published in the model repo alongside the main + MTP files:https://huggingface.co/nwoolmer/hipfire-deepseek-v4-flash
Why
The deepseek4 loader already auto-discovers a
<stem>-dspark.<ext>sidecar next to the weights and prefers it over the in-trunk MTP head under--spec dspark/auto(seecrates/hipfire-arch-deepseek4/src/arch.rs). But nothing downloaded the file — the registry only knew about the main model and the MTP companion.hipfire pull deepseek-v4-flashwould fetch main + MTP, never DSpark, so the feature was dark for anyone pulling from the registry.Changes
cli/index.ts— adddspark?toModelEntry; add a DSpark download block inpull()mirroring the existing MTP one (non-fatal on failure; base model stays usable).cli/registry_loader.ts— adddspark?: RegistrySidecarV1toRegistryModelEntryV1and validate it (samevalidSidecargate asmtp/triattn).cli/registry.json(bundled) +registry/v1.json(canonical, withsha256+size_bytes) — add thedsparksidecar entry todeepseek-v4-flashand note it indesc.Verification
bun test cli/registry_loader.test.ts→ 22 pass / 0 fail (incl. the "v1 ⊇ bundled" superset invariant — bundled and v1 stay in sync).dsparkentry present in each;descupdated.hfq_dumpreports arch_id=9, 2376 tensors, spec-correct DSpark tensors (mtp.0.main_proj,mtp.2.markov_head.*,confidence_head.proj), and the remote blob's sha256 matches the local file bit-for-bit.No runtime/kernel changes — this is registry plumbing only.
🤖 Generated with Claude Code