Skip to content

Group cron jobs by repository - #1981

Merged
JacobStephens2 merged 6 commits into
mainfrom
issue-1825
Nov 10, 2026
Merged

JacobStephens2 merged 6 commits into
mainfrom
issue-1825

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

Interleaved schedules currently appear in one flat listing. Group machine-local cron schedules by repository in the CLI, JSON inventory and Console. Preserve every job, its command, duplicates and crontab order within each repository; unresolved entries appear under Other.

Cron jobs
├── owner/first  → terminal crontab block
├── owner/second → terminal crontab block
├── Other        → unresolved entries
├── Run Passes now
└── Last fired by repository

Resolve literal Launch directories through the owning machine's GitHub origins without executing cron text. Keep the flat JSON array with nullable repository metadata; older remote inventories display under Other. Update OpenAPI, the manual and the hand-written site description.

Closes #1825

Evidence

Execution evidence

  • Before: cargo test --test console cronjobs_groups_repositories_stably_in_cli_and_api failed: assertion left == right failed; jobs had no repository metadata and remained in interleaved crontab order. test result: FAILED. 0 passed; 1 failed.
    After: the same command passed: test result: ok. 1 passed; 0 failed.
  • cargo test --test console cronjobs:: rebuilt the final commit and passed all 9 focused tests, including unresolved paths, quoted/home paths, substitutions, duplicates, directory-changing compounds, CLI/API agreement, older remote payloads and scope restrictions.
  • The Spec review's direct and wrapped second-directory-change reproductions were run unchanged before deciding the finding. Both failed with Wrong repository: acme/first; expected acme/second or unresolved; both pass after the fix. Retained regression: cronjobs_keeps_directory_changing_compounds_under_other.
  • /usr/bin/time -p scripts/affected-tests main passed in 3,752.64s: 68 site checks, 185 Console browser checks, and 4,116 Rust tests passed (97 skipped). The full cargo nextest run took 3,431.01s including compilation (3m 27s); its test execution took 3,222.182s.
  • cargo fmt --check and cargo clippy --all-targets -- -D warnings passed.

Test seams: CLI text/JSON, Console HTTP JSON/rendered pages, and browser interaction at desktop/phone widths with and without JavaScript.

Visual evidence

Cron jobs, identical fixture and state, 1440×900:

Before desktop
After desktop

Cron jobs, identical fixture and state, 390×844:

Before phone
After phone

Review coverage

Reviewed with git diff refs/remotes/origin/main...HEAD (merge base 02c96545737cbd35efb69dd1ef93594f218ba9f2). Standards: 0 findings. Spec: 1 finding, addressed by conservative handling of directory-changing compounds and a retained regression.

Both reviewers read all 11 changed files, including the generated manual's changed output. No generated-output exclusions or wholly unread changed files. The final wrapper hardening in src/launch_directories.rs and tests/console/cronjobs.rs followed the reviewers' final follow-up and was verified by retained tests and both exact reproductions; those final hunks were not independently reread.

Unaddressed findings

Standards

None.

Spec

None. The wrong-directory association finding is fixed, including its command cd follow-up.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Revert restores the previous inventory and layout; no stored data migration.

Blast Radius: Cronjobs

Changes CLI schedule headings, job ordering and Console schedule groups, and adds a nullable JSON field. Unsupported directory-changing shell compounds remain visible under Other and are omitted from Run now choices.

Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit ecaf0d4 into main Nov 10, 2026
16 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1825 branch November 10, 2026 22:34
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.

Separate the cronjobs view by repository

1 participant