Move issues (01–29) and PRD from .scratch/distributed-inference-network/ into docs/issues/ and docs/. Update ralph_progress.py DEFAULT_PRD path and rewrite docs/agents/issue-tracker.md to reflect the new layout. The distributed_inference_network.egg-info/docs/ mirror is a build artifact already covered by *.egg-info/ in .gitignore — not committed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
957 B
Markdown
25 lines
957 B
Markdown
# US-024 — Enhanced availability map with per-node health details
|
|
|
|
Status: done
|
|
Priority: Medium
|
|
Stage: Implemented
|
|
|
|
## Context
|
|
|
|
`GET /v1/coverage/<model>` returns band-level coverage (start_layer, end_layer, node_count)
|
|
but gives no visibility into which specific nodes are in each band or whether they are alive.
|
|
Operators debugging a split-model deployment need to see node-level health at a glance.
|
|
|
|
## Format decision
|
|
|
|
Both: band metadata + node list grouped under each band. Dead nodes included with `healthy: false`
|
|
so operators can see them.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] Each band in the response includes `nodes: [{node_id, endpoint, healthy, queue_depth, last_seen_s}]`
|
|
- [ ] `healthy` is `true` iff last heartbeat < `heartbeat_timeout` seconds ago
|
|
- [ ] Existing band fields (`start_layer`, `end_layer`, `node_count`) preserved
|
|
- [ ] Tests updated to check band fields individually (not exact dict comparison)
|
|
- [ ] `python -m pytest` passes
|