Files
wehub-resource-sync 426e9eeabd
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
ci / test (push) Has been cancelled
ci / lint-and-format (push) Has been cancelled
ci / build (push) Has been cancelled
ci / dev-startup (push) Has been cancelled
gitleaks / gitleaks (push) Has been cancelled
Markdown Links / Relative Markdown Links (push) Has been cancelled
Quality (Extended) / Homepage Build (PR smoke) (push) Has been cancelled
Quality (Extended) / Comment-only diff guard (push) Has been cancelled
Quality (Extended) / Format + Type Safety Ratchet (push) Has been cancelled
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Has been cancelled
Quality (Extended) / Develop Gate (lint) (push) Has been cancelled
Chat shell gestures / Chat shell gesture + parity e2e (push) Has been cancelled
Cloud Gateway Discord / Test (push) Has been cancelled
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Has been cancelled
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Has been cancelled
Build Agent Image / build-and-push (push) Has been cancelled
Dev Smoke / bun run dev onboarding chat (push) Has been cancelled
Dev Smoke / Vite HMR dependency-level smoke (push) Has been cancelled
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Has been cancelled
Publish @elizaos/example-code / check_npm (push) Has been cancelled
Publish @elizaos/example-code / publish_npm (push) Has been cancelled
Publish @elizaos/plugin-elizacloud / verify_version (push) Has been cancelled
Publish @elizaos/plugin-elizacloud / publish_npm (push) Has been cancelled
Sandbox Live Smoke / Sandbox live smoke (push) Has been cancelled
Snap Build & Test / Build Snap (amd64) (push) Has been cancelled
Snap Build & Test / Build Snap (arm64) (push) Has been cancelled
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Has been cancelled
Cloud Gateway Webhook / Test (push) Has been cancelled
Cloud Tests / lint-and-types (push) Has been cancelled
Cloud Tests / unit-tests (push) Has been cancelled
Cloud Tests / integration-tests (push) Has been cancelled
Cloud Tests / e2e-tests (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Apps Worker (Product 2) / Determine environment (push) Has been cancelled
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Has been cancelled
Deploy Eliza Provisioning Worker / Determine environment (push) Has been cancelled
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Has been cancelled
Dev Smoke / Classify changed paths (push) Has been cancelled
supply-chain / sbom (push) Has been cancelled
supply-chain / vulnerability-scan (push) Has been cancelled
Build, Push & Deploy to Phala Cloud / build-and-push (push) Has been cancelled
Test Packaging / Validate Packaging Configs (push) Has been cancelled
Test Packaging / Build & Test PyPI Package (push) Has been cancelled
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Has been cancelled
Test Packaging / Pack & Test JS Tarballs (push) Has been cancelled
UI Fixture E2E / ui-fixture-e2e (push) Has been cancelled
UI Fixture E2E / fixture-e2e (push) Has been cancelled
UI Story Gate / story-gate (push) Has been cancelled
vault-ci / test (macos-latest) (push) Has been cancelled
vault-ci / test (ubuntu-latest) (push) Has been cancelled
vault-ci / test (windows-latest) (push) Has been cancelled
vault-ci / app-core wiring tests (push) Has been cancelled
verify-patches / verify patches/CHECKSUMS.sha256 (push) Has been cancelled
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Has been cancelled
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Has been cancelled
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Has been cancelled
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Has been cancelled
Voice Benchmark Smoke / voice bench smoke summary (push) Has been cancelled
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Has been cancelled
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Has been cancelled
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Has been cancelled
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Has been cancelled
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:43:05 +08:00

663 lines
28 KiB
JSON

{
"schemaVersion": 1,
"manifestKernelNames": [
"turboquant_q3",
"turboquant_q4",
"qjl",
"polarquant",
"mtp",
"turbo3_tcq"
],
"requiredRuntimeCapabilityKeys": [
"mtp",
"turbo3",
"turbo4",
"turbo3_tcq",
"qjl_full",
"polarquant"
],
"latestReports": [
"verify/HARDWARE_VERIFICATION.md",
"verify/CUDA_VERIFICATION.md",
"reports/porting/2026-05-14/kokoro-llama-cpp-feasibility.md",
"reports/porting/2026-05-14/smoke-pipeline-audit.md"
],
"hardwareEvidence": {
"schemaVersion": 1,
"requiredForRuntimeReady": true,
"requiredFields": [
"schemaVersion",
"runner",
"status",
"passRecordable",
"exitCode",
"host",
"target",
"requirements",
"evidence"
],
"passCriteria": {
"status": "pass",
"passRecordable": true,
"graphSmoke": "required",
"exitCode": 0
},
"failClosedHosts": [
"Darwin CUDA/ROCm/GH200",
"non-Windows Windows runner",
"Linux CUDA without nvcc/nvidia-smi/NVIDIA GPU",
"Linux ROCm without hipcc/rocminfo/gfx GPU agent",
"GH200 without aarch64 Linux plus Hopper/compute-capability-9.x GPU"
],
"reportOptions": {
"cuda": "verify/cuda_runner.sh --report <path>",
"gh200": "verify/gh200_runner.sh --report <path>",
"rocm": "verify/rocm_runner.sh --report <path>",
"windows": "verify/windows_runner.ps1 -Report <path>"
}
},
"gemmaRuntimeDispatch": {
"status": "code-gated-pending-hardware",
"requiredPath": [
"turboquant_q4_manifest",
"flash_attention_head_dim_512",
"stock_kv_q8_0_or_f16",
"draft_mtp"
],
"assertion": "plugins/plugin-local-inference/src/services/active-model.ts assertGemmaRuntimeDispatchContract refuses managed Gemma bundles that omit turboquant_q4/mtp, disable flash attention, select legacy head_dim=128 KV cache types, or claim MTP without drafter-backed load args.",
"legacyKvScope": "QJL, PolarQuant, and turbo3_tcq 8/8 fixture/runtime gates remain valid only for legacy/non-Gemma KV-cache routes and shared FFI symbols. They do not prove the shipped Gemma decode graph, which uses stock KV plus Gemma flash attention."
},
"runtimeSmoke": {
"vulkanBuiltForkGraph": {
"makeTarget": "vulkan-dispatch-smoke",
"source": "verify/vulkan_dispatch_smoke.cpp",
"status": "runtime-ready",
"description": "Native-Linux graph gate. Links against libggml-vulkan from the managed output or explicit ELIZA_MTP_VULKAN_BIN_DIR (headers come from the in-repo llama.cpp submodule by default \u2014 ELIZA_MTP_LLAMA_DIR overrides), rejects macOS/MoltenVK and software Vulkan by default, requires ggml_backend_supports_op for GGML_OP_ATTN_SCORE_QJL and GGML_OP_FUSED_ATTN_QJL_TBQ (the two fused attention graph ops the committed fork pin declares in ggml.h), then runs real graph execution and numeric comparison vs the C reference (qjl_ref_score and eliza_fused_attn_qjl_tbq3). The standalone TurboQuant/PolarQuant score+softmax+V-mix kernels are validated by `make vulkan-verify` against the JSON fixtures and by the fork llama-server --cache-type-{k,v} whitelist; they are not public ggml graph builders in the fork pin, so they are not part of this graph-dispatch gate. Verified PASS on Intel ARL (Mesa ANV, Vulkan 1.4) \u2014 see verify/vulkan-runtime-dispatch-evidence.json."
},
"linuxNativeVulkan": {
"makeTarget": "vulkan-native-smoke",
"script": "verify/linux_vulkan_smoke.sh",
"status": "needs-hardware",
"fixtures": [
"verify/fixtures/turbo3.json",
"verify/fixtures/turbo4.json",
"verify/fixtures/turbo3_tcq.json",
"verify/fixtures/qjl.json",
"verify/fixtures/polar.json",
"verify/fixtures/polar_qjl.json"
],
"description": "Rejects non-Linux/MoltenVK and software ICDs by default, writes hardware-results evidence, runs standalone Vulkan fixtures, builds linux-x64-vulkan, dumps CAPABILITIES diagnostics, then runs the built-fork graph gate against the managed output directory. Build failure or symbol-only staging exits non-zero."
},
"androidVulkan": {
"makeTarget": "android-vulkan-smoke",
"script": "verify/android_vulkan_smoke.sh",
"status": "needs-hardware",
"fixtures": [
"verify/fixtures/turbo3.json",
"verify/fixtures/turbo4.json",
"verify/fixtures/turbo3_tcq.json",
"verify/fixtures/qjl.json",
"verify/fixtures/polar.json",
"verify/fixtures/polar_qjl.json"
],
"description": "Cross-compiles vulkan_verify with the Android NDK, pushes verifier/SPIR-V/fixtures through adb, records physical-device evidence, and runs on Adreno/Mali hardware. Standalone fixture success exits non-zero unless ELIZA_ANDROID_VULKAN_GRAPH_EVIDENCE proves Android Vulkan graph dispatch for all six graph routes or all five runtime capability keys."
}
},
"fusedAttn": {
"capabilityKey": "fused_attn",
"description": "Fused attention forward (QJL-K score -> online softmax -> quantized-V mix, score vector never materialized). C reference: eliza_fused_attn_qjl_tbq3 (bit-exact to the fork's GGML_OP_FUSED_ATTN_QJL_TBQ CPU op) and eliza_fused_attn_qjl_polar in packages/inference/verify/qjl_polar_ref.{h,c}. This is an optimization on top of the existing five score/softmax/V-mix kernels (AGENTS.md \u00a73) \u2014 a backend that cannot dispatch the fused op routes through the standalone path, it does not silently degrade. NOT in requiredRuntimeCapabilityKeys / manifestKernelNames yet: no backend has verified a fused dispatch, so the capability is not part of the build-script required-kernel gate. Promote it (and add a manifest kernel name) only once a backend reports a runtime-ready fused smoke.",
"contractDocs": [
"verify/fused-attn-op-contract.md"
],
"fixtures": [
{
"path": "verify/fixtures/fused_attn_qjl_tbq.json",
"kernelField": "fused_attn_qjl_tbq",
"shape": "cases",
"requiredFields": [
"head_dim",
"proj_dim",
"v_blocks_per_token",
"sm_scale",
"cases"
],
"caseRequiredFields": [
"n_heads",
"n_kv_heads",
"n_kv",
"q_sketch",
"k_blocks",
"v_blocks",
"expected_out"
]
},
{
"path": "verify/fixtures/fused_attn_qjl_polar.json",
"kernelField": "fused_attn_qjl_polar",
"shape": "cases",
"requiredFields": [
"head_dim",
"proj_dim",
"v_blocks_per_token",
"use_qjl",
"sm_scale",
"cases"
],
"caseRequiredFields": [
"n_heads",
"n_kv_heads",
"n_kv",
"q_sketch",
"k_blocks",
"v_blocks",
"expected_out"
]
},
{
"path": "verify/fixtures/polar_preht.json",
"kernelField": "polar_preht",
"shape": "scores",
"requiredFields": [
"head_dim",
"n_rows",
"block_bytes",
"hadamard_inv_scale",
"q",
"k_blocks",
"expected_scores"
]
}
],
"selfTest": {
"makeTarget": "reference-test",
"note": "gen_fixture --self-test recomputes fused == score->softmax->V-decode->mix independently (tol 1e-3) and round-trips the TBQ V-cache blocks."
},
"verifyTargets": {
"metal": "metal-verify-fused",
"vulkan": "vulkan-verify-fused",
"cuda": "cuda-verify"
},
"runtimeStatus": {
"metal": "needs-runtime-smoke",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "runtime-ready"
},
"runtimeEvidence": {
"vulkan": {
"key": "fusedAttn",
"smokeTarget": "vulkan-dispatch-smoke",
"evidenceFile": "verify/vulkan-runtime-dispatch-evidence.json"
},
"cuda": {
"key": "fusedAttn",
"smokeTarget": "cuda-verify-fused",
"evidenceFile": "verify/cuda-runtime-dispatch-evidence.json"
},
"cpu": {
"key": "fusedAttn",
"smokeTarget": "cpu-dispatch-smoke",
"evidenceFile": "verify/cpu-runtime-dispatch-evidence.json"
}
},
"nextGate": "Vulkan fused dispatch verified on Intel ANV (GGML_OP_FUSED_ATTN_QJL_TBQ graph route, vulkan-dispatch-smoke 7/7, max diff 4.5e-8; standalone fused 1920/1920 PASS). CUDA fused verified on NVIDIA GeForce RTX 5080 Laptop (Blackwell sm_120, NATIVE SASS via CUDA 12.8 nvcc V12.8.93 \u2014 no longer compute_90 PTX JIT): make cuda-verify-fused 1920/1920 outputs PASS across 4 GQA/n_kv cases, max diff 4.47e-7, against the warp-cooperative kernel that mirrors the production cuda/fused-attn-qjl-tbq.cu (compiles clean into the fork libggml-cuda via patchCudaKernels + -DGGML_CUDA_FUSED_ATTN_QJL=ON; cuobjdump --list-elf confirms sm_80/86/89/90/90a/100/120 cubins with the fat-binary arch list). build-llama-cpp-mtp.mjs resolveNvcc()+cudaCompilerFlags() pin the 12.8 side-by-side toolkit; P3 occupancy/__ldg/vectorized-load + DP4A-as-default-standalone-QJL landed (nsys: DP4A ~2.27x faster than fp32 qjl_score); P2 cp.async deferred (on-cache QJL/TBQ blocks have no 4B alignment at a token stride). **Full ggml-cuda integration build verified-here 2026-05-12** \u2014 the non-fused linux-x64-cuda target (forkCommit a61c93aaa5 = v1.2.0-eliza, builtAt 2026-05-12T17:16:58Z) is installed at ~/.eliza/local-inference/bin/mtp/linux-x64-cuda/ with libggml-cuda.so.0.9.7 (473 MB, real sm_120 SASS), llama-bench + llama-server + llama-cli + llama-completion. llama-bench on the bundle 0_6b/1_7b GGUFs reports pp512 19932 / tg128 345 (0_6b) and pp512 11931 / tg128 195 (1_7b) at d=0; pp512 1956 / tg128 108 (0_6b) and pp512 1797 / tg128 85 (1_7b) at d=16000. llama-server boots clean (4 GPU slots, /health ok, /completion 32 tokens at 420 tps decode / 1093 tps prefill). cuda-verify + cuda-verify-fused re-run against this real install: 8/8 + 1920/1920 PASS. The linux-x64-cuda-fused build is queued. CPU fused dispatch verified on Intel Core Ultra 9 275HX (GGML_OP_FUSED_ATTN_QJL_TBQ CPU graph route, cpu-dispatch-smoke MT-vs-ST bit-identical, no NaN). Remaining: run metal-verify-fused on an Apple-Silicon Mac (metal/fused_attn_*.metal + metal/polar_preht.metal authored, byte-faithful to the Vulkan ports). fused_attn stays out of requiredRuntimeCapabilityKeys / manifestKernelNames \u2014 it is an optimization on top of the five required kernels (AGENTS.md \u00a73), not a required kernel \u2014 until all backends report a runtime-ready fused smoke and the manifest schema adds a fused kernel name."
},
"kernels": [
{
"id": "istft",
"family": "iSTFT",
"manifestKernelNames": [],
"runtimeCapabilityKeys": [],
"description": "Native GGML_OP_ISTFT (inverse short-time Fourier transform). Promotes J2's CPU post-graph iSTFT to a backend-dispatched graph op. Enables Vulkan/CUDA acceleration for the Kokoro iSTFTNet vocoder head. Not a KV-cache kernel; not in requiredRuntimeCapabilityKeys or manifestKernelNames until all backends report runtime-ready smoke.",
"fixtures": [
{
"path": "verify/fixtures/istft.json",
"kernelField": "istft",
"shape": "cases",
"requiredFields": [
"n_fft",
"hop_length",
"win_length",
"cases"
],
"caseRequiredFields": [
"mag",
"phase",
"expected_pcm"
]
}
],
"metal": {
"source": "llama.cpp/ggml/src/ggml-metal/eliza-kernels/istft.metal",
"verifySymbol": "kernel_istft_f32"
},
"vulkan": {
"source": "llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/istft.comp",
"spirvName": "istft_f32"
},
"cuda": {
"source": "llama.cpp/ggml/src/ggml-cuda/istft.cu",
"opFunction": "ggml_cuda_op_istft"
},
"verifyHarness": {
"cpp": "verify/istft-verify.cpp",
"mjs": "verify/istft-verify.mjs",
"makeTargets": [
"istft-verify"
],
"tolerance": 1e-3
},
"runtimeStatus": {
"metal": "authored-only",
"vulkan": "authored",
"cuda": "authored",
"cpu": "authored"
},
"notes": "K5 wave: CPU + Vulkan + CUDA kernels authored. Metal authored only — hardware blocked (no Mac available). Kokoro wiring: ggml_istft() replaces the CPU post-graph call; falls back to CPU overlap-add when backend does not support the op. Verify harness generates 10 random (n_fft, hop, win, T) cases and checks max-abs error <= 1e-3 across CPU/Vulkan/CUDA."
},
{
"id": "turbo3",
"family": "TurboQuant",
"manifestKernelNames": [
"turboquant_q3"
],
"runtimeCapabilityKeys": [
"turbo3"
],
"fixtures": [
{
"path": "verify/fixtures/turbo3.json",
"kernelField": "turbo3",
"requiredFields": [
"head_dim",
"n_kv",
"blocks_per_kv",
"q",
"k_blocks",
"expected_scores"
]
}
],
"metal": {
"source": "metal/turbo3.metal",
"verifySymbol": "kernel_turbo3_dot",
"multiBlockSymbol": "kernel_turbo3_dot_multi"
},
"vulkan": {
"source": "vulkan/turbo3.comp",
"spirv": "vulkan/turbo3.spv"
},
"cuda": {
"fixtureGate": true
},
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "reference-only"
}
},
{
"id": "turbo4",
"family": "TurboQuant",
"manifestKernelNames": [
"turboquant_q4"
],
"runtimeCapabilityKeys": [
"turbo4"
],
"fixtures": [
{
"path": "verify/fixtures/turbo4.json",
"kernelField": "turbo4",
"requiredFields": [
"head_dim",
"n_kv",
"blocks_per_kv",
"q",
"k_blocks",
"expected_scores"
]
}
],
"metal": {
"source": "metal/turbo4.metal",
"verifySymbol": "kernel_turbo4_dot",
"multiBlockSymbol": "kernel_turbo4_dot_multi"
},
"vulkan": {
"source": "vulkan/turbo4.comp",
"spirv": "vulkan/turbo4.spv"
},
"cuda": {
"fixtureGate": true
},
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "reference-only"
}
},
{
"id": "turbo3_tcq",
"family": "TurboQuant",
"manifestKernelNames": [
"turbo3_tcq"
],
"runtimeCapabilityKeys": [
"turbo3_tcq"
],
"requiredWhen": "ctx > 65536",
"runtimeRouteScope": "legacy-tier-only",
"gemma4Status": "not-routed; Gemma uses stock KV with flash attention, not the head_dim=128 TCQ KV-cache path",
"fixtures": [
{
"path": "verify/fixtures/turbo3_tcq.json",
"kernelField": "turbo3_tcq",
"requiredFields": [
"head_dim",
"n_kv",
"blocks_per_kv",
"q",
"k_blocks",
"expected_scores"
]
}
],
"metal": {
"source": "metal/turbo3_tcq.metal",
"verifySymbol": "kernel_turbo3_tcq_dot",
"multiBlockSymbol": "kernel_turbo3_tcq_dot_multi"
},
"vulkan": {
"source": "vulkan/turbo3_tcq.comp",
"spirv": "vulkan/turbo3_tcq.spv"
},
"cuda": {
"fixtureGate": true
},
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "reference-only"
},
"kvCacheType": {
"typeName": "tbq3_tcq",
"ggmlType": "GGML_TYPE_TBQ3_TCQ",
"status": "type-traits-added",
"note": "ggml.c now has the [GGML_TYPE_TBQ3_TCQ] type-traits entry (to_float = dequantize_row_tbq3_tcq sliding-window lookup, from_float_ref = quantize_row_tbq3_tcq_ref Viterbi encoder in the orthogonal WHT basis, codebook in ggml/src/ggml-tcq-codebook.h) plus the ggml-cpu from_float (so ggml_cpy(K_cur -> K_view) can quantize). build-llama-cpp-mtp.mjs patchServerKvCacheTypeNames appends GGML_TYPE_TBQ3_TCQ to common/arg.cpp kv_cache_types, so `--cache-type-k tbq3_tcq` resolves. Like qjl1_256/q4_polar it is a cache type only (never a mul_mat operand); the score path consumes the WHT-rotated cache directly, matching the CUDA (ggml-cuda/turbo-tcq.cu) + Metal decode kernels. Fork branch: elizaOS/llama.cpp eliza/ws2-tbq3-tcq-traits @ 536ff214 (on top of the prior pin 2f80716c). Verified: ggml-base + ggml-cpu compile clean, symbols exported. CPU standalone *score graph op* stays reference-only (no public CPU ggml graph builder for TCQ in the pin \u2014 the reduced-optimization local mode `ELIZA_LOCAL_ALLOW_STOCK_KV=1` is the documented hatch)."
}
},
{
"id": "qjl",
"family": "QJL",
"manifestKernelNames": [
"qjl"
],
"runtimeCapabilityKeys": [
"qjl_full"
],
"runtimeRouteScope": "legacy-tier-only",
"gemma4Status": "not-routed; Gemma uses stock KV with flash attention, not the head_dim=128 QJL K-cache path",
"fixtures": [
{
"path": "verify/fixtures/qjl.json",
"kernelField": "qjl",
"requiredFields": [
"proj_dim",
"n_heads",
"n_kv_heads",
"n_tokens",
"q_sketch",
"k_blocks",
"expected_scores"
]
}
],
"metal": {
"source": "metal/qjl.metal",
"verifySymbol": "kernel_attn_score_qjl1_256",
"multiBlockSymbol": "kernel_attn_score_qjl1_256_multi"
},
"vulkan": {
"source": "vulkan/qjl.comp",
"spirv": "vulkan/qjl.spv"
},
"cuda": {
"fixtureGate": true
},
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "runtime-ready"
},
"cpuEvidence": {
"key": "qjl",
"smokeTarget": "cpu-dispatch-smoke",
"evidenceFile": "verify/cpu-runtime-dispatch-evidence.json"
}
},
{
"id": "polar",
"family": "PolarQuant",
"manifestKernelNames": [
"polarquant"
],
"runtimeCapabilityKeys": [
"polarquant"
],
"runtimeRouteScope": "legacy-tier-only",
"gemma4Status": "not-routed; Gemma uses stock KV with flash attention, not the head_dim=128 PolarQuant V-cache path",
"fixtures": [
{
"path": "verify/fixtures/polar.json",
"kernelField": "polar",
"requiredFields": [
"head_dim",
"n_rows",
"use_qjl",
"q",
"k_blocks",
"expected_scores"
]
},
{
"path": "verify/fixtures/polar_qjl.json",
"kernelField": "polar",
"requiredFields": [
"head_dim",
"n_rows",
"use_qjl",
"q",
"k_blocks",
"expected_scores"
]
}
],
"metal": {
"source": "metal/polar.metal",
"verifySymbol": "kernel_mul_mv_q4_polar_f32"
},
"vulkan": {
"source": "vulkan/polar.comp",
"spirv": "vulkan/polar.spv"
},
"cuda": {
"fixtureGate": true
},
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "reference-only"
}
},
{
"id": "mtp",
"family": "MTP",
"manifestKernelNames": [
"mtp"
],
"runtimeCapabilityKeys": [
"mtp"
],
"fixtures": [],
"runtimeStatus": {
"metal": "runtime-ready",
"vulkan": "runtime-ready",
"cuda": "runtime-ready",
"cpu": "runtime-ready"
}
}
],
"platformTargets": {
"linux-x64-cpu": {
"kernelVerification": "reference-only",
"runtimeDispatch": "runtime-ready",
"deviceRun": "verified",
"nextGate": "2026-05-17: native Linux x64 CPU graph smoke passed on BEAST with the 0.6B Q4_POLAR GGUF; runtime_graph_smoke covered cache-backed Turbo3/Turbo4 through llama-bench. QJL/Polar SIMD arithmetic remains covered by reference/fixture paths rather than KV cache storage aliases."
},
"linux-x64-cuda": {
"kernelVerification": "verified",
"runtimeDispatch": "verified",
"deviceRun": "verified",
"nextGate": "Run a full Eliza-1 bundle voice/runtime smoke on the CUDA host. Native sm_120 SASS is wired (CUDA 12.8 installed; build hook resolveNvcc()+cudaCompilerFlags() pin it; arch list = 90a;90;89;86;80;100;120;90-virtual with real 100/120 SASS); the full ggml-cuda integration build is pending a quiet host (RAM-contended this wave)."
},
"linux-x64-rocm": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run ELIZA_MTP_SMOKE_MODEL=/models/eliza-1-smoke.gguf ./rocm_runner.sh on an AMD ROCm host."
},
"linux-x64-vulkan": {
"kernelVerification": "standalone-verified",
"runtimeDispatch": "runtime-ready",
"deviceRun": "verified",
"nextGate": "Run a discrete Vulkan GPU e2e voice loop after the Intel ANV and Android Mali graph-dispatch smokes; current runtime evidence is target-scoped in verify/vulkan-runtime-dispatch-evidence.json."
},
"linux-x64-sycl": {
"kernelVerification": "compile-only",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Build with Intel oneAPI on a SYCL host and record whether upstream ggml-sycl is useful for Eliza-1 fallback routing; custom Eliza kernels remain CUDA/Vulkan/Metal/CPU."
},
"linux-x64-openvino": {
"kernelVerification": "compile-only",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Build with OpenVINO 2026 runtime and run CPU/GPU/NPU device-selection smoke; custom Eliza kernels remain CUDA/Vulkan/Metal/CPU."
},
"linux-aarch64-cpu": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run on an arm64 Linux host and collect CPU backend parity."
},
"linux-aarch64-cuda": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run ELIZA_MTP_SMOKE_MODEL=/models/eliza-1-smoke.gguf ./gh200_runner.sh on a GH200/H100/H200 aarch64 CUDA host."
},
"linux-aarch64-cuda-fused": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run the fused libelizainference CUDA build and voice/runtime smoke on a GH200/H100/H200 aarch64 CUDA host."
},
"android-arm64-cpu": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run CPU/NEON parity on a physical Android device."
},
"android-arm64-vulkan": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Cross-compile vulkan_verify and run all fixtures on Adreno and Mali devices."
},
"darwin-arm64-metal": {
"kernelVerification": "standalone-verified",
"runtimeDispatch": "verified",
"deviceRun": "verified",
"nextGate": "Run fused Metal smoke against a full Eliza-1 bundle after graph-dispatch smoke."
},
"ios-arm64-metal": {
"kernelVerification": "symbol-shipped",
"runtimeDispatch": "symbol-shipped",
"deviceRun": "needs-hardware",
"nextGate": "Run physical-device XCTest/Capacitor smoke against the embedded metallib and GGML_OP_ATTN_SCORE_TBQ Turbo4 route."
},
"ios-arm64-simulator-metal": {
"kernelVerification": "symbol-shipped",
"runtimeDispatch": "symbol-shipped",
"deviceRun": "needs-hardware",
"nextGate": "Run simulator smoke against the embedded metallib and GGML_OP_ATTN_SCORE_TBQ Turbo4 route."
},
"windows-x64-cpu": {
"kernelVerification": "compile-only",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run native Windows CPU binary and AVX2 QJL/Polar smoke."
},
"windows-x64-cuda": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run pwsh -File packages/inference/verify/windows_runner.ps1 -Backend cuda -Model C:\\models\\eliza-1-smoke.gguf on NVIDIA hardware."
},
"windows-x64-vulkan": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run pwsh -File packages/inference/verify/windows_runner.ps1 -Backend vulkan -Model C:\\models\\eliza-1-smoke.gguf on native Windows Vulkan."
},
"windows-arm64-cpu": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run Snapdragon X native CPU smoke."
},
"windows-arm64-vulkan": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run Snapdragon X native Vulkan smoke."
},
"linux-x64-cpu-fused": {
"kernelVerification": "reference-only",
"runtimeDispatch": "needs-runtime-smoke",
"deviceRun": "needs-hardware",
"nextGate": "Run fused libelizainference CPU smoke with voice off/on regions."
},
"linux-x64-cuda-fused": {
"kernelVerification": "runtime-ready",
"runtimeDispatch": "runtime-ready",
"deviceRun": "verified",
"nextGate": "Re-run on additional sm classes (sm_89 / sm_90 / sm_100 datacenter) to confirm no arch regression. 2026-05-12 CUDA-FINISH-4: fused build installed at ~/.eliza/local-inference/bin/mtp/linux-x64-cuda-fused/ (forkCommit a61c93aaa5, omnivoice pin 38f824023d12); cuda-verify-fused 1920/1920 PASS on RTX 5080 sm_120; cuda-hardware 6/6 fixture sets PASS against the fused install; e2e_loop_bench cuda 1-turn voice_rtf 0.4255 (PASS publish gate <= 0.5), tg 64.82 tok/s, first_token 43.3 ms, mtp 12/12, peak RSS 2340 MB, e2eOk true. Historical report artifacts were generated during CUDA-FINISH-4 but are not checked into this cleanup branch."
},
"linux-x64-vulkan-fused": {
"kernelVerification": "runtime-ready",
"runtimeDispatch": "runtime-ready",
"deviceRun": "verified",
"nextGate": "Re-run e2e_loop_bench on a discrete Vulkan card (RDNA3 / Ada in pure-Vulkan / Intel BMG) to get a Vulkan voice-rtf number under the discrete-GPU class — the iGPU here is below the gate's hardware class. 2026-05-12 CUDA-FINISH-4: fused build installed at ~/.eliza/local-inference/bin/mtp/linux-x64-vulkan-fused/ (forkCommit a61c93aaa5, omnivoice pin 38f824023d12, fused SPIR-V baked in: eliza_fused_attn_qjl_tbq + eliza_fused_attn_qjl_polar); vulkan-verify-fused PASS on Intel ARL iGPU (Mesa ANV 25.2.8) — fused_attn_qjl_tbq 1920/1920 + 1536/1536 causal + fused_attn_qjl_polar 1920/1920 + 1536/1536 causal = 6912 outputs total, max diff 6.26e-07; e2e_loop_bench vulkan 1-turn ran end-to-end with mtp 31/31 and e2eOk true, but iGPU performance keeps voice_rtf at 1.7269 (publish gate FAIL on iGPU class). Reports: packages/inference/reports/porting/2026-05-12/e2e-loop-vulkan-2026-05-12.json."
},
"darwin-arm64-metal-fused": {
"kernelVerification": "standalone-verified",
"runtimeDispatch": "needs-runtime-smoke",
"deviceRun": "needs-hardware",
"nextGate": "Run fused Metal smoke after full kernel dispatch lands."
},
"windows-x64-cuda-fused": {
"kernelVerification": "needs-hardware",
"runtimeDispatch": "needs-hardware",
"deviceRun": "needs-hardware",
"nextGate": "Run Windows CUDA hardware runner first, then fused Windows CUDA voice/runtime smoke."
}
}
}