Derive the recipe's runtime_version axis from the DGR-027 lock manifest (exact upstream commit + ordered patch-stack byte digest) in new meshnet_node.runtime_pin, failing closed on any lock/series/SHA256SUMS/ patch disagreement, and enforce pin discipline on runtime_version in both the node and tracker identity implementations. Also repair pre-existing backlog consistency: add missing DGR-022/DGR-027 completionNotes, regenerate the DGR-022/025/027 issue projections, and relocate three pre-DGR legacy GLM issue files to issues/legacy/. Mark DGR-025 passes=true with evidence at evidence/DGR-025/README.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
40 lines
2.8 KiB
Markdown
40 lines
2.8 KiB
Markdown
<!-- GENERATED FROM prd.json — DO NOT EDIT AS AN INDEPENDENT SOURCE. prd.json IS AUTHORITATIVE. -->
|
|
# DGR-022: Define Shard lifecycle and structured status RPCs
|
|
|
|
- **Status / triage:** completed; `passes: true`
|
|
- **Execution mode:** `AFK`
|
|
- **Milestone:** `M1`
|
|
- **Dependencies:** `DGR-021`
|
|
- **Blocks (derived):** `DGR-024`, `DGR-033`, `DGR-037`
|
|
- **Labels:** `area:protocol`, `area:lifecycle`, `type:infrastructure`, `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/022-define-shard-lifecycle-and-structured-status-rpcs.md`, and evidence READMEs for dependencies (DGR-021) before changing code. Inspect live source/tests rather than trusting legacy pass states. Objective: Complete the gRPC contract for worker capability, health, sessions, cancellation, release, and metrics.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] Define capability, health, bidirectional session stream, cancellation, release, and metrics RPCs.
|
|
- [x] Specify deadlines, cancellation propagation, bounded flow control, cache expectations/results, and structured error taxonomy.
|
|
- [x] Specify TLS/auth hooks without moving Meshnet authentication or billing into the worker.
|
|
- [x] Add compatibility tests for supported versions and fail-closed tests for unsupported versions and malformed lifecycle transitions.
|
|
- [x] Applicable shared quality gates in `prd.json` pass, 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 --check` passes.
|
|
- 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-022/README.md`. Legacy evidence remains provenance only and grants no implementation completion credit.
|