Skip to content

Show Fleet Inboxes and machine reachability in status - #1816

Merged
JacobStephens2 merged 4 commits into
issue-1142from
issue-1762
Nov 6, 2026
Merged

JacobStephens2 merged 4 commits into
issue-1142from
issue-1762

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

Commands on paired machines were missing from status. They now join the local Inbox, with Fleet totals and per-machine failures.

status → local Inbox + authenticated Fleet Inbox reads → grouped rows + machine health

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. --local is the explicit owning-machine CLI/API twin. JSON version 2 carries hostnames, Fleet names and per-machine reachability.

Closes #1762

Evidence

Execution evidence

  • Before: cargo test --test console fleet::status_merges_paired_inboxes_without_regrouping_their_rows -- --exact failed: 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.
  • Before: python3 /tmp/issue-1762-spec-repro.py order failed with ['failed', 'silent']; python3 /tmp/issue-1762-spec-repro.py name-collision failed because text omitted remote-silent despite JSON containing both machines.
    After: both exact commands exited 0: ['silent', 'failed'], and both rows and machine contributions print. Retained in tests/console/fleet_regressions.py, invoked by the Rust integration suite.
  • Before: the Standards review's two-Console reproduction failed with one API machine versus two Fleet CLI machines.
    After: python3 tests/console/fleet_api_parity.py exits 0: default status includes both; the explicitly declared status --local --json twin 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-1142 selected 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 lacked tomllib, 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 head dbdb8688.

Visual evidence

Fleet manual, same section state. Before: PR base 84b07cde; After: this branch. Playwright captures held in a secret Gist.

Desktop, 1440×900:

Before
After

Mobile, 390×844:

Before
After

Review coverage

thirdshift-code-review against fixed point issue-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, unread tests/console/tokens.rs and tests/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

  • Security review refused: Codex's cybersecurity safeguard refusal

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

@JacobStephens2
JacobStephens2 merged commit 0be6e87 into issue-1142 Nov 6, 2026
16 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1762 branch November 6, 2026 13:20
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