| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d181734 commit 9924604
7 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,10 +3,11 @@ | |||
| 3 | 3 | **Read `REVIEW_COMMON.md` (repo root) first — its contract binds this checklist.** Architecture doc: | |
| 4 | 4 | `ARCHITECTURE.md`. Planned work: `followup_general.md`, `followup_vulkan.md`. | |
| 5 | 5 | ||
| 6 | - **`tests/` and `performance/` carry their own checklists, and they govern by KIND, not | ||
| 7 | - location:** a dasLLAMA `[test]` file, wherever the diff puts it, answers to this module's | ||
| 8 | - `tests/REVIEW.md`; an exchange, provenance-manifest, or measuring-rig change answers to its | ||
| 9 | - `performance/REVIEW.md`. | ||
| 6 | + **`tests/`, `benchmarks/`, and `performance/` carry their own checklists, and they govern by | ||
| 7 | + KIND, not location:** a dasLLAMA `[test]` file, wherever the diff puts it, answers to this | ||
| 8 | + module's `tests/REVIEW.md`; a bench-rig or lab change answers to `benchmarks/REVIEW.md`; an | ||
| 9 | + exchange, provenance-manifest, or measuring-rig change answers to its `performance/REVIEW.md`. | ||
| 10 | + A kind-routed file applies BOTH its checklist and this one. | ||
| 10 | 11 | Kind-routed companions sit beside this file: a GPU kernel, driver, dispatch-class, or | |
| 11 | 12 | K/V-mirror change applies `REVIEW_GPU.md`; an audio or ASR change `REVIEW_AUDIO.md`; a vision | |
| 12 | 13 | or media change `REVIEW_VISION.md`. A change to what the tune sidecar emits, wherever it | |
@@ -57,7 +58,8 @@ value feeds logic is marked `// clock: control`. The rails, and where free-hand | |||
| 57 | 58 | legal, are `ARCHITECTURE.md` §2.10. | |
| 58 | 59 | ||
| 59 | 60 | **Every new kernel or mid-runtime loop is COVERED by an annotated region entry** — `[hot_path]`, | |
| 60 | - or any of the `[no_alloc]` / `[no_env]` / `[no_io]` contracts. Covered means an annotated entry | ||
| 61 | + any of the `[no_alloc]` / `[no_env]` / `[no_io]` contracts, or `[cold_path]` on its only | ||
| 62 | + reaching entry (a one-time transform is covered by being declared cold). Covered means an annotated entry | ||
| 61 | 63 | reaches it: the contracts arm down the call graph, so an interior function carries nothing of | |
| 62 | 64 | its own. A region entry is a KERNEL `*_encode` / `*_decode` / step driver; the tokenizer | |
| 63 | 65 | encode/decode path is out of scope (`ARCHITECTURE.md` §2.11). | |
@@ -176,8 +178,8 @@ below are the checklist's own). | |||
| 176 | 178 | **When placement rules disagree on one function, `ARCHITECTURE.md` §1's charter decides; a | |
| 177 | 179 | diff that adds or moves such a function lands the charter line with it.** | |
| 178 | 180 | ||
| 179 | - **A KV-cache store, read, score dot, or V-accumulate lands in `dasllama/dasllama_kv_codec.das`, its | ||
| 180 | - format family kept whole.** | ||
| 181 | + **A CPU KV-cache store, read, score dot, or V-accumulate lands in `dasllama/dasllama_kv_codec.das`, | ||
| 182 | + its format family kept whole.** GPU twins land in their backend kernel file. | ||
| 181 | 183 | ||
| 182 | 184 | **A pre-tokenizer split lands in `dasllama/dasllama_pretok.das`; a merge algorithm in its backend file | |
| 183 | 185 | (`dasllama/dasllama_spm.das` / `dasllama/dasllama_bpe.das`).** | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,7 +1,9 @@ | |||
| 1 | 1 | # dasLLAMA audio and ASR rules | |
| 2 | 2 | ||
| 3 | - **Routed from `REVIEW.md`: a diff touching `dasllama_asr.das`, `dasllama_audio.das`, or an ASR | ||
| 4 | - family file applies this list with the master's.** `REVIEW_COMMON.md` (repo root) binds this | ||
| 3 | + **Routed from `REVIEW.md`: a diff touching `dasllama_asr.das`, `dasllama_audio.das`, or a | ||
| 4 | + family file (`dasllama_whisper.das`, `dasllama_qwen3a.das`, `dasllama_parakeet.das`, | ||
| 5 | + `dasllama_canary.das`, `dasllama_gemma4a.das`) applies this list with the master's; a GPU ASR | ||
| 6 | + file applies `REVIEW_GPU.md` too.** `REVIEW_COMMON.md` (repo root) binds this | ||
| 5 | 7 | file too. | |
| 6 | 8 | ||
| 7 | 9 | **A verb arm in `dasllama_asr.das` is one forwarding call.** A new family touches the facade | |
@@ -11,9 +13,9 @@ prompt, a decode loop, a caps value, or a language rule in the facade is a defec | |||
| 11 | 13 | **A GEMM in a family file goes through a `*_mm` wrapper or `mm_blob_b`.** A hand-written | |
| 12 | 14 | dot-product loop beside them is a defect. | |
| 13 | 15 | ||
| 14 | - **Every `*_encode` and `*_log_mel` in `dasllama_audio.das` and the family files carries | ||
| 15 | - `[hot_path]` and lints at zero.** Reused buffers take `@scratch`, debug and profiling legs | ||
| 16 | - `[cold_path]`; a nolint where either fits is a defect. | ||
| 16 | + **Every mel frontend and every encoder entry point in `dasllama_audio.das` and the family | ||
| 17 | + files lints at zero.** Reused buffers take `@scratch`, debug and profiling legs | ||
| 18 | + `[cold_path]`; a nolint where either fits is a defect (region coverage is the master's rule). | ||
| 17 | 19 | ||
| 18 | 20 | **A mel frontend builds on the FFT-plan machinery in `dasllama_audio.das`.** A hand-rolled DFT | |
| 19 | 21 | in a family file is a defect. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11,7 +11,7 @@ Read the generated `*_msl` global or the SPIR-V dump and confirm the constant is | |||
| 11 | 11 | kargs (kernel-argument struct) type at the same binding numbers**, even where one twin | |
| 12 | 12 | ignores a field; shifting the other twin's fields to different slots is a defect. | |
| 13 | 13 | ||
| 14 | - **Kernel twins share a template.** Same-body single/batch or format twins stamp one | ||
| 14 | + **Kernel twins share a template.** Two kernel classes whose bodies differ on one stamp axis are twins, whatever the axis (single/batch, format, single-pass/chunked); they stamp one | ||
| 15 | 15 | `class template`: body divergence rides a stamp axis (`@template_constant`, or an overridden | |
| 16 | 16 | method spliced flat at emission), a stamp-varying binding rides `@template_gate`. A | |
| 17 | 17 | copy-pasted twin, or a dummy-bound field where a gate serves, is a defect. | |
@@ -72,7 +72,9 @@ is NEGOTIATED, not where it binds.** The bind site cannot shrink a buffer that w | |||
| 72 | 72 | **A change to `dasllama_metal_decode.das`, `dasllama_metal_prefill.das`, | |
| 73 | 73 | `dasllama_gpu_resident.das`, `dasllama_vulkan_decode.das`, or `dasllama_vulkan_prefill.das` | |
| 74 | 74 | ships with `harness/parity.das` GPU-vs-CPU runs on one q8 and one kq model, with `--kv` | |
| 75 | - matching the armed mirror codec.** The Metal arm is `--ngl`; the vulkan arm is | ||
| 75 | + matching the armed mirror codec; a change to `dasllama_metal_asr_dec.das` ships the | ||
| 76 | + image-suite `mtower` arm run (its CPU-vs-GPU transcript cells are that driver's parity | ||
| 77 | + instrument).** The Metal arm is `--ngl`; the vulkan arm is | ||
| 76 | 78 | `DASLLAMA_GPU=1`, never `--ngl`, and its driver declines codec-mismatched sessions silently, | |
| 77 | 79 | so that log must show `resident driver armed`. | |
| 78 | 80 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,10 +3,10 @@ | |||
| 3 | 3 | **Read `REVIEW_COMMON.md` (repo root) first — its contract binds this checklist.** Architecture | |
| 4 | 4 | doc: `../PROFILE.md`. | |
| 5 | 5 | ||
| 6 | - **No new file produces record-grade model timing — a benchmark's self-measured time that | ||
| 7 | - enters `../performance/records/<box>.json` or `../PERF_LEDGER.md`.** Model-level time is measured by | ||
| 8 | - `../performance/gen_profile.das` and `../performance/gen_bench_records.das`, both spawning | ||
| 9 | - `lcpp_bench.das` here; a one-off measurement script or a revived rig is a defect. | ||
| 6 | + **Record-grade model timing — a self-measured time entering `../performance/records/<box>.json` | ||
| 7 | + or `../PERF_LEDGER.md` — comes only from `lcpp_bench.das` spawned by | ||
| 8 | + `../performance/gen_profile.das` or `../performance/gen_bench_records.das`.** Any other | ||
| 9 | + producer, new or edited, is a defect. | ||
| 10 | 10 | ||
| 11 | 11 | **A kernel A/B lab answers which of two kernel variants to adopt, by timing both interleaved | |
| 12 | 12 | in one process with one instrument.** Before any timing counts, both arms must produce | |
@@ -15,7 +15,11 @@ stay out of `../performance/records/<box>.json` and `../PERF_LEDGER.md`. | |||
| 15 | 15 | ||
| 16 | 16 | **An out-of-process observer — a script that measures a benchmark process from outside — | |
| 17 | 17 | measures only what a process cannot measure about itself; those numbers may enter | |
| 18 | - `../PERF_LEDGER.md`.** Wall-clock timing of a foreign reference binary does not qualify — | ||
| 19 | - the observer license covers gaps in a benchmark's self-measurement, and a foreign binary is | ||
| 20 | - not one of this folder's benchmarks. An estimate formed by subtracting one measured wall | ||
| 21 | - from another prints both raw walls, not only the difference. | ||
| 18 | + `../PERF_LEDGER.md`.** The observer license covers gaps in a benchmark's self-measurement. | ||
| 19 | + | ||
| 20 | + **Foreign reference timing enters `../performance/records/<box>.json` only through | ||
| 21 | + `../performance/gen_bench_records.das`'s reference passes;** any other foreign-binary wall | ||
| 22 | + time in a record or the ledger is a defect. | ||
| 23 | + | ||
| 24 | + **A number derived by subtracting one measured wall from another prints both raw walls, not | ||
| 25 | + only the difference.** | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,24 +10,23 @@ A tune-sidecar emission change lives in the dasLLVM tune rail and answers to | |||
| 10 | 10 | tune sidecars — and stays engine-free.** A second validator, or a dasLLAMA/dasLLVM require | |
| 11 | 11 | added to it, is a defect. | |
| 12 | 12 | ||
| 13 | - **A change to what `write_bench_records` (`profile_common.das`) emits keeps | ||
| 14 | - `modules/dasLLAMA/tests/test_exchange_schema.das` green in the same change.** | ||
| 13 | + **A change to the fields `write_bench_records` (`profile_common.das`) writes keeps | ||
| 14 | + `modules/dasLLAMA/tests/test_exchange_schema.das` AND | ||
| 15 | + `modules/dasLLAMA/tests/test_bench_records_schema.das` green in the same change.** | ||
| 15 | 16 | ||
| 16 | 17 | **`exchange_client.das` is the single exchange client — every HTTP call to the sidecar exchange | |
| 17 | 18 | (lookup, download, submit) goes through it.** A second HTTP path is a defect. | |
| 18 | 19 | ||
| 19 | - **Everything downloaded from the exchange passes the client-side gate — content sha, schema, | ||
| 20 | - `DASLLAMA_VERSION` — before anything reads it.** | ||
| 21 | - | ||
| 22 | - **Every submission goes through `exchange_strip_private`; exchange-sourced and foreign-box | ||
| 23 | - sidecars are never submitted.** A submission around the strip is a defect. | ||
| 20 | + **Weakening the exchange download gate or the submission strip | ||
| 21 | + (`utils/dasllama-server/test_exchange_client.das` enforces both) is a defect** — and a | ||
| 22 | + submission path around `exchange_strip_private` is one even where the strip itself is intact. | ||
| 24 | 23 | ||
| 25 | 24 | **A lookup failure never kills a boot.** A boot path that fails when the exchange lookup | |
| 26 | 25 | fails is a defect. | |
| 27 | 26 | ||
| 28 | - **`fetch_models.das` is the model-provenance manifest** — an entry is the HF repo + revision | ||
| 29 | - pin, canonical bytes + sha256, or a conversion recipe. A model referenced anywhere without | ||
| 30 | - its entry is a defect. | ||
| 27 | + **`fetch_models.das` is the model-provenance manifest; a model referenced anywhere without | ||
| 28 | + its entry is a defect.** A downloaded entry carries the source URL, canonical bytes, and | ||
| 29 | + sha256; a converted entry carries its conversion recipe. | ||
| 31 | 30 | ||
| 32 | 31 | **`fetch_models.das --fetch` downloads only.** A convert, a bench, or a tune-state write | |
| 33 | 32 | added to it is a defect. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -19,7 +19,7 @@ for the guard, is a defect. | |||
| 19 | 19 | **A `[test]` file that requires any `dasllama/*` module lives in this folder.** Out-of-folder | |
| 20 | 20 | instances are ledgered in `CLAUDE.md`'s "Out-of-folder test files" note. | |
| 21 | 21 | ||
| 22 | - **No dasLLAMA test appears in any `CMakeLists.txt`.** | ||
| 22 | + **A test file in this folder is registered in no `CMakeLists.txt`.** | ||
| 23 | 23 | ||
| 24 | 24 | **A suite-less file's `CLAUDE.md` entry is accurate in the same change** — added when the file | |
| 25 | 25 | is added, corrected when what it covers is renamed or re-scoped. | |
@@ -56,23 +56,23 @@ bytes; "the model still runs" is not that test. | |||
| 56 | 56 | naming the `ggml-vocab-*.gguf` fixture; a corpus case asserts exact reference ids AND lossless | |
| 57 | 57 | round-trip.** | |
| 58 | 58 | ||
| 59 | - **Every test that compares generated tokens, ids, or logits logs the decoded text for both | ||
| 60 | - sides.** A red, or a suspicious green, must be readable as text in the log, not only as an id | ||
| 61 | - or float difference. | ||
| 59 | + **Every test that compares generated tokens, ids, or logits logs the decoded text for BOTH | ||
| 60 | + sides as `eyeball:` lines.** A red, or a suspicious green, must be readable as text in the | ||
| 61 | + log, not only as an id or float difference. | ||
| 62 | 62 | ||
| 63 | 63 | **A new GPU kernel ships with a small model in the kernel coverage suite** that dispatches it. | |
| 64 | 64 | ||
| 65 | 65 | **A kernel-unit arm compares its kernel against a CPU oracle.** A GPU-vs-GPU arm is allowed only | |
| 66 | 66 | for cross-dispatch bit-identity no CPU oracle can witness, and then its output buffers are | |
| 67 | 67 | prefilled with a sentinel. | |
| 68 | 68 | ||
| 69 | - **A kernel-unit arm whose output plane is its input plane pairs its compare with a liveness | ||
| 70 | - check** — an in-place kernel that never ran leaves the input, which can wrongly satisfy a | ||
| 71 | - tolerant compare. | ||
| 69 | + **A kernel-unit arm whose output plane is its input plane pairs its compare with an assert | ||
| 70 | + that the output differs from the input at a known index, unless the CPU oracle it compares | ||
| 71 | + against differs from the input by construction** — an in-place kernel that never ran leaves | ||
| 72 | + the input, which can wrongly satisfy a tolerant compare. | ||
| 72 | 73 | ||
| 73 | - **Every ASR family has a token-for-token oracle cell — one comparing a transcript against a | ||
| 74 | - reference leg, external dump or CPU control alike — and every such cell logs its transcript as | ||
| 75 | - an `eyeball:` line.** An id-only comparison is a defect. | ||
| 74 | + **Every ASR family has a token-for-token oracle cell** — one comparing a transcript against a | ||
| 75 | + reference leg, external dump or CPU control alike (the logging rule above covers its text). | ||
| 76 | 76 | ||
| 77 | 77 | **A real model file, mmproj, or image fixture a test in this folder loads has its | |
| 78 | 78 | `../performance/fetch_models.das` entry**, or a convert script checked in beside that | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,21 +3,23 @@ | |||
| 3 | 3 | **Read `REVIEW_COMMON.md` (repo root) first — its contract binds this checklist.** Architecture doc: | |
| 4 | 4 | `README.md`. | |
| 5 | 5 | ||
| 6 | - **Every shell command shown on a page runs verbatim and produces the result the page shows.** | ||
| 7 | - A command, flag, or output line invented for illustration is a defect; if the implementation | ||
| 8 | - does not exist yet, the page does not show the command. | ||
| 6 | + **Every AUTHORED shell command shown on a page runs verbatim and produces the result the page | ||
| 7 | + shows.** A command, flag, or output line invented for illustration is a defect; if the | ||
| 8 | + implementation does not exist yet, the page does not show the command. A DATA-RENDERED command | ||
| 9 | + (a record row's receipt) is the argv the harness executed for that measurement — per RUN, so | ||
| 10 | + one receipt line stands beside every clip of its run. | ||
| 9 | 11 | ||
| 10 | 12 | **Every code sample shown on a page compiles and runs with the current toolchain.** daslang | |
| 11 | 13 | samples are gen2 and compile with the current binary; no pseudo-code presented as code. | |
| 12 | 14 | ||
| 13 | - **A test under `site/tests/playground/` that needs the daslang runtime carries `@wasm` in its | ||
| 15 | + **A test under `tests/playground/` (this folder) that needs the daslang runtime carries `@wasm` in its | ||
| 14 | 16 | title.** The per-PR lane stages the site without WASM artifacts and runs the suite with | |
| 15 | 17 | `--grep-invert '@wasm'` (`playground-e2e.yml`), so an untagged runtime-dependent test fails | |
| 16 | 18 | every PR. | |
| 17 | 19 | ||
| 18 | - **A change to the deployed playground sources — `site/playground/`, `web/examples/ui/src/`, or | ||
| 20 | + **A change to the deployed playground sources — `playground/` (this folder), `web/examples/ui/src/`, or | ||
| 19 | 21 | `web/examples/ui/samples/` — ships with a stated run of the WASM-staged Playwright suite** | |
| 20 | - (`site/tests/playground/`), naming the result — passes and any failures — in the PR body or | ||
| 22 | + (`tests/playground/`), naming the result — passes and any failures — in the PR body or | ||
| 21 | 23 | commit message. The run also names its runtime artifacts: built from this change when the | |
| 22 | 24 | change feeds `web/output/daslang_static.*`, the deployed ones otherwise. The no-WASM lane | |
| 23 | 25 | cannot see a broken runtime path, and every sample on the page runs through that path. | |
@@ -26,9 +28,9 @@ cannot see a broken runtime path, and every sample on the page runs through that | |||
| 26 | 28 | measurement record; anything else is a placeholder and carries an HTML comment naming it as | |
| 27 | 29 | one.** A placeholder that could be mistaken for a fact is a defect. | |
| 28 | 30 | ||
| 29 | - **The `dl-*` measurement-table language's source of truth is `files/dasllama-table.css`** | ||
| 30 | - (the file dasllama.io loads). `dasllama.html` does not link it — it carries an inline mirror — so a | ||
| 31 | - `dl-*` change updates the source AND `dasllama.html`'s inline copy together; changing only one is a defect. | ||
| 31 | + **A `dl-*` selector defined in BOTH `files/dasllama-table.css` (the file dasllama.io loads) | ||
| 32 | + and `dasllama.html`'s inline copy keeps identical bodies — changing only one is a defect.** | ||
| 33 | + Page-only components live in `dasllama.html` alone, dasllama.io-only ones in the css alone. | ||
| 32 | 34 | ||
| 33 | - **News entries state real, shipped events.** An entry in `_news/*.md` for something not yet | ||
| 35 | + **News entries state real, shipped events.** An entry in `_news/*.md` (this folder's news dir) for something not yet | ||
| 34 | 36 | true at publish time is a defect. | |
| Back | FazBrowse Home | New Git URL |
0 commit comments