Skip to content

release 15 - the board stops invalidating daily; the M5/M4 re-mint on one pin, serve cards, and the news - #3909

Merged
borisbat merged 17 commits into
masterfrom
bbatkin/release-remint
Aug 31, 2026
Merged

release 15 - the board stops invalidating daily; the M5/M4 re-mint on one pin, serve cards, and the news#3909
borisbat merged 17 commits into
masterfrom
bbatkin/release-remint

Conversation

@borisbat

Copy link
Copy Markdown
Collaborator

The release split

DASLLAMA_VERSION becomes DASLLAMA_RELEASE (value stays 15). The bump duty flips from "any kernel work bumps it" to "bumped only on a declared release" - a maintainer ruling that bench comparability is broken, recorded in LAWS.md - so tune sidecars, board rows, and the exchange stay valid across routine kernel work. Wire and schema field names keep the dasllama_version spelling (the release number now rides them; no schema break), pinned by version_key= on the tune scope with a textual gate. Per-change invalidation stays with the finer mechanisms (IMAGE_VERSION, the reflected layout fingerprint); per-kernel identity hashes are ledgered as followup 58.

The arc-end board re-mint (ref pin b10659)

Fresh tune manifests minted under the release scope on a quiet box (37/40 winners identical to the prior generation; LKG refreshed), then the full M5 board: text CPU/accel/Metal, image, audio - every cell behind the per-row parity pregate. The M4 canary rows re-mint on the new Q8_0 serving artifact, and the Efficiency-tier gate is proven live on both boxes: M5 pool 18 lanes spanning Super+Performance, M4 live: 10 dispatch lanes with the efficiency cores excluded. M1 rows stand as the long-term record; its canary rows retire with the deleted f16 decoder artifact (the box runs no more sweeps by ruling).

