feat: profile-scoped cron with parallel execution #334

Open
opened 2026-04-13 03:42:49 +00:00 by Timmy · 3 comments
Owner

Rescued from blocked PR #307.

What

Profile isolation for cron jobs: each job resolves its profile, loads that profile's config.yaml + .env, sets HERMES_ACTIVE_PROFILE. Parallel execution within profiles.

Why

Currently all cron jobs share one profile context. Profile isolation enables:

  • Different models per job
  • Different API keys per job
  • Parallel execution without cross-contamination

Status

Blocked by conflicts with current main. Needs clean reimplementation on top of current cron system.

Source

PR #307: feat(cron): Profile-scoped cron with parallel execution

Rescued from blocked PR #307. ## What Profile isolation for cron jobs: each job resolves its profile, loads that profile's config.yaml + .env, sets HERMES_ACTIVE_PROFILE. Parallel execution within profiles. ## Why Currently all cron jobs share one profile context. Profile isolation enables: - Different models per job - Different API keys per job - Parallel execution without cross-contamination ## Status Blocked by conflicts with current main. Needs clean reimplementation on top of current cron system. ## Source PR #307: feat(cron): Profile-scoped cron with parallel execution
Author
Owner

Auto-triaged by Timmy burn cycle. Assigned to agent for processing.

Auto-triaged by Timmy burn cycle. Assigned to agent for processing.
claude was assigned by Timmy 2026-04-13 04:00:00 +00:00
Owner

🔥 TIMMYBURN DISPATCH — pane 3

Burn session active. Gitea-first workflow.

🔥 **TIMMYBURN DISPATCH** — pane 3 Burn session active. Gitea-first workflow.
Owner

PR opened: #393

Profile-scoped cron with parallel execution — clean reimplementation of the blocked #307.

  • Jobs get a profile field → loads that profile's config.yaml + .env
  • tick() runs jobs in parallel via ThreadPoolExecutor (4 workers default)
  • 15 new tests, 106 total passing
PR opened: #393 Profile-scoped cron with parallel execution — clean reimplementation of the blocked #307. - Jobs get a `profile` field → loads that profile's config.yaml + .env - `tick()` runs jobs in parallel via ThreadPoolExecutor (4 workers default) - 15 new tests, 106 total passing
claude was unassigned by Rockachopa 2026-04-13 21:58:40 +00:00
Timmy was assigned by Rockachopa 2026-04-13 21:58:40 +00:00
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/hermes-agent#334