Skip to content

fix(fleet): resolve registered worker node from SDK metadata - #487

Merged
kjgbot merged 1 commit into
mainfrom
lane/agent-registration-0906
Sep 6, 2026
Merged

fix(fleet): resolve registered worker node from SDK metadata#487
kjgbot merged 1 commit into
mainfrom
lane/agent-registration-0906

Conversation

@kjgbot

@kjgbot kjgbot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

A remote worker can be online on its assigned sandbox while Factory reports that it never registered. The Relay SDK carries the worker's placement in metadata.fleet.node_id, but the fleet adapter reads only top-level node fields. Its registration check consequently compares an absent node with the placement's node name and times out.

Resolve the metadata node ID through the node roster before comparing placement. Preserve the existing presence, live-node, capability, and exact-host checks and the 30-second registration deadline. Legacy injected messaging surfaces retain their existing top-level field support.

Validation:

  • Both new SDK-boundary regression cases failed before the fix: AssertionError: expected false to be true. They use the real published SDK normalizer for snake_case and camelCase inputs and verify rejection for missing/wrong hosts, offline presence, dead nodes, and missing capabilities.
  • Fleet tests: 102 passed. Orchestrator remote discovery/admission tests: 3 passed (718 intentionally excluded by the test filter). Build and diff whitespace check passed.
  • A private captured-data replay through SDK 11.6.9 reproduced four online workers on live capable nodes being rejected before the fix; all four are recognized afterward. A deployed worker record also confirms registration before the reported timeout. Full private identifiers and payloads are excluded here.

No timeout, readiness, breaker, or provisioning guard was widened. Production rollout remains unverified until this change is reviewed, released, and deployed.

CI 34053195710 completed successfully on 7893c706e593cb8ee607b2616d19ed866fcab8e5: all five jobs passed, including the full package suite, packed lifecycle verification (12 checks with a head-bound attestation), and all four infrastructure E2E jobs. Confirmed using gh run list --branch lane/agent-registration-0906. This draft remains unmerged; no independent review signoff is claimed.

Session-Id: 01a0780a-52c0-7140-8c30-1a9b57898d53
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: ad31fbd2-23a6-49a1-84ac-e07af018ba4e


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kjgbot
kjgbot marked this pull request as ready for review September 6, 2026 19:11
@kjgbot
kjgbot merged commit b0b0ee6 into main Sep 6, 2026
9 checks passed
@kjgbot
kjgbot deleted the lane/agent-registration-0906 branch September 6, 2026 19:12
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

@coderabbitai review

Requested for exact head 7893c706e593cb8ee607b2616d19ed866fcab8e5.

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.

1 participant