Sweep reds, all closed under the two-tier rule (a FAIL stops the sweep; a perf red is fixed after and only the red cells re-profiled):

  • gpt-oss-20b Metal pp halved against the pre-merge row: a stale hand-bound race arm bound the mx4 tensor twin at 2/3 where its class declares xf@3, y@4, so the arm read its own output as X and un-crowned the correct twin. Rebound, re-raced, re-profiled with the fix in the built exe - the committed 3995.1 cell is the post-fix reading (the fix and the record land in one commit, which is why the row's stamp predates the commit carrying both).
  • The canary NeMo reference leg produced garbage: the reference mutates its prompt list in place, degenerates under set_num_threads on MPS, and a shared recovery file laundered another tool's rows. All three fixed; a DEGENERATE rep guard discards sub-8-id reps.

Figure provenance: all figures in this PR: performance/records/m5.json / m4.json, minted 2026-08-30 (the m4 canary rows stamp 2026-08-31 - the box clock runs UTC+3) on the b10659 ref pin; img:enc/asr: figures are lcpp_bench --image/--asr board cells against the reference cli/torch legs.

Commit-stamp re-stamp (the records reachability rule's second clause): four pre-rebase stamps re-stamped to byte-identical reachable twins (git diff --stat old new -- modules/dasLLAMA/ = 0 lines each): fa67fe165 to 345dcd6, 82e45e0a3 to bbdcf8d, 366669a53 to f5417ba, 54595cfea to 77dfc24. The three content-addressed tune archives re-hashed and renamed, every tune_sha repointed; gen_site_records --verify OK.

Serving catalog + site

Two serve cards join the roster: Qwen3-VL-4B and Qwen2.5-Omni-3B, models and mmproj companions commit-pinned (each pinned url resolved live at pin time), gated by the catalog suite (16/16) and the control-page playwright suite (106/106, catalog_idle fixture re-captured from a live boot). The dasllama.io news entry announces M5 support with figures quoted from the committed records - including the one loss (canary gb1, 6484 ms beside the reference's 4383), which is the named next dig.

Coverage owed from the m5-image arc

Census tower rows for the arc's kernel families: qwen25v window ViT, qwen3v GPU stem, gemma4a Conformer whole-chunk, canary FastConformer, the gemma3v flash-off slab leg and the crowned twin-W leg - family-tagged, lane-pinned, and minting IN MEMORY via stage_*+mint_* (a pinned-lane disk bake GC-purges the serving lane's .dlim; the rule is now in tests/REVIEW.md). The census's assert-free dispatch-diversity design and its numeric fixture claims are ledgered in tests/CLAUDE.md - yes, ledgered; likewise the mx4 twin's binding divergence in ARCHITECTURE_GPU_PREFILL.md 2.2g.

The standalone-exe rail gets its gate: a serialized exe restores globals as data, so 14 function-typed globals gain boot-restore [init] guards, check_exe_fn_global_restore walks the folder per-diff (reverse control on base sources reports exactly the 14), and test_exe_smoke builds and runs a -jit -exe artifact end-to-end. The smoke's generate reaches the decode-claim trio; the rdec/ffn_xf seams are covered statically by the gate, and the Vulkan-armed parity proof is deferred to a Vulkan box (the hooks arrived from the parallel vulkan arc). The lens now refuses a [metal_dispatch] class with @workgroup members and no tgmem= at compile, with a spawned-compile must-red/must-compile fixture pair.

The review round

14 per-checklist auditors (11 walk checklists + the MEASUREMENT/GPU/TOWER routed companions), a worktree tdd audit, and two external reviewer rounds (both zero findings). Real catches applied: the floating mmproj urls (a red catalog gate), the news entry's unsupported cross-box claim, the crowned-lane test drift (the re-minted sidecar armed tensor crowns in suites for the first time - strict token-exact/rung cells now pin the simdgroup lane via the new pin_metal_tensor_crowns latch; followup 60 holds the open question), and the census dlim purge. The tdd audit's three cheap named gaps closed in-PR with must-red controls (the metal_served roster pin, serve-card presence pins, the version_key textual pin); the measurement-orchestrator branches ride the standing coverage-followup PR.

Suites green on the final tree: model-free (75 files), kernels, coverage, exchange/records/site schema gates, catalog + playwright. preflight --full ran once; its three reds were fixed and validated on targeted lanes (LINT027 split REVIEW_EXCHANGE.md out of the module checklist; two off-Apple LINT012 annotations; the interp/jit reds were chained-load transients - the same three files pass solo and both lanes pass clean on targeted rerun).

🤖 Generated with Claude Code

https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc

borisbat and others added 15 commits August 30, 2026 19:13
…ASLLAMA_RELEASE

The one constant conflated three invalidation scopes (tune sidecars, board/records
provenance, exchange validity) and was bumped on any kernel change, so every bump
voided the whole board and every box's sidecar. It is now DASLLAMA_RELEASE, bumped
only on a declared release - a maintainer ruling that bench comparability is broken.
Per-change invalidation stays with the finer mechanisms: IMAGE_VERSION and the
reflected layout fingerprint (dlims never read this constant - verified). Value stays
15, so every v15 artifact remains valid; wire names (dasllama_version in exchange
JSON, sidecar provenance via the new version_key= override on [tune_scope], bench
records) are schema-stable. REVIEW.md's kernel-work bump duty is replaced by the
declared-release rule; the per-entry kernel-hash hardening is ledgered as
followup_general 58. Also: CLAUDE.md's lint-opportunity routing now names REVIEW.das
gates for folder-owned patterns; the release_remint_plan.md arc plan lands with the
step-0 gate-candidate assessment.

Gates: model-free suite 74 files green; compile checks on the renamed roots.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…he msl fail-closed sync cell

[metal_dispatch] on a class with @Workgroup members now refuses at compile when
tgmem= is absent - the generated builder would bind ZERO threadgroup memory and the
kernel reads whatever length the encoder last had (the qk_rope bug class; it shipped
working only via sticky encoder state). All 93 @Workgroup classes at HEAD already
pass tgmem=, so this is pure prevention. Negative+positive controls ride
test_metal_misc_kernels as spawned compiles (the tgmem-less fixture must refuse with
the message; the tgmem= twin must compile).

modules/dasMetal/REVIEW.das grows check_fail_closed_sync (followup 45): the
tests/msl/_fail_closed fixture list and test_msl_fail_closed.das's check_rejects
asserts must match both directions - either drift is a finding (negative-controlled
both ways). REVIEW.md carries the weakening-residue rule.

Gates: kernels suite 7/7 files green (misc 4/4 incl. the new lens gate);
modules/dasMetal/REVIEW.das OK.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
Slice A (kernel coverage): cov_tower grows the gemma4a whole-chunk row (GPU mel +
convs + 12 Conformer blocks off raw samples), the canary FastConformer row (32
rel-pos XL blocks), the qwen25v single-window row (win-attn + row-gather), the
qwen3v GPU-stem row, the qwen3a mel now built from samples so the GPU mel hook
dispatches, the gemma3v flash-off leg (head_restride + the slab route rode only
sticky luck before) and the crowned twin-W leg (cvt_half + the half GEMMs). Every
target family verified dispatching in the census report.

Slice B (board plumbing): AsrModelSpec grows metal_served - the whisper pair,
canary, qwen3a, gemma4a and omni declare the end-to-end Metal serve on their
catalog rows; is_metal_served_family reads the flag (parakeet stays CPU by
measurement). The like-for-like GPU ref pairs extend beyond whisper-cli: mtmd
gets its -ngl 99 arm, nemo a torch-MPS --device arm (canary_qwen_bench.py).
The stale m1/m4 canary rows pinning the retired f16 decoder are removed (m1
retired by ruling - no more m1 runs; m4 re-mints on the q8 artifact in the
Efficiency-gate pass); site records regenerated.

Followup 45 stays resolved; followup 57 verified no-work (Plane length overloads
already return int64) and re-ledgered as such.

Gates: census suite green with all new rows dispatching; records/site/specs/
exchange schema tests 72/72.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
The 2026-08-30 entry: M5 as a first-class target - tensor-API kernels under the
per-box crowns, GPU vision towers and speech encoders, the hybrid all-compute
CPU pool - with the first official M5 Max board rows quoted from records/m5.json.
Regenerated index.html/feed.xml/sitemap.xml also catch the old entries up to
their ASCII-normalized _news sources (deploy output already matched).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
(cherry picked from commit 20ac6e6d3399ddc1da0d264028beaa2a6bcbfb24)
…d sibling

setup_asr_rig builds a build-metal llama-mtmd-cli beside build-cpu on Apple boxes
(the CPU-only build's -ngl is inert - a gpu ref leg through it would stamp a CPU
run under a metal label), profile_common resolves it (mtmd_bin_metal, empty =
the gpu leg skips loudly), and setup_lcpp_ref builds llama-mtmd-cli beside
llama-bench so the sibling rule resolves the image refs on a fresh box. Slice C
outcome + slice D predictions logged in the plan.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…tier boot-restore

A serialized exe restores globals as DATA, so function values arrive null unless a
boot-restore [init] heals them (dasllama_config's restore_dlim_source_defaults states
the law; dasllama_gpu_tier HAS such an [init]). The vulkan decode-mirror/ffn-tail arc
added 12 declaration-defaulted hook globals that never joined it, and put one -
g_moe_gpu_attn_dec_claim, via prefill_claim_mirrors - on the UNCONDITIONAL prefill
tail. Every standalone-exe forward died with 'invoke null function': all 10 board
text models refused at the parity pregate, the four decoder-gguf ASR families' cpu
and accel cells crashed, image cells never ran. No -jit gate could see it - script
mode runs the declaration initializers - which is why months of green suites proved
nothing about the exe rail. Found by git-bisect (first bad 4002388) + a staged
exe probe; the 12 join the restore.

test_exe_smoke joins the model-free suite: builds _exe_smoke_root.das with -jit -exe
and runs the artifact through a 4-token generate (negative-controlled: red on the
crash without the fix, green with it). SmolLM2 small tier; skips honestly without it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
The full re-mint on the b10659 pin: 10 text models (metal pp 1.07-1.23x / tg to 1.33x
ahead; the CPU board debuts vs clean-cpu with the MoE 32-row split at pp 1.60-1.68x,
accel to 1.82x), the image board with honest metal ref pairs at last (the patched
sibling), the full ASR board with GPU ref twins (das metal ahead of whisper-cli-metal,
mtmd-metal and nemo-MPS everywhere but the ledgered canary gb1 CPU front), and the
owed board cells: canary q8 decoder + Metal FastConformer, gemma4a/qwen3a metal
rails, and the qwen vision carriers - Qwen3VL-4B and Qwen2.5-Omni-3B verified 40/40
against the live oracle, flipped official, their image cells minted (the qwen25v
tower reproduces the arc: enc 106.0 vs 118.0 ms).

Red 1, gpt-oss pp halved (3989 -> 2047): the followup-53 scaffold migration
renumbered the mx4 tensor twin's x/y binds to the family contract (xf@3 y@4) and the
HAND-BOUND race arm kept 2/3 - the twin read the zeroed output buffer as X, the race
honestly measured garbage (maxdiff == maxref), refused the crown, and serving fell
to the simdgroup family. Race arm fixed, both manifests re-minted (moe_mulmm_mx4
tensor-crowned again), cell respotted: pp 3995.1 - the pre-merge number. Third
incident of the hand-bound-race class; the census opaque-dispatch gate is now the
priority lint candidate.

Red 2, the canary nemo ref: NeMo's generate mutates the prompt list in place (warm
reps degenerate to a 3-token stub) and torch.set_num_threads beside an MPS device
degenerates EVERY rep; the crashed cell then laundered a stale onnx row through the
rowless-pipe --out fallback, which never checked the tool. Bench rebuilds prompts
per rep, discards degenerate reps loudly, keeps the threads knob CPU-only; the
fallback is onnx-only. Honest rows: das metal 2.29x/2.02x ahead on jfk/jfk3, 0.68x
on gb1 (the ledgered CPU mel+subsample front).

Red 3 (onnx whisper 1/5 clips) closed by-design (single-window adapter, documented
SKIP). The two dasllama_math accel-override globals join a boot-restore [init]
(REVIEW.das gate green). Site records regenerated; records/site/specs gates green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…y gate proven live

The retired f16-decoder rows' replacement: canary requanted ON THE BOX (llama-quantize
Q8_0 per the recipe; a fresh build-quant dir - the old ref build's SDK path had gone
stale), the m4 sidecar re-minted by the release, and the cells landed with a WORKING
nemo torch-MPS twin: das metal 2.10x/2.19x ahead on jfk/jfk3, 0.79x on gb1 (the same
CPU mel+subsample front residue as the M5 row - one ledgered class, two boxes). The
tier-kind gate held live: M4's pool stays 10 lanes (the allowlist refuses the 4
E-cores; the live: real-lanes witness, not the regime intent line). One transient:
the sweep-context nemo ref degenerated every rep right after three das children
exited (the async-reclaim window) and the new DEGENERATE guard refused to record it -
a quiet-box rerun passed 6/6 reps; the guard turned what used to be silent garbage
timing into a loud retry.

