3.4 KiB
3.4 KiB
DGR-009 — Integrate the native worker with Meshnet: evidence
Status: done Date: 2026-07-15 Evidence kind: python-unit + repo-hygiene. No model download, no GPU, no API credit.
Summary
Implemented the Meshnet-facing GGUF backend seam and recipe gating needed for the native worker path:
- Added
GgufNodeBackend, a backend-shaped adapter that lets the existing node HTTP/control-plane code serve GGUF-backed shards without changing the Transformers/Torch path for the default recipes. - Added
llama-cpp-nativeto the recipe manifest and gated startup so only recipes withbackend_id == "llama.cpp"build the GGUF backend. - Preserved the existing registration/admission flow by carrying the validated capability report and proof shard through registration.
- Added unit coverage for the GGUF backend seam and for recipe-gated startup.
- Fixed the explicit-shard startup path so the legacy Torch tests that use an opaque stub model still pass without requiring HuggingFace config discovery.
Files changed
packages/node/meshnet_node/gguf_backend.py- new GGUF backend adapter and worker-transport boundary.packages/node/meshnet_node/startup.py- recipe-gated GGUF backend injection and explicit-shard startup fix.packages/node/meshnet_node/recipes.json- addedllama-cpp-native.tests/test_gguf_backend.py- backend delegation and recipe-selection tests..ralph-tui/progress.md- appended DGR-009 progress note..scratch/distributed-gguf-runtime/issues/09-integrate-the-native-worker-with-meshnet.md- marked
Status: done.
- marked
Commands and real results
python -m pytest -q tests/test_gguf_backend.py
# -> 2 passed in 0.05s
python -m pytest -q tests/test_node_admission.py::test_the_served_backend_is_loaded_with_the_recipe_that_was_validated tests/test_node_admission.py::test_backend_validation_failure_registers_nothing
# -> 2 passed in 0.07s
python -m compileall -q packages tests
# -> exit 0
git diff --check
# -> exit 0
python -m pytest -q
# -> 222 failed, 463 passed, 13 skipped, 86 errors in 135.65s
Limitations
python -m pytest -qis still not clean in this sandbox. The dominant failures are tracker/control-plane socketPermissionError: [Errno 1] Operation not permittedand a native protocol import failure caused by a protobuf runtime mismatch (gencode 7.35.0vs runtime6.33.6).tests/test_native_shard_protocol.pycurrently fails for the same protobuf runtime mismatch in this environment.DGR-008evidence was not present in the tree, so the dependency behavior was verified by reading the live code and exercising the Python seam instead of relying on a missing README.
Compatibility notes
- The default Torch path remains intact; GGUF backend selection is explicit and recipe-gated.
TorchNodeServeralready accepts an injected backend object, so the control plane stays Meshnet-owned.- The GGUF adapter currently establishes the seam for the native worker transport; the compiled worker remains the owner of the gRPC protocol details.
Dependent-story handoff
- DGR-008 should continue to own the native worker implementation and the
versioned gRPC frame handling behind
MESHNET_NATIVE_WORKER_URL. - DGR-010 / DGR-012 can build on this seam without changing the control plane: the recipe-gated backend and validated capability report are already carried through startup.