fix(connect): reject from_layer == 0 in cluster activation validation (#1054)

AD
4d ago
+695-3

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.