Skip to content

cli: read Hive aggregate subnet env - #1053

Merged
ch4r10t33r merged 1 commit into
mainfrom
fix/hive-client-interop-1784586818
Jul 21, 2026
Merged

cli: read Hive aggregate subnet env#1053
ch4r10t33r merged 1 commit into
mainfrom
fix/hive-client-interop-1784586818

Conversation

@zclawz

@zclawz zclawz commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • accept HIVE_AGGREGATE_SUBNET_IDS as a startup fallback for aggregator subnet selection
  • keep explicit --aggregate-subnet-ids behavior and validation unchanged
  • factor aggregate subnet CSV parsing into a helper with unit coverage

Hive context

Suite: https://hive.leanroadmap.org/suite.html?suiteid=1784586818-a3eb27685f4418cb92cbcec02266f5f5.json&suitename=client-interop&client=zeam_devnet5

The client-interop simulator sets HIVE_AGGREGATE_SUBNET_IDS for multi-subnet aggregators, and gean/grandine forward that value as --aggregate-subnet-ids. The zeam Hive wrapper currently only forwards --is-aggregator, which leaves zeam aggregators subscribed to their local validator subnets instead of all assigned aggregate subnets. This makes zeam miss cross-subnet attestation traffic in the failing interop topologies.

Reading the env var in zeam keeps the existing CLI flag as the operator-visible override while making the devnet5 Hive client behave with the simulator's aggregator assignment contract.

Validation

  • zig fmt --check pkgs/cli/src/node.zig
  • git diff --check
  • /home/node/.openclaw/workspace/.tools/zig-0.16.0/zig build test --summary all was started and reached/passed several lightweight package test groups, but the local container cannot complete the repo test target because rustup is not installed (failed to spawn ... rustup: FileNotFound).

Note: I used Zig 0.16.0 from /home/node/.openclaw/workspace/.tools/zig-0.16.0/zig; the default /usr/local/bin/zig is 0.15.2 and cannot load this checkout's dependencies.

@zclawz

zclawz commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Status: ready for review.

I traced the zeam-owned Hive interop issue to aggregator subnet selection: Hive sets HIVE_AGGREGATE_SUBNET_IDS for multi-subnet aggregators, but zeam was only reading the CLI flag. This PR reads that env var as a fallback when --is-aggregator is set, preserving explicit CLI behavior.

Validation so far:

  • zig fmt --check pkgs/cli/src/node.zig
  • git diff --check
  • started zig build test --summary all with Zig 0.16.0; local run is blocked by missing rustup, after several lightweight Zig package test groups passed.

@ch4r10t33r ch4r10t33r left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ch4r10t33r
ch4r10t33r merged commit c1d762f into main Jul 21, 2026
14 checks passed
@ch4r10t33r
ch4r10t33r deleted the fix/hive-client-interop-1784586818 branch July 21, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants