Эх сурвалжийг харах

state doc: image build v2 (clone-at-pin) contract

Alexander Korolev 1 сар өмнө
parent
commit
3e63d19947

+ 34 - 0
specs/tech-architecture/glm53-recipe-state.md

@@ -846,3 +846,37 @@ should start ~20 min faster.
   reference for fork/tree improvement work ("improve our 2 node builds").
   reference for fork/tree improvement work ("improve our 2 node builds").
   Next 4x cells (which need all 4 nodes) require stopping the production
   Next 4x cells (which need all 4 nodes) require stopping the production
   lane — operator sign-off first.
   lane — operator sign-off first.
+
+## Image build v2: clone-at-pin (2026-09-06, operator direction)
+
+Operator verdict: regenerating tarballs on some machine is nonsense (the
+sources existed only on that machine — a fresh repo clone could not build).
+The r27 build has NO context tarballs:
+
+- `docker-images/glm53-jovian-r27/` — clone-at-pin build: the Dockerfile
+  clones vLLM/b12x/LMCache at pinned commits (versions.env `*_PIN` = SHA,
+  `*_TREE` = git tree hash, gates assert BOTH), builds sub-deps from the
+  pins the tree itself declares (fetch-deps.sh, grep-gated against the
+  tree's cmake), builds LMCache + cuMem interposer in-container, and keeps
+  the proven GB10 runtime (CUDA 13.2 aarch64 / torch 2.13.0 / flashinfer
+  0.6.17 — the same versions the r27 tree's requirements/cuda.txt asks for).
+- Fresh-clone reproducibility: `git clone` this repo, upload the 215 KB
+  context, `TAG=... bash build.sh` — everything else comes from GitHub at
+  pinned SHAs (verified locally end to end; b12x/lmcache fetch-by-SHA works,
+  branch-tip gates catch drift — LMCache's lock branch was already renamed
+  upstream, so pins are SHAs, branches are comments only).
+- Source contract = rtx6kpro r27 source.lock: vLLM
+  `integration/glm53-r27-release-20260906` @ 63a82f8d (tree f54cd9ca),
+  B12X @ e8ad299b (f3cd8a9e), LMCache @ 822330db (008ac3e0,
+  0.5.5.dev0+glm53cache.engine.822330db), FlashKDA @ 3b225bf2, cutlass
+  v4.4.2 + FA gitlink 62750a2b + MSA gitlink eb61c911, FlashMLA a8f794d1,
+  qutlass e74319e3, tml-fa4 b2068346, triton v3.5.1, DeepGEMM 8b1392b.
+  Wheels get deterministic versions via SETUPTOOLS_SCM_PRETEND_VERSION.
+- Where r27 lands vs our r18: new in the tree are LMCache (engine-driven
+  cache transfers), qualified DFlash2 support (dflash2 depth 7 via env),
+  2048-token GPU pages with public block 256 (the #646 geometry, now
+  qualified), recurrent-boundary prefix reuse, prefill compute sharing
+  (fairness engine), DCP full-cache prefill; eugr patch set retained
+  (idempotent, skips patterns that moved upstream).
+- Legacy: r12/r18 build dirs are staging-era, not rebuildable (tarballs
+  were context-only artifacts). Cleanup candidate once r27 qualifies.