chore: wrap up completed story metadata
This commit is contained in:
@@ -12,4 +12,10 @@ Provide an opt-in, admin-only tracker Dashboard Testing tab that dynamically dis
|
||||
- One active run.
|
||||
- Real inference stays separately environment-gated and excluded from default suites.
|
||||
|
||||
## Operator workflow
|
||||
|
||||
See [`docs/dev/dashboard-test-runner.md`](../../docs/dev/dashboard-test-runner.md)
|
||||
for launch configuration, default safe suites vs the gated real-inference suite,
|
||||
and required environment variables.
|
||||
|
||||
See `prd.json` for executable Ralph user stories and acceptance criteria.
|
||||
|
||||
@@ -51,15 +51,16 @@
|
||||
"uv run pytest tests/test_dashboard.py tests/test_dynamic_routing.py -q passes."
|
||||
],
|
||||
"priority": 3,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Do not reintroduce --enable-test-runner without implementing its CLI argument in US-001.",
|
||||
"dependsOn": [
|
||||
"US-001",
|
||||
"US-002"
|
||||
]
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"updatedAt": "2026-07-11T17:02:30.520Z"
|
||||
"updatedAt": "2026-07-12T01:58:06.286Z"
|
||||
}
|
||||
}
|
||||
@@ -16,8 +16,9 @@
|
||||
],
|
||||
"priority": 1,
|
||||
"passes": true,
|
||||
"notes": "Completed 2026-07-14. Deterministic direct/relay and cached/stateless stub benchmark with JSON/summary attribution; focused test suite passes (7). Source issue: .scratch/distributed-inference-performance/issues/01-baseline-profiling-harness.md",
|
||||
"dependsOn": []
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/01-baseline-profiling-harness.md",
|
||||
"dependsOn": [],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-002",
|
||||
@@ -31,9 +32,12 @@
|
||||
"Tests cover binary, JSON, timeout, disconnect, cancellation, and cleanup"
|
||||
],
|
||||
"priority": 2,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/02-relay-session-compatibility.md",
|
||||
"dependsOn": ["DIP-001"]
|
||||
"dependsOn": [
|
||||
"DIP-001"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-003",
|
||||
@@ -47,9 +51,12 @@
|
||||
"Benchmark shows healthy-session connection count independent of token count"
|
||||
],
|
||||
"priority": 3,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/03-http-keepalive.md",
|
||||
"dependsOn": ["DIP-001"]
|
||||
"dependsOn": [
|
||||
"DIP-001"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-004",
|
||||
@@ -63,9 +70,12 @@
|
||||
"Tests verify cadence and cleanup"
|
||||
],
|
||||
"priority": 4,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/04-seam-telemetry.md",
|
||||
"dependsOn": ["DIP-001"]
|
||||
"dependsOn": [
|
||||
"DIP-001"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-005",
|
||||
@@ -79,9 +89,12 @@
|
||||
"Tests cover compressible, incompressible, threshold, malformed, and legacy bodies"
|
||||
],
|
||||
"priority": 5,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/05-adaptive-compression.md",
|
||||
"dependsOn": ["DIP-001"]
|
||||
"dependsOn": [
|
||||
"DIP-001"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-006",
|
||||
@@ -95,9 +108,12 @@
|
||||
"Wire and token-output regression tests pass"
|
||||
],
|
||||
"priority": 6,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/06-activation-framing-copies.md",
|
||||
"dependsOn": ["DIP-001"]
|
||||
"dependsOn": [
|
||||
"DIP-001"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-007",
|
||||
@@ -111,9 +127,13 @@
|
||||
"Tests cover chunking, slow consumers, failure, and legacy peers"
|
||||
],
|
||||
"priority": 7,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/07-prefill-backpressure.md",
|
||||
"dependsOn": ["DIP-001", "DIP-004"]
|
||||
"dependsOn": [
|
||||
"DIP-001",
|
||||
"DIP-004"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "DIP-008",
|
||||
@@ -127,9 +147,20 @@
|
||||
"Gate verifies token identity, session stability, and resource cleanup"
|
||||
],
|
||||
"priority": 8,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/distributed-inference-performance/issues/08-end-to-end-performance-gate.md",
|
||||
"dependsOn": ["DIP-002", "DIP-003", "DIP-004", "DIP-005", "DIP-006", "DIP-007"]
|
||||
"dependsOn": [
|
||||
"DIP-002",
|
||||
"DIP-003",
|
||||
"DIP-004",
|
||||
"DIP-005",
|
||||
"DIP-006",
|
||||
"DIP-007"
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"updatedAt": "2026-07-12T02:35:28.752Z"
|
||||
}
|
||||
}
|
||||
@@ -35,11 +35,12 @@
|
||||
"Full pytest passes or an exact unrelated blocker is recorded"
|
||||
],
|
||||
"priority": 2,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/node-capability-admission/issues/02-doctor-real-forward.md",
|
||||
"dependsOn": [
|
||||
"NCA-001"
|
||||
]
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "NCA-003",
|
||||
@@ -54,12 +55,13 @@
|
||||
"Full pytest passes or an exact unrelated blocker is recorded"
|
||||
],
|
||||
"priority": 3,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/node-capability-admission/issues/03-fail-closed-startup-admission.md",
|
||||
"dependsOn": [
|
||||
"NCA-001",
|
||||
"NCA-002"
|
||||
]
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "NCA-004",
|
||||
@@ -76,12 +78,13 @@
|
||||
"Full pytest passes or an exact unrelated blocker is recorded"
|
||||
],
|
||||
"priority": 4,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/node-capability-admission/issues/04-tracker-validated-capability-routing.md",
|
||||
"dependsOn": [
|
||||
"NCA-001",
|
||||
"NCA-003"
|
||||
]
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
},
|
||||
{
|
||||
"id": "NCA-005",
|
||||
@@ -96,15 +99,16 @@
|
||||
"Full pytest passes or an exact unrelated blocker is recorded"
|
||||
],
|
||||
"priority": 5,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"notes": "Source issue: .scratch/node-capability-admission/issues/05-docs-hardware-lane-contract.md",
|
||||
"dependsOn": [
|
||||
"NCA-002",
|
||||
"NCA-004"
|
||||
]
|
||||
],
|
||||
"completionNotes": "Completed by agent"
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"updatedAt": "2026-07-11T19:16:52.768Z"
|
||||
"updatedAt": "2026-07-12T01:54:03.030Z"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,16 @@
|
||||
# US-042 — GGUF/llama.cpp node backend
|
||||
|
||||
Status: planned
|
||||
Priority: High (whole-model GGUF shortcut; distributed path in [ADR-0024](../adr/0024-distributed-gguf-runtime.md))
|
||||
Priority: High (unlocks DeepSeek-V4-Flash on volunteer hardware — the pool's core value)
|
||||
Stage: Draft design
|
||||
|
||||
## Goal
|
||||
|
||||
Run **DeepSeek-V4-Flash** as the first real large-model target on volunteer
|
||||
hardware via GGUF/llama.cpp. This epic is no longer GLM-oriented: the initial
|
||||
objective is to prove that DeepSeek-V4-Flash can load and serve correctly on
|
||||
consumer/unified-memory nodes, then expand from there.
|
||||
|
||||
## Context
|
||||
|
||||
The node backend is transformers-only (`model_backend.py` →
|
||||
@@ -35,17 +42,7 @@ to it (single-hop route). Smallest step, no cross-node activation work, and
|
||||
already useful: Strix Halo 128 GB serves DeepSeek-V4-Flash IQ3_XXS (114 GB)
|
||||
via llama.cpp Vulkan today.
|
||||
|
||||
Recommended sequencing: **C first** (US-042), then **ADR-0024 benchmark gate** (DGR-001), then distributed native worker (DGR-002+). Direction B (llama.cpp RPC) is rejected per ADR-0024.
|
||||
|
||||
## Runtime sequencing
|
||||
|
||||
| Stage | Track | Delivers |
|
||||
|---|---|---|
|
||||
| **C — Whole-model GGUF** | US-042 (this issue) | Single-hop llama.cpp, billing, relay streaming |
|
||||
| **0 — Benchmark gate** | ADR-0024 DGR-001 | Safetensors vs GGUF measured contract |
|
||||
| **1 — Distributed GGUF** | ADR-0024 `.scratch/distributed-gguf-runtime/` | gRPC C++ worker, layer-range GGUF |
|
||||
|
||||
Phase C uses the existing tracker hop path (whole model, one node). ADR-0024 direction A (layer-range GGUF + activations) merges into the native worker track after the benchmark gate — not in parallel with phase C on the same backend without an integration plan.
|
||||
Recommended sequencing: C first (small, real value), then A/B investigation.
|
||||
|
||||
## Also in scope
|
||||
|
||||
|
||||
Reference in New Issue
Block a user