2.8 KiB
2.8 KiB
DGR-023: Make Python and C++ protobuf generation reproducible
- Status / triage: specification only;
ready-for-agent;passes: false - Execution mode:
AFK - Milestone:
M1 - Dependencies:
DGR-021 - Blocks (derived):
DGR-024,DGR-037 - Labels:
area:protocol,area:build,type:tooling,priority:p0,ready-for-agent - Evidence class:
model-free - Hardware:
none - Model:
generic - Upstream:
no
Objective / description
Fresh Ralph session: read .scratch/distributed-gguf-runtime/RALPH-CONTEXT.md, source issue .scratch/distributed-gguf-runtime/issues/023-make-python-and-c-protobuf-generation-reproducible.md, and evidence READMEs for dependencies (DGR-021) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Generate identical Python/C++ protocol bindings without manual copying or checked-in build debris.
Acceptance criteria
- Pin protoc, gRPC, and plugin versions or declare a verified compatible range.
- Generate Python and C++ bindings into out-of-tree build/package locations through documented commands.
- Add Python↔C++ round-trip and descriptor compatibility tests.
- A clean checkout regenerates bindings deterministically or fails with an actionable toolchain error.
- 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
Write and verify .scratch/distributed-gguf-runtime/evidence/DGR-023/README.md. Until every criterion and applicable gate has real evidence, this story remains passes: false. Legacy evidence is provenance only, not completion credit.