Skip to content

fix(curator): make manual runs synchronous#20556

Closed
LeonSGP43 wants to merge 1 commit into
NousResearch:mainfrom
LeonSGP43:fix/curator-cli-sync-run-20555
Closed

fix(curator): make manual runs synchronous#20556
LeonSGP43 wants to merge 1 commit into
NousResearch:mainfrom
LeonSGP43:fix/curator-cli-sync-run-20555

Conversation

@LeonSGP43

Copy link
Copy Markdown
Contributor

Summary

  • make hermes curator run and hermes curator run --dry-run wait for the curator LLM/report pass by default
  • add explicit --background for the legacy non-blocking behavior, with --sync taking precedence
  • annotate missing last_report_path values in hermes curator status so stale paths are visible

Fixes #20555.

Verification

  • scripts/run_tests.sh tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py -> 9 passed
  • scripts/run_tests.sh tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py tests/hermes_cli/test_curator_archive_prune.py tests/agent/test_curator_reports.py tests/agent/test_curator.py tests/agent/test_curator_activity.py tests/agent/test_curator_classification.py tests/agent/test_curator_backup.py -> 144 passed
  • ruff check hermes_cli/curator.py tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py -> passed
  • python -m py_compile hermes_cli/curator.py tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py -> passed
  • git diff --check -> clean

@steezkelly steezkelly left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified this PR against the curator CLI failure I reported in #20555.

Checks run locally in a clean detached worktree for this PR:

scripts/run_tests.sh tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py tests/hermes_cli/test_curator_archive_prune.py tests/agent/test_curator_reports.py tests/agent/test_curator.py tests/agent/test_curator_activity.py tests/agent/test_curator_classification.py tests/agent/test_curator_backup.py
144 passed

ruff check hermes_cli/curator.py tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py
All checks passed

python -m py_compile hermes_cli/curator.py tests/hermes_cli/test_curator_run.py tests/hermes_cli/test_curator_status.py
passed

git diff --check origin/main...HEAD
clean

The implementation matches the intended fix: manual hermes curator run / --dry-run now waits for the LLM/report phase by default, --background preserves legacy async behavior, and --sync wins if both flags are supplied. I do not see a blocker.

@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists labels May 6, 2026
@teknium1

teknium1 commented May 7, 2026

Copy link
Copy Markdown
Contributor

Merged via #21216 — your fix, cherry-picked onto current main with your authorship preserved in git log. Full PR URL: #21216
Merge commit: 6b9f7140b
Thanks!

@teknium1 teknium1 closed this May 7, 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 P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: hermes curator run can lose LLM reports because CLI exits while background daemon thread is still running

4 participants