Site records regenerated; records + site schema gates green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…arries the final board

Qwen3-VL-4B and Qwen2.5-Omni-3B get serve rows (commit-pinned urls per the serving
rule - resolve/main floats), each naming its mmproj companion, so dasllama-server's
/catalog offers the deepstack tower and the window-ViT tower alongside the gemma
line. The dasllama.io entry is rewritten on the re-minted board: every figure now
quotes a committed record row (E2B 9074/161 vs 7413/137, Qwen3.8-27B 914/27.8 vs
752/25.4, 30B-A3B 3753/166 vs 3422/137, gpt-oss 3995/163 vs 3477/149; 12B image
encode 7.1 vs 95 ms, the qwen25v window ViT 106 vs 118, whisper turbo jfk 140 vs 153),
with the M4 refresh and the M1 record named.

Gates: model-specs invariants 12/12, openai-server suite 21/21 (the catalog is a view
over the spec table, so the serve rows are gated there), site metadata 4/4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…rs section

The dasLLAMA harvester's ledger, ruled and landed: the recovery-file rule
(performance/REVIEW.md - a fallback names the tool that writes its file and reads it
for no other); ARCHITECTURE_MEASUREMENT.md sec.2.20 {#asr-gpu-pairs} (the metal_served
opt-in + anti-sandbag, the three GPU ref arms and the two pairless legs, the sibling
build + timing patch + Metal-ON twin) cited from build_flavor, gen_bench_records main
and mtmd_bin_metal; the scaffold-vs-family-tail binding-number fact appended to
ARCHITECTURE_GPU_PREFILL.md sec.2.2g and cited from race_moe_mulmm_mx4; comment
compressions and drops across the diff per the ledger; the two stale //! docs
(run_asr_mtmd gpu arm, asr_pybench_args device) extended; the mtmd_bin comment
restored onto its function; test_exe_smoke's census entry in tests/CLAUDE.md.
dasMetal's harvest: the gate-cell header drops (law lives in REVIEW.md + finding
strings), ARCHITECTURE.md gains Gate C in the test-gate inventory, and tests/msl's
needle rule shrinks to the machine-checked residue form.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…ry census mints

