DGR-019 Lock alpha/beta performance contracts (evidence + contract framework) DGR-020 Run controlled whole-model GGUF baseline (benchmark results & contracts) DGR-024 Real generated-gRPC protocol harness (shard_runtime_server.py + tests) DGR-026 split-GGUF provisioning outside /home (provision script + manifest + tests) DGR-028 Numbered patch-stack apply & verify (llama_cpp_dependency.py + UPSTREAM_LOCK.json) DGR-029 Native CMake skeleton + deterministic CPU lane (UPSTREAM_LOCK.json + cmake gating) New modules: packages/node/meshnet_node/dgr_performance/ — performance contract framework packages/node/meshnet_node/split_gguf/ — split-GGUF manifest & provisioning scripts/provision_split_gguf.py — artifact provisioning CLI tests/test_dgr_performance_contract.py — contract validation tests tests/test_split_gguf_manifest.py — manifest tests tests/test_split_gguf_provision.py — provisioning tests tests/test_shard_runtime_harness.py — gRPC harness tests
2.8 KiB
2.8 KiB
DGR-029: Create the native CMake skeleton and deterministic CPU lane
- Status / triage: completed;
passes: true - Execution mode:
AFK - Milestone:
M1 - Dependencies:
DGR-027,DGR-028 - Blocks (derived):
DGR-030,DGR-034 - Labels:
area:build,type:toolchain,priority:p0,ready-for-agent - Evidence class:
model-free - Hardware:
none - Model:
generic - Upstream:
yes
Objective / description
Fresh Ralph session: read .scratch/distributed-gguf-runtime/RALPH-CONTEXT.md, source issue .scratch/distributed-gguf-runtime/issues/029-create-the-native-cmake-skeleton-and-deterministic-cpu-lane.md, and evidence READMEs for dependencies (DGR-027, DGR-028) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Establish an out-of-tree standalone native build with a deterministic CPU lane before accelerator matrix work.
Acceptance criteria
- Create the standalone native CMake target/skeleton and isolated out-of-tree configure/build preset for CPU.
- Build and run a deterministic model-free CPU smoke/CTest lane from a clean checkout with actionable toolchain failures.
- Keep fetched upstream sources, generated bindings, and all build outputs ignored and out of tree.
- Ensure build success alone does not advertise any backend/model/recipe capability.
- Applicable shared quality gates in
prd.jsonpass, and the evidence handoff records exact commands/results, changed files, limitations, and dependency handoff.
Shared quality gates
- Targeted deterministic tests pass; Python changes also pass
python -m compileall packages tests. git diff --checkpasses.- Default tests are model-download-free, API-credit-free, and GPU-free.
- Evidence README records exact changed files, commands/results, limitations, and dependency handoff; no fabricated evidence or inherited completion credit.
- Native changes pass focused out-of-tree CMake build and CTest; patch changes verify clean apply/check/reverse against the exact llama.cpp pin.
- Runs are opt-in and record exact artifact/split hashes, runtime/upstream pin, backend/driver, hardware, network, commands, and raw metrics. Model artifacts use configured mounted-drive storage and never
/home. - Preserve existing Transformers behavior and backend-agnostic Tracker routing/load balancing/billing/relay semantics unless an explicit versioned contract says otherwise. One scoped story commit is expected during execution, but this specification-materialization change is not committed.
Evidence handoff
Verified evidence: .scratch/distributed-gguf-runtime/evidence/DGR-029/README.md. Legacy evidence remains provenance only and grants no implementation completion credit.