20260924 - Report per node whether a release landed, and why not - #11
Merged
Merged
Conversation
ret9573ecda failed two releases in a row and ran with no radar for four weeks before anyone noticed; a rollout was judged by its statistics. The report gives every accepted node one verdict: landed, test build, pending, retryable, not targeted or needs a person, with the reason. Versions come from the per-type inventory attributes and failure reasons from deploy_retry.classify. Two things it has to get right, both seen on the live fleet on 2026-09-24: a device is only handed its deployment when it checks in, so Roswell, offline since July but accepted before the rollout, is pending, not missed; and a device accepted after a rollout was created is never offered it at all. Run against the fleet for owl-os v0.17.0 + retina-node v0.4.6.0: 16 landed, 2 test builds, 1 pending (Roswell), 2 need a person (the 192.168.68.x site's power cuts). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #10. Item 5b of ClickUp OTA deployments miss part of the fleet on every release (123zgec4tmx). Read-only: it creates nothing.
rollout_report.pygives every accepted node one verdict for the latest stable release (or the ones named):retina_stackis notup-devbuilddeploy_retrywould retryVersions come from the rootfs-image and docker-compose attributes, never
artifact_name. Failure reasons come fromdeploy_retry.classify, so the report and the retry agree.Live run, 2026-09-24, owl-os v0.17.0 + retina-node v0.4.6.0
16 landed · 2 test build (Josh Test Nodes) · 1 pending (Roswell, offline since 2026-07-26) · 2 needs a person (ret9573ecda, retc47d6f72: power lost mid-deployment, retry not enabled).
Found while building it
A device is handed its deployment only when it checks in, so a node offline since before the rollout has no deployment yet and must read as pending. And "All devices" rollouts cover only devices accepted when they were created: three nodes accepted in September never joined the 2026-09-03 rollout despite spare slots. Onboarding covers new nodes.
13 tests; 59 with #10's.
retina_stackfills in once owl-os#61's inventory script ships.🤖 Generated with Claude Code