The per-checklist audit fan-out (14 auditors: 11 walk checklists + the MEASUREMENT/GPU/TOWER
routed companions) over the release-remint branch, every accepted finding applied:

Records: the four orphaned pre-rebase commit stamps re-stamped to byte-identical reachable
twins (rows' sha, three tune archives re-hashed + renamed with every tune_sha repointed, LKG
+ the in-tree bench sidecar); gen_site_records --verify OK, all schema gates green.

Serving catalog: the two new serve rows' mmproj companion urls commit-pinned (the catalog
gate was red on the floating /main/ refs); catalog_idle.json re-captured from a live boot (7
cards), playwright 106/106 after teaching two specs the vision-present behaviors.

Tests: the census tower rows gain family_on tags + lane pins and mint IN MEMORY via
stage_*+mint_* (a pinned-lane disk bake GC-purges the serving lane's .dlim - it broke
test_audio_embedder; new mint_gemma4a_encoder fills the one missing wrapper); the strict
whisper/gemma4uv cells pin the simdgroup lane through the new pin_metal_tensor_crowns latch
(the re-minted sidecar armed crowns in suites for the first time; a bare setter cannot hold
a lane - every load re-applies profile crowns; the trio's crown flags cache at prefill
init); the role fixtures gain their tgmem= (the new lens refusal fired ahead of the role
error); the exe smoke reads env through env_value_of and spawns Windows-safe.

