Skip to content

DS41RT v10

Choose a tag to compare

@tpurtell tpurtell released this 21 Sep 17:38
· 59 commits to main since this release

DS41RT v10 release notes

STATUS: PUBLISHED. The v10 images are built, published to GHCR as v10 and
latest, and each role was pulled anonymously with a fresh DOCKER_CONFIG and
no host credentials, returning the digests stated below. Model weights are
host-mounted and are never in the images.

What v10 changes

  • Promotes the runtime default to the v10 pair. ds41rt.config, the five
    older native examples/configs/* files and the README.md pull/pair lines name
    :v10. The two v10 TP3 profiles (tp3ep1-native.config,
    exl3-compact-tp3.config) were already at :v10 and are no longer exempt from
    published-pair equality.
  • Does not switch the checkpoint. v10 serves the same native
    deepseek-ai/DeepSeek-V4.1-Flash revision; the release change is the image pair
    and the runtime default that names it, not a new model or quantization.
  • Keeps the universal Spark role set. The Spark image advertises
    io.ds41rt.v41.spark_tp_roles=tp2;tp3;tp6 on top of the default TP4 shard, so
    one pair serves every approved native topology and ./run.sh selects the role
    from SPARK_TP.
  • Ships the v10 TP3 profiles and their measured reports (below). Packaging is
    not qualification: each report's own status banner governs.

Images and source identity

Artifact Tag Arch Registry digest
Coordinator ghcr.io/tpurtell/ds41rt-coordinator:v10 amd64 sha256:2236d94317eb393cd78940efb117bcca14ae06e6d1113c6aeb188b0b22424689
Spark expert ghcr.io/tpurtell/ds41rt-spark-expert:v10 arm64 sha256:98ddf9cd83626d92297169b04561b722d136de27ac8213a1a9f5702ebe40ec30

v10 and latest resolve to the same digest per role. The digests are the
registry's own Docker-Content-Digest responses; the coordinator (an amd64 OCI
index) was re-verified by an anonymous pull on the amd64 host, and the Spark image
(a single arm64 manifest) on the arm64 worker kiwi, because an amd64 host cannot
pull the arm64 manifest.

  • Image source commit 3dd9a4ac2be9fd17ecf4cb8b7746efdc900d38f0 (bare, no
    -dirty-), version v10, role labels coordinator / expert, CUDA arch 120
    / 121, SparkInfer 4b0954148523b5a2e93813f963d483ffd350b9c9, XGrammar
    557becfb64c503ae9c04344b0047661f43f44320.
  • Local build identity at that commit: coordinator image
    sha256:2236d94317eb393cd78940efb117bcca14ae06e6d1113c6aeb188b0b22424689; Spark
    image sha256:d1b668cd7e87079b5b57e381bdd45dfb4858646533611f18f22061f58ae18dec
    on all four workers (the local Spark id is the config digest; the registry
    reports the manifest digest, which is not expected to be equal).
  • Dist artifacts and labels verified inside the running containers:
    runs/v10-release/build/ (including RUN-SUMMARY.md,
    10-label-assertions.txt, 10-dist-artifact-verification.txt); dist/SHA256SUMS
    verifies clean over 28 entries and is attached to this release.

v10 TP3 reports (measured, published)

  • Official native TP3EP1 1x/3-Spark — INCOMPLETE / INFORMATIONAL. 309 / 359
    expected performance records and 88 / 264 tool-eval scenario-runs, measured on
    the pre-KV_POOL_SIZE-pin profile. Published as measured and incomplete; it is
    not a formal release qualification.
    report
  • Compact EXL3 TP3 1x/3-Spark — MEASURED, strict PASS. 359 / 359 expected
    performance records and 264 / 264 tool-eval scenario-runs, with 0 retained
    non-capacity and 0 capacity-gated failures. Its network and change-threshold
    cells remain explicitly PENDING. Pass is not a release-readiness claim.
    report
  • campaign status

The headline table in README.md keeps the historical v6/v7/v8/v9 columns
unchanged; v10 does not re-campaign the official default.

Rollback

  • Pre-push latest was the v9 pair (coordinator index
    sha256:786d1d6704e4cdaaf12ae59f5324bb1a43ce2238c9ec79ff7884fd3c83e8eb7f,
    Spark manifest
    sha256:f0c67407adb4228200c1fcb97e3f7210501db120d1e1ee11697f66cfb1ca4ea9).
    Re-point latest at those digests to roll the consumer-facing tag back.
  • A bad v10 is corrected by publishing v10.1 and promoting it; do not
    overwrite or delete the published v10 manifest.
  • Full ordering, evidence and rollback live in
    docs/release-v10-checklist.md.