This record separates completed local evidence from GitHub Actions evidence
that requires an authorized push. Version 0.1.0 is not published by this
branch.
| Field | Value |
|---|---|
| Wrapper | llama.cpp-m 0.1.0 |
| Package | mcpplibs:llamacpp@0.1.0 |
| Module | import llamacpp; |
| Upstream tag | b10069 |
| Upstream commit | 178a6c44937154dc4c4eff0d166f4a044c4fceba |
| Official archive SHA-256 | 293a7c65a11e2203c5468a06d0d0e8d21dfff16ad08712b16c61efbe0d93e097 |
| mcpp | 2026.7.28.2 |
The final local release contract printed:
Snapshot matches.
All exports match.
Snapshot matches.
llama.cpp-m 0.1.0 -> llama.cpp b10069 (178a6c44937154dc4c4eff0d166f4a044c4fceba)
The required workflow jobs are:
| Job | Required behavior | Run URL |
|---|---|---|
unit-and-import |
Unit/import/export/snapshot and cold CPU build | Not available before authorized push |
cpu (ubuntu-24.04) |
Linux x86_64 CPU inference | Not available before authorized push |
cpu (windows-latest) |
Windows x86_64 CPU inference | Not available before authorized push |
cpu (macos-15) |
macOS ARM64 CPU inference | Not available before authorized push |
linux-arm64 |
Native ARM64 Docker inference and ELF/source audit | Not available before authorized push |
metal |
Real macOS ARM64 Metal inference | Not available before authorized push |
release-contract |
Immutable version/upstream/reproducibility mapping | Not available before authorized push |
These missing URLs are a release blocker, not a skipped or passing result.
| Field | Value |
|---|---|
| URL | https://huggingface.co/ggml-org/models-moved/resolve/499bc8821c6b12b4e53c5bffcb21ec206f212d81/tinyllamas/stories15M-q4_0.gguf |
| Size | 19077344 bytes |
| SHA-256 | 66967fbece6dbe97886593fdbb73589584927e29119ec31f08090732d1861739 |
Local macOS ARM64 runtime results:
LLAMACPP_CPU_TEST=PASS
LLAMACPP_METAL_TEST=PASS
using embedded metal library
offloaded 1/7 layers to GPU
MTL0_Mapped model buffer size = 9.34 MiB
MTL0 compute buffer size = 7.88 MiB
Both paths loaded the GGUF, decoded, sampled a valid token, and returned success.
| Field | Value |
|---|---|
| Size | 2707514144 bytes |
| SHA-256 | de8e96cd0d0c358487091aaaed1346bc02e61da3d4b412c833662702e233e78c |
| Architecture | qwen35 |
| Parameters reported | 4205751296 |
| Host | Apple M4, macOS ARM64 |
Commands:
cd examples/chat-cpu
/usr/bin/time -p mcpp run -- <Qwen3.5-4B-Q4_K_M.gguf> \
'User: Introduce yourself in one sentence.\nAssistant:'
cd ../chat-metal
/usr/bin/time -p mcpp run -- <Qwen3.5-4B-Q4_K_M.gguf> metal \
'User: Introduce yourself in one sentence.\nAssistant:'Observed results from 2026-07-29:
| Backend | Generated | Offload | Wall time |
|---|---|---|---|
| CPU | 32 tokens | 0/33 layers |
56.75s |
| Metal | 32 tokens | 33/33 layers |
2.92s |
Metal also reported:
using embedded metal library
GPU name: MTL0 (Apple M4)
offloaded 33/33 layers to GPU
backend=metal params=4205751296 generated_tokens=32
The CPU output began I am a helpful assistant.. The Metal output began
I am a large language model .... These are generation proofs, not answer
quality assertions.
The wall-clock ratio was about 19.4x in favor of Metal. It includes model
loading, prompt processing, generation, and first-use Metal pipeline work, so it
must not be presented as a steady-state tokens-per-second benchmark.
A native Ubuntu 24.04 ARM64 Docker run using mcpp 2026.7.28.2 completed CPU
inference and printed LLAMACPP_CPU_TEST=PASS.
The run verified:
target/.build-mcpp/build.mcpp.bin: ARM aarch64, statically linked, PT_INTERP absent
.../bin/cpu_decode: ARM aarch64, statically linked, PT_INTERP absent
arch/arm/quants.c present
arch/arm/repack.cpp present
arch/x86 absent
The container used the USTC Ubuntu ports mirror and an isolated MCPP_HOME,
with MCPP_VENDORED_XLINGS explicitly routed to the released mcpp bundle.
The final local verification completed:
- 112 Python unit tests;
- official tag and archive check mode;
- generated export and API snapshot checks;
- release mapping validation;
- small-model CPU and Metal inference;
- CPU and Metal Qwen generation;
- YAML parsing and
actionlintfor all three workflow files.
The actionlint image was pulled as
rhysd/actionlint@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667.
GitHub Actions remains authoritative for actual workflow execution and the
required platform matrix.
mtmdmultimodal API;- CUDA, Vulkan, RPC, and other upstream backends;
- C++17 consumer compatibility;
- a claim that every upstream model architecture works.
Deprecated upstream C APIs are exported and can produce upstream deprecation warnings when called. A new model or backend support claim requires its own targeted runtime evidence.