Repository navigation
Show Fleet Inboxes and machine reachability in status - #1816
Merged
Merged
Conversation
This was referenced Nov 6, 2026
Merged
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.
Summary
Commands on paired machines were missing from status. They now join the local Inbox, with Fleet totals and per-machine failures.
Test seams: CLI (
status, pairing and token revocation) and each Console's HTTP API, backed by fixture Command records and bounded HTTP stand-ins.--machine <name>selects a paired machine; the local hostname keeps the default Fleet view.--localis the explicit owning-machine CLI/API twin. JSON version 2 carries hostnames, Fleet names and per-machine reachability.Closes #1762
Evidence
Execution evidence
cargo test --test console fleet::status_merges_paired_inboxes_without_regrouping_their_rows -- --exactfailed:left: 1,right: 2(only the local Command appeared).After: the same command passed:
1 passed; 0 failed. The complete Fleet module also passed all 10 tests.python3 /tmp/issue-1762-spec-repro.py orderfailed with['failed', 'silent'];python3 /tmp/issue-1762-spec-repro.py name-collisionfailed because text omittedremote-silentdespite JSON containing both machines.After: both exact commands exited 0:
['silent', 'failed'], and both rows and machine contributions print. Retained intests/console/fleet_regressions.py, invoked by the Rust integration suite.After:
python3 tests/console/fleet_api_parity.pyexits 0: default status includes both; the explicitly declaredstatus --local --jsontwin matches the owning-machine API.Final local validation: 3856 Rust tests passed, 91 ignored, covering the unit suite and all 94 integration binaries.
scripts/affected-tests issue-1142selected site, Console and full Rust checks; site passed (105.27s) and Console browser tests passed (136.00s). Rust checks were resumed with Python 3.11.13 after the host's Python 3.9 lackedtomllib, and after the timestamp/hint/version expectation updates. Completed checks were retained at the same product source; the final 81-binary batch passed in 2040.29s with compilation cached. Formatting and Clippy passed, including the targeted Console check after its test updates. The complete Console integration suite passed (214 passed, 1 ignored), and show/logs passed (16 passed, 1 ignored). CI is still running on the final published headdbdb8688.Visual evidence
Fleet manual, same section state. Before: PR base
84b07cde; After: this branch. Playwright captures held in a secret Gist.Desktop, 1440×900:
Mobile, 390×844:
Review coverage
thirdshift-code-reviewagainst fixed pointissue-1142(a7d76bbb), including inherited pairing commits, with one follow-up per axis. Standards: 2 findings; Spec: 2. All four addressed; behavioral reproductions run before deciding them.Final changed-file coverage: Standards 36/37, unread
tests/show_logs.rs; Spec 35/37, unreadtests/console/tokens.rsandtests/show_logs.rs. These files received test-only expectation updates after the single coverage follow-up; the implementing agent checked them. Product code is unchanged from the reviewed head. Both axes read generated HTML directly; generated-output exclusions: none.Unaddressed findings
Standards
None. Both addressed: explicit local CLI/API parity and shared row presentation.
Spec
None. Both fixed: merged Inbox ordering and hostname-collision visibility.
Security review outcome
Merge Danger
Door: two-way
Blast Radius: status
Status JSON advances to version 2; consumers requiring version 1 need to update. Remote reads are sequential and bounded to three seconds per machine.
Built with codex codex-cli 0.166.0 · gpt-6.1-sol · xhigh