Files
neuron-tai/docs/issues/02-two-node-shard-pipeline.md
Dobromir Popov d1e75ddded docs: consolidate all docs under docs/ — single source of truth
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>
2026-07-01 14:18:26 +03:00

1.6 KiB

Status: ready-for-agent

02 — Two-node shard pipeline

What to build

Extend the single-node smoke test so that inference is routed through exactly two nodes, each serving half of a stub model's layers. Activation tensors must travel from the gateway to node A, then from node A to node B, and the final output returns to the gateway. This proves the distributed shard pipeline works end-to-end before real models or a real tracker are introduced.

The two nodes run in the same process as the test (no real network required). The gateway hardcodes the two-node route for now — dynamic route selection comes in issue 03. The activation tensor protocol (shape, dtype, serialisation format) must be established here, as all later issues depend on it.

Use the domain vocabulary from CONTEXT.md: the ordered list of nodes is an inference route; each node's layer range is a shard; the tensors passed between nodes are activations (not "data" or "chunks").

Acceptance criteria

  • The integration test spins up two stub nodes, each configured with a non-overlapping shard range
  • A POST /v1/chat/completions request results in activation tensors flowing node-A → node-B (verifiable via test assertions or logs)
  • The gateway assembles the final response correctly from node-B's output
  • The test passes with no external services running
  • The activation tensor serialisation format is documented in a short inline comment (shape, dtype, wire format) — this becomes the contract all future nodes implement

Blocked by

  • 01-monorepo-scaffold.md