Repository navigation
Show Fleet cron schedules by repository and machine - #1987
Merged
Merged
Conversation
This was referenced Nov 11, 2026
This was referenced Nov 11, 2026
Merged
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
Cron jobs now offers Fleet schedules at
/cronjobs?fleet=true, with matchingthirdshift cronjobs --fleet [--json]output.Inventories use owning-machine repository metadata and conservative nullable Command kinds. Reads forward the signed-in person; CLI reads use the token holder.
/api/v1/cronjobsremains local. Run now and Last fired remain in each machine's view.Closes #1969
Evidence
Execution evidence
cargo test --test console cronjobs::cronjobs_classifies_literal_commands_without_executing_them -- --exact --test-threads=3failed:left: None,right: Some(String("Pickup run")).After: the same command passed:
1 passed; 0 failed.python3 tests/console/cronjobs_fleet.py target/debug/thirdshiftfailed:AssertionError: thirdshift: ... usage: thirdshift cronjobs [--json].After: the same command passed:
Fleet CLI/page grouping, empty inventories, partial failures and API isolation passed.scripts/affected-tests mainselection passed site checks (68 checks plus manual generation; 99.03s), the binary build and all 190 Console browser checks (579.26s). Node test files ran serially; Rust used eight Nextest workers with retries disabled.cargo clippy --all-targets -- -D warningspassed.cargo test --test process_tree interrupting_a_codex_run_stops_a_command_in_its_own_session -- --exact --test-threads=1passed alone in 1.89s. Full CI for the exact head68d661ecpassed 4,185 Rust tests, with 97 skipped (1,233.708s test execution plus 74s compilation). CI site, Console and both Linux artifact builds also passed. Reused that successful full-suite result as the repository directs.Seams under test: the
cronjobsCLI; local/api/v1/cronjobs; signed-in local and Fleet Cron jobs pages; owning-machine HTTP reads and forwarded-person/read-scope enforcement; browser navigation, escaping and phone-width layout with and without JavaScript. Fixtures cover shared repositories, multiple Command kinds, unknown and legacy metadata, duplicates, empty inventories, independent failures, link-only machines and API non-relay behavior.Visual evidence
1440 × 900, Cron jobs with the same local and Fleet fixture inventory:
390 × 844, same flow and fixture inventory:
Long machine names: wrapping regression before and after
1440 × 900:
390 × 844:
cargo test --bin thirdshift cronjobs::fleet::tests::a_fleet_report_cannot_forge_another_machines_line -- --exact --test-threads=3failed before the fix (exit 101). A remote schedule newline, line separator, and terminal controls were printed as extra Fleet report lines, including a forgedwest: okstatus. The same test passed after the text report folds those characters.--jsonstill keeps the original field text.Review coverage
Independent Standards and Spec reviews used
refs/remotes/origin/mainas the fixed point. Both read all 21 changed files, including the generated manual; no generated exclusions and no changed files left unread. Standards raised one parsing-duplication finding, fixed by sharing the literal argument parser. Spec raised one machine identity collision finding: its exact reproduction failed before the fix (AssertionError: Local and remote schedules were merged) and passed afterward. The regression is retained; local display names now remain distinct from all configured Fleet names. Both findings are addressed.Unaddressed findings
Standards
None.
Spec
None.
Security
None.
Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Read-only schedule inspection with additive inventory metadata; no scheduling or persistent-data migration. Reverting restores the previous page and CLI behavior.
Blast Radius: Console
Affects Cron jobs CLI/page/API output and Fleet read presentation. Requests use the existing validated Fleet transport, per-request timeout and redirect policy; healthy inventories remain visible when another machine fails.
Built with codex codex-cli 0.167.0 · gpt-6.1-sol · high