Files
neuron-tai/.scratch/distributed-gguf-runtime/issues/02-adopt-the-versioned-grpc-shard-protocol.md
2026-07-13 15:09:27 +03:00

3.1 KiB

02 — Adopt the versioned gRPC Shard protocol

Status: ready-for-agent

Mandatory fresh-session context

  • Read RALPH-CONTEXT.md completely before changing code.
  • This issue is DGR-002 in prd.json.
  • Read the evidence README for every dependency listed below.
  • Inspect current code and git status; historical text and previous agent claims are not evidence.

Description

As a node developer, I need a battle-proven streaming protocol so that Python and C++ Shards communicate without a custom socket protocol.

Expected durable outputs

  • packages/node/native/proto/shard_runtime.proto
  • Reproducible Python/C++ schema generation and build wiring
  • Protocol round-trip and compatibility tests
  • evidence/DGR-002/README.md

Acceptance criteria

  • Add a Protocol Buffers schema for capability, health, session stream, release, and cancellation operations.
  • Define one long-lived bidirectional gRPC stream per Route Session Activation Seam with deadlines, cancellation, flow control, and structured errors.
  • Define bounded chunking for prefill and a small decode fast path.
  • Carry schema version, request/work ID, Route Session ID, route epoch, artifact/recipe fingerprint, Shard range/effective start, phase, position, idempotency step, cache expectation, compression, and checksum.
  • Define a versioned named-tensor bundle with per-tensor name, shape, dtype, byte order, and payload fragments.
  • Add generated-schema round-trip and compatibility tests in Python and C++.
  • Targeted pytest tests pass
  • python -m compileall packages tests passes for Python changes
  • git diff --check passes
  • Default tests remain deterministic, model-download-free, API-credit-free, and GPU-free
  • Full deterministic pytest -q passes, or the exact pre-existing unrelated failure is recorded with a clean-tree reproduction
  • Read .scratch/distributed-gguf-runtime/RALPH-CONTEXT.md and this story issue completely before changing code
  • Read and verify every dependency evidence README before relying on dependency behavior
  • Preserve all pre-existing working-tree changes and stage only files belonging to this story
  • Write .scratch/distributed-gguf-runtime/evidence/DGR-002/README.md with files changed, exact commands and real results, limitations, compatibility notes, and dependent-story handoff
  • Update only this story issue to Status: done after every acceptance criterion and quality gate passes

Dependency handoff

  • None. This story may start immediately.

Finish contract

  • Create the task evidence directory and durable handoff required above.
  • Preserve real failures and blockers; never fabricate benchmark, model, test or hardware output.
  • Change this issue to Status: done only after all criteria pass.
  • Emit <promise>COMPLETE</promise> only after the evidence handoff exists.

References