Docs: news entry drops a false cross-box superiority claim and carries record provenance;
the checklist self-review repairs land across tests/benchmarks/performance/site/msl/server/
ladder/GPU/TOWER/MEASUREMENT (six exchange rules move to the module checklist, gate-enforced
rules collapse to weakening residue, enumerations become properties); followup 60 ledgers
the crowned-lane strict-parity question.

All three owed suites green on the final tree: model-free, kernels, coverage.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
… control

- test_asr_catalog_invariants pins the metal_served roster per row (the flag decides which
  rows get GPU board cells and which reference legs pair GPU-vs-GPU; flipping canary reds)
- test_model_catalog pins the four curated card names (the count floor alone let a whole
  card vanish green; renaming qwen3-vl-4b reds)
- test_exchange_schema pins the tune scope's version_of/version_key text (the rename's
  load-bearing compensator - llvm_tune exposes no runtime reader of the resolved key, so the
  pin is textual; blanking version_key reds)

Woodpecker round 2 at the prior tip: zero findings. TDD audit: 19 controlled branches, 12/12
test edits justified; the remaining measurement-orchestrator branches ride the standing
coverage-followup PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
…, two off-Apple lint nits

- LINT027: the six exchange rules moved into modules/dasLLAMA/REVIEW.md pushed it to 317
  lines - they now live in the routed REVIEW_EXCHANGE.md companion (the parent routes by
  trigger), 294 lines left
