Poll Machine upgrades by resending the request#1645

merged1
rpc-simplify/r1-subtract
rpc-simplify/r2-upgrade
openedOct 12, 2026byNNick
View on GitHubGitHub import enabledPR last imported 21d ago

Second PR of the Machine RPC catalog simplification. Upgrade polling moves onto the request itself. InspectMachineUpgrade goes.

What changes

  • A resent RequestMachineUpgrade with a known attempt_id now reconciles the stored attempt against its worker before it answers. A dead worker reads Interrupted on the resend. Before, it read Running until the observation limit.
  • Inspect gains upgrade, the latest attempt after the same reconciliation. An old daemon omits it.
  • ployz server upgrade and Cloud's server-upgrade poll resend the same {attempt_id, release}. The 15 s sleep and the 20 min cap stay.
  • ployz server inspect reads upgrade from Inspect.
  • InspectMachineUpgrade goes from the catalog, the daemon, the SDK, ployz.server.ts and the fakes. core/DESIGN.md appends it to the removed-verbs paragraph.
  • RequestMachineUpgrade keeps its route, request, reply and capability name. Cloud gets no requirement for it.

Who notices

Nobody on purpose. Upgrades from Cloud and from the CLI keep working against Servers on the current release, because the request they resend is unchanged. A v0.2.4 daemon answers a resend from its stored record. The new daemon reconciles after its restart.

Draft until the top of the stack is verified end to end.

Checks

16 successful · 1 skipped
All checks passed
8724910
Synced from GitHub

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

yaml
1reviews:
2 auto_review:
3 drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Added 1 commit

  • Poll Machine upgrades by resending the request8724910