Repository navigation
Spec: the Fleet in the Console - #1815
Merged
Merged
Conversation
Add Fleet listing and CLI pairing
Show Fleet Inboxes and machine reachability in status
A paired machine's status document can set issue.url independently of the repository and number that the Inbox shows as the link text. Drop that href unless it is the same GitHub issue or pull request.
Show the Fleet in the Console Inbox
Fleet: remote Stop, Dismissal and Undo
Preserve in-place Fleet details alongside remote Stop, Dismiss and Undo. Share the viewer identity helper and regenerate the manual from its merged source.
Open remote Fleet Command details in the caller Console
A Fleet document chooses its issue URL and advisory URLs independently of the text beside them. Command details now keeps the issue link only when it names the visible repository and number, and an advisory link only when it is a github.com advisory. The visible text stays either way.
JacobStephens2
marked this pull request as ready for review
November 6, 2026 21:00
Preserve Fleet help and documentation alongside upstream Console start and admin features. Reconcile the CLI parity inventory and start-command match, keep Fleet destinations shell-controlled, and use the existing Fleet migration helper in the new config writer. Validation: 67 site tests and 158 Console browser tests passed; clippy and formatting passed. Focused parity, Fleet migration, API config and CLI config checks passed. The full Rust run stopped with 880 passed and one systemd transient-scope collision; 3038 tests were unrun. The failed merge-run test passed in isolation.
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
One Console shows its Fleet in the existing Inbox, with machine tags, a URL machine filter, freshness, reachability, Fleet counts and notifications. Remote details open in place; Stop, Dismissal and Undo run on the owning machine with its authorization and Activity log.
Includes CLI pairing and legacy link migration, Fleet status JSON v2,
--machinefor status/actions/details, scope-aware controls, remote child Ticket details and bounded log previews, plus the manual and site updates.Whole-Spec review fixes local-hostname Stop/Dismissal/Undo and details for Fleet aliases matching the caller hostname. Inbox ordering and paired destination lookup now share their owning rules.
Closes #1142
Evidence
Test seams
Execution evidence
cargo test --test console local_hostname_dismissal_and_undo_use_the_local_commandFAILED,unknown Fleet machine(plain Dismissal succeeded).ok. 1 passed; 0 failed, including Undo and local CLI attribution.cargo test --test console hostname_alias_details_stay_remote_while_api_and_cli_stay_localleft: 404, right: 200.ok. 1 passed; 0 failed, covering Peek, Waterfall, spans, logs, and local API/CLI selection.The Spec reviewer's two full Python reproductions failed against the reviewed head and exited 0 after the fixes.
CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=3 scripts/affected-tests main:failed_run::when_origin_rejects_the_failure_push_the_worktree_and_local_branch_are_keptfixture hit systemd'sUnit ... was already loaded or has a fragment filebefore its intended scenario ran.cargo nextest runtook 1209.90s, including 4m18s compilation; test execution was 949.462s. The full selector took 1561.79s on this Linux host. The full Rust suite is not green evidence.cargo test --test failed_run when_origin_rejects_the_failure_push_the_worktree_and_local_branch_are_kept -- --exact: 1 passed on the isolated rerun (2.76s).cargo test --bin thirdshift logs::reading::tests: 43 passed.cargo test --test status: 78 passed, 1 ignored.Visual evidence
Synthetic Command fixtures, Focus light Theme, same Inbox flow. Before uses
mainin a temporary detached worktree; After uses the reviewed branch plus fixes. The current base also contains its later Start work controls.1440×900 desktop:
390×844 phone:
Unaddressed findings
Standards
None. Both findings addressed: reuse the typed Inbox ordering key and share paired destination/token resolution.
Spec
None. Both reproduced findings fixed: explicit local-hostname actions and hostname-colliding Fleet aliases in browser details.
Security
None. Remote Command details keep an issue or advisory link only when it names the GitHub record shown beside it.
Security review outcome
No unaddressed introduced findings.
Review coverage
Standards: 2 findings. Spec: 2 findings. Each independent reviewer read all 75 changed paths, including generated manual hunks and the hand-written site pages. No generated-output exclusions. No changed file left unread by either axis; all repair edits are within reviewed paths. Reports and final files-read lists:
.thirdshift-review-NHJDZz/standards.mdand.thirdshift-review-NHJDZz/spec.md; counts insummary.json. No findings were declined or deferred, so no triage issues were needed.Merge Danger
Door: two-way
Config writes migrate legacy
other_consolestofleet; status JSON advances to version 2. Credentials remain in their owner-only file. Remote actions affect the owning machine's Commands and logs.Blast Radius: Fleet
Pairing, Console Inbox/details/actions, CLI status/actions/details, and config migration.
Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh
Tickets