- LINT012 (linux mirror): the two sample-fed census rows annotate [unused_argument(t,
  samples)] - off-Apple the gated bodies are empty
- tests-interp / tests-jit reds were chained-load transients (three files erroring on
  builtins that resolve solo and on targeted lane reruns - both lanes PASS clean)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
- the Canary sentence now carries the gb1 pair (das 6484 ms beside the reference's 4383 on
  the M5) - the long-audio gap stands on the page next to the wins, and is named the next dig
- site/REVIEW.md's first receipt rule no longer contradicts its sibling: a rendered cmd
  identifies the RUN, and one run's cmd covers the several rows it produced (the ASR
  reference legs' per-clip rows)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LY6gNeDZkF14X81rLz3QLc
Copilot AI lite review requested due to automatic review settings August 31, 2026 06:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements dasLLAMA “release 15” rollout mechanics by decoupling the tune/sidecar/board staleness counter from routine kernel changes (DASLLAMA_VERSIONDASLLAMA_RELEASE), re-minting/re-stamping measurement artifacts accordingly, and extending the surrounding gates, tests, serving catalog, and site/news outputs to match the new release semantics.

Changes:

  • Rename and re-scope the engine versioning contract to DASLLAMA_RELEASE while keeping the wire/schema key dasllama_version stable.
  • Add/extend review gates and tests for (a) exchange + staleness pinning, (b) standalone -exe serialized-globals hazards, (c) Metal lens tgmem= enforcement, and (d) expanded tower/ASR coverage and catalog invariants.
  • Refresh serving catalog fixtures/specs and regenerate dasllama.io news/feed/sitemap content for the M5 announcement and updated provenance rules.

Reviewed changes

Copilot reviewed 79 out of 83 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
utils/internal/dasllama-ladder/REVIEW.md Update ladder checklist wording (record-store validation).
utils/internal/dasllama-ladder/README.md Align ladder README with wire stamp terminology.
utils/dasllama-server/tests/towers.spec.js Adjust tower-offer test to ignore capture-box stock state.
utils/dasllama-server/tests/fixtures/catalog_idle.json Refresh captured catalog fixture content.
utils/dasllama-server/tests/catalog.spec.js Expect image_mmproj in config when vision tower present.
utils/dasllama-server/test_model_catalog.das Add roster presence pins for key serve cards.
utils/dasllama-server/test_exchange_client.das Switch fixtures/tests to DASLLAMA_RELEASE while keeping wire key.
utils/dasllama-server/REVIEW.md Tighten fixture/Playwright capture rules wording.
utils/dasllama-server/README.md Document exchange apply gate using DASLLAMA_RELEASE.
tests/msl/REVIEW.md Rephrase fail-closed sync rule to point at gate check.
site/REVIEW.md Clarify receipt rule for shared-run cmd provenance.
site/LAWS.md Record ruling about receipt cmd identifying the run.
site-dasllama/sitemap.xml Update lastmod for deployment date.
site-dasllama/REVIEW.md Clarify “page” scope + comparative-claim and provenance rules.
site-dasllama/index.html Regenerate news section including M5 entry and punctuation tweaks.
site-dasllama/feed.xml Regenerate Atom feed with M5 entry.
site-dasllama/build_news.py Add LF-only writer helper for Python 3.9 compatibility.
site-dasllama/_news/2026-08-30-apple-m5.md Add M5 news source markdown entry.
plans/dasllama_io_site.md Mark old versioning decision as superseded by release split.
modules/dasMetal/REVIEW.md Update wording around fail-closed sync enforcement.
modules/dasMetal/REVIEW.das Add fail-closed fixture/assert sync gate.
modules/dasMetal/ARCHITECTURE.md Document new Gate C for fail-closed sync.
modules/dasLLAMA/tests/test_whisper.das Pin/restore tensor crowns and reset Metal cached flags in a strict cell.
modules/dasLLAMA/tests/test_metal_misc_kernels.das Add spawned-compile test for lens tgmem gate.
modules/dasLLAMA/tests/test_kernel_coverage.das Expand tower coverage rows; use stage+mint to avoid .dlim side effects.
modules/dasLLAMA/tests/test_gemma4uv.das Pin/restore tensor crowns for rung calibration stability.
modules/dasLLAMA/tests/test_exe_smoke.das Add end-to-end -jit -exe smoke test for serialized-globals rail.
modules/dasLLAMA/tests/test_exchange_schema.das Add textual pin test for tune scope version_key stability.
modules/dasLLAMA/tests/test_dasllama_lint_escape.das Update lint-escape test to reference DASLLAMA_RELEASE.
modules/dasLLAMA/tests/test_bench_records_schema.das Use DASLLAMA_RELEASE; pin metal_served roster invariants.
modules/dasLLAMA/tests/run.das Add new exe-smoke test to suite list.
modules/dasLLAMA/tests/REVIEW.md Clarify rules around image-rail loaders, knobs, and stage+mint under pins.
modules/dasLLAMA/tests/CLAUDE.md Document new tests and coverage-family token additions.
modules/dasLLAMA/tests/_role_fixtures/_rf_deva_wrong.das Add tgmem= to fixture dispatch annotation.
modules/dasLLAMA/tests/_role_fixtures/_rf_deva_read.das Add tgmem= to fixture dispatch annotation.
modules/dasLLAMA/tests/_exe_smoke_root.das Add exe smoke root program used by the test.
modules/dasLLAMA/REVIEW.md Update versioning rule to declared-release semantics; route exchange checklist.
modules/dasLLAMA/REVIEW.das Add gate to enforce boot-restore guards for function-typed globals.
modules/dasLLAMA/REVIEW_TOWER.md Broaden routed scope and clarify gate obligations around lens emission.
modules/dasLLAMA/REVIEW_MEASUREMENT.md Refine figure/provenance rules and scope boundaries.
modules/dasLLAMA/REVIEW_GPU.md Update GPU checklist to reflect lens tgmem refusal + binding-arm hazards.
modules/dasLLAMA/REVIEW_EXCHANGE.md Add dedicated exchange checklist companion.
modules/dasLLAMA/release_remint_plan.md Add arc plan and evidence ledger for the release/remint work.
modules/dasLLAMA/performance/setup_asr_rig.das Build Metal-ON mtmd reference sibling on Apple boxes.
modules/dasLLAMA/performance/REVIEW.md Adjust record hygiene rules; add catalog test coupling rule.
modules/dasLLAMA/performance/records/m1.json Remove retired M1 canary rows tied to deleted artifact.
modules/dasLLAMA/performance/profile_common.das Add metal_served flag; add mtmd Metal sibling support; refine pybench args.
modules/dasLLAMA/performance/model_specs.das Add serve cards and commit-pinned URLs for new models/mmprojs.
modules/dasLLAMA/performance/gen_bench_records.das Track measured-cell count; switch ASR GPU pairing logic; harden pybench recovery behavior.
modules/dasLLAMA/PERF_LEDGER.md Add external intel note entry with attribution context.
modules/dasLLAMA/LAWS.md Record maintainers’ rulings (release split, exe restore gate, measurement scoping).
modules/dasLLAMA/harness/tuner_noise.das Stamp release number under wire key dasllama_version.
modules/dasLLAMA/followup_general.md Update/resolve followups related to release scope and fail-closed sync.
modules/dasLLAMA/dasllama/dasllama_version.das Introduce DASLLAMA_RELEASE constant and updated documentation.
modules/dasLLAMA/dasllama/dasllama_metal_tower.das Add getters for tower f16/flash flags.
modules/dasLLAMA/dasllama/dasllama_metal_prefill.das Fix mx4 hand-bound race binding indices; add architecture citation.
modules/dasLLAMA/dasllama/dasllama_metal_lens.das Add compile refusal when @workgroup members exist without tgmem=.
modules/dasLLAMA/dasllama/dasllama_math.das Add boot-restore [init] guards for function-typed globals.
modules/dasLLAMA/dasllama/dasllama_math_gen.das Switch tune scope to DASLLAMA_RELEASE and pin wire version_key.
modules/dasLLAMA/dasllama/dasllama_gpu_tier.das Add additional boot-restore guards for function-typed globals.
modules/dasLLAMA/dasllama/dasllama_gemma4a.das Add stage+mint encoder helper to avoid disk image writes in suites.
modules/dasLLAMA/dasllama/dasllama_exchange.das Update exchange gating/logging to DASLLAMA_RELEASE.
modules/dasLLAMA/dasllama/dasllama_common.das Add crown pin latch + getter; prevent box-profile crowns overriding pins.
modules/dasLLAMA/BRINGUP.md Update bringup doc for declared-release staleness semantics.
modules/dasLLAMA/benchmarks/setup_lcpp_ref.das Ensure mtmd timing patch is applied; build mtmd target as sibling.
modules/dasLLAMA/benchmarks/REVIEW.md Consolidate race-proof rules; clarify scratch recovery-file constraints.
modules/dasLLAMA/benchmarks/lcpp_bench.das Stamp bench rows with DASLLAMA_RELEASE.
modules/dasLLAMA/benchmarks/asr/canary_qwen_bench.py Add device selection; fix prompt mutation and degenerate-rep handling.
modules/dasLLAMA/benchmarks/asr/_pybench_rows.txt Remove tracked recovery file (now gitignored scratch).
modules/dasLLAMA/ARCHITECTURE.md Update measurement doc index reference.
modules/dasLLAMA/ARCHITECTURE_MEASUREMENT.md Document ASR GPU pairing policy and tooling requirements.
modules/dasLLAMA/ARCHITECTURE_GPU_PREFILL.md Document binding-number divergence hazard for mx4 scaffold vs tail.
modules/dasLLAMA/ARCHITECTURE_ENGINE.md Update version constant semantics; describe exe global-restore gate.
LAWS.md Record repo-level ruling about REVIEW.das as a lint/gate landing place.
CLAUDE.md Update guidance on where to land “lint opportunities” (REVIEW.das vs daslib lint).
.gitignore Ignore ASR pybench recovery file path.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread modules/dasLLAMA/tests/test_metal_misc_kernels.das
Copilot AI review requested due to automatic review settings August 31, 2026 06:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 83 changed files in this pull request and generated no new comments.

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

utils/dasllama-server/tests/towers.spec.js:24

  • withVisionAbsent assumes the catalog fixture always contains the 'gemma-4-e2b' entry; if the fixture is re-captured without it (or the id changes), this helper throws a vague Cannot set properties of undefined instead of failing with a clear reason. Add an explicit guard with a descriptive error so fixture drift is diagnosed immediately.
    utils/dasllama-server/test_model_catalog.das:55
  • The presence-pin loop repeatedly calls model_catalog() inside the inner loop, re-building the catalog array for each wanted id. Cache the catalog once so the test is cheaper and asserts against a single snapshot of the roster.

Copilot AI review requested due to automatic review settings August 31, 2026 07:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 83 changed files in this pull request and generated 1 comment.

Comment thread utils/dasllama-server/tests/catalog.spec.js
@borisbat
borisbat merged commit 7eec29e into master Aug 31, 2026
37 checks passed
@borisbat
borisbat deleted the bbatkin/release-remint branch August 31, 2026 08:04
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.

2 participants