fix(connect): reject from_layer == 0 in cluster activation validation (#1054)
AD
4d ago+695+695+012345678901234567890123456789-3-3-0123456789
Layer 0 is the first stage's input, not an inter-stage handoff, so the validator no longer seeds valid_boundary with from_layer == 0; only the layer_start of a non-first stage is accepted. The header doc is updated and the test pins the rejection of from_layer == 0 alongside the existing valid (16) and invalid (7) cases.
Stacked on #723, so the diff includes its commits until it merges.
Closes #1054
Summary by cubic
Adds cluster orchestration to the Connect subsystem for sharding a model's layers across multiple devices, and fixes activation validation so from_layer == 0 is rejected as the first stage's input rather than an inter-stage handoff.
New Features
- Four new
rac_connect_cluster_*ABI functions: start (with idempotent same-layout restart), join, stop, and validate activation. - Layer assignments must be contiguous and gap-free; peer joins check capability span; activation validation rejects layer 0 and non-boundary layers, and checks tensor dimensions and size.
- Bumps IDL to 1.7.0 with the new cluster proto messages and updated schema lock.
Summary by CodeRabbit
- New Features
- Added cluster coordination, including starting and stopping a cluster and allowing assigned peers to join.
- Added validation for cluster assignments, peer eligibility, and intermediate activation data, with responses for invalid or conflicting requests.
- Added support for validating intermediate activations passed between model stages.
- Updated the Connect interface version to include the new cluster messages.