Skip to content

feat(kanban): show dashboard cron jobs across profiles + fix config.py markers (#27568)#28457

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-de55f5dd
May 19, 2026
Merged

feat(kanban): show dashboard cron jobs across profiles + fix config.py markers (#27568)#28457
teknium1 merged 1 commit into
mainfrom
hermes/hermes-de55f5dd

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Salvages #27568 by @SerenityTn.

Dashboard cron page lists cron jobs from all profiles with profile-aware filter UI and storage routing. Includes test coverage for cross-profile listing, mutation, deletion, and validation.

Also fixes orphan conflict markers in hermes_cli/config.py left in main by an earlier salvage merge (#28452 salvage of #23790). The dispatch_stale_timeout_seconds config key was double-nested in stale HEAD/PR markers; this PR cleans them up and keeps both the worker_log_rotate_bytes/orchestrator block and the stale_timeout config (both belong on main).

Resolved a small CronPage.tsx conflict — kept the contributor's jobKey (cross-profile id namespacing) and main's items-start className. Authorship preserved via rebase merge.

Validation

  • 6 cron-profile tests pass.

Salvages #27568 by @SerenityTn. Dashboard cron page now lists cron
jobs from all profiles, with profile-aware filter UI and storage
routing. Includes test coverage for cross-profile listing, mutation,
deletion, and validation.

Also fixes orphan conflict markers in config.py left by an earlier
salvage merge (kanban.dispatch_stale_timeout_seconds was double-nested
in HEAD/PR markers from #28452 salvage of #23790).
@teknium1 teknium1 merged commit 1a51727 into main May 19, 2026
@teknium1 teknium1 deleted the hermes/hermes-de55f5dd branch May 19, 2026 04:26
@github-actions

Copy link
Copy Markdown
Contributor

🔎 Lint report: hermes/hermes-de55f5dd vs origin/main

ruff

Total: 94 on HEAD, 94 on base (➖ 0)

🆕 New issues (30):

Rule Count
invalid-syntax 30
First entries
hermes_cli/config.py:1533: [invalid-syntax] Expected `,`, found `<<`
hermes_cli/kanban.py:370: [invalid-syntax] Expected `,`, found string
hermes_cli/config.py:1565: [invalid-syntax] Unparenthesized generator expression cannot be used here
hermes_cli/kanban.py:77: [invalid-syntax] Expected `:`, found `,`
hermes_cli/kanban.py:378: [invalid-syntax] Duplicate keyword argument "help"
hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `:`
hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `>>`
hermes_cli/config.py:1537: [invalid-syntax] Expected `:`, found `,`
hermes_cli/config.py:1565: [invalid-syntax] Expected `in`, found name
hermes_cli/kanban.py:77: [invalid-syntax] Expected `:`, found string
hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found `:`
hermes_cli/kanban.py:1341: [invalid-syntax] Expected `,`, found `<`
hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found `>>`
hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found name
hermes_cli/config.py:1537: [invalid-syntax] Expected `:`, found string
hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found name
hermes_cli/kanban.py:369: [invalid-syntax] Expected an expression or a ')'
hermes_cli/kanban.py:1343: [invalid-syntax] Expected `,`, found `=`
hermes_cli/config.py:1533: [invalid-syntax] Expected `,`, found `<`
hermes_cli/config.py:1558: [invalid-syntax] Expected `,`, found `=`
hermes_cli/kanban.py:1343: [invalid-syntax] Expected `,`, found `==`
hermes_cli/kanban.py:1346: [invalid-syntax] Positional argument cannot follow keyword argument
hermes_cli/config.py:1558: [invalid-syntax] Expected `,`, found `==`
hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `>`
hermes_cli/kanban.py:376: [invalid-syntax] Duplicate keyword argument "default"
... and 5 more

✅ Fixed issues (30):

Rule Count
invalid-syntax 30
First entries
../../../../../tmp/lint-base/hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `:`
../../../../../tmp/lint-base/hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `>>`
../../../../../tmp/lint-base/hermes_cli/kanban.py:77: [invalid-syntax] Expected `:`, found string
../../../../../tmp/lint-base/hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found name
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Expected `:`, found name
../../../../../tmp/lint-base/hermes_cli/kanban.py:1341: [invalid-syntax] Expected `,`, found `<`
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] ParseIntError { kind: Empty }
../../../../../tmp/lint-base/hermes_cli/config.py:1533: [invalid-syntax] Expected `,`, found `<<`
../../../../../tmp/lint-base/hermes_cli/kanban.py:1343: [invalid-syntax] Expected `,`, found `=`
../../../../../tmp/lint-base/hermes_cli/kanban.py:369: [invalid-syntax] Expected an expression or a ')'
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Unparenthesized generator expression cannot be used here
../../../../../tmp/lint-base/hermes_cli/kanban.py:1343: [invalid-syntax] Expected `,`, found `==`
../../../../../tmp/lint-base/hermes_cli/kanban.py:1346: [invalid-syntax] Positional argument cannot follow keyword argument
../../../../../tmp/lint-base/hermes_cli/config.py:1537: [invalid-syntax] Expected `:`, found `,`
../../../../../tmp/lint-base/hermes_cli/kanban.py:376: [invalid-syntax] Duplicate keyword argument "default"
../../../../../tmp/lint-base/hermes_cli/kanban.py:1346: [invalid-syntax] Expected `,`, found `>`
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Expected `in`, found name
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found `:`
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found `>>`
../../../../../tmp/lint-base/hermes_cli/config.py:1537: [invalid-syntax] Expected `:`, found string
../../../../../tmp/lint-base/hermes_cli/kanban.py:81: [invalid-syntax] Expected `:`, found name
../../../../../tmp/lint-base/hermes_cli/config.py:1565: [invalid-syntax] Expected `,`, found name
../../../../../tmp/lint-base/hermes_cli/config.py:1533: [invalid-syntax] Expected `,`, found `<`
../../../../../tmp/lint-base/hermes_cli/kanban.py:1341: [invalid-syntax] Expected `,`, found `<<`
../../../../../tmp/lint-base/hermes_cli/config.py:1558: [invalid-syntax] Expected `,`, found `=`
... and 5 more

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 9002 on HEAD, 9000 on base (🆕 +2)

🆕 New issues (2):

Rule Count
unresolved-import 2
First entries
tests/hermes_cli/test_web_server_cron_profiles.py:4: [unresolved-import] unresolved-import: Cannot resolve imported module `fastapi`
tests/hermes_cli/test_web_server_cron_profiles.py:3: [unresolved-import] unresolved-import: Cannot resolve imported module `pytest`

✅ Fixed issues: none

Unchanged: 4692 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard comp/tui Terminal UI (ui-tui/ + tui_gateway/) comp/cron Cron scheduler and job management labels May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard comp/cron Cron scheduler and job management comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants