Skip to content

feat(routines): human-readable cron schedule summaries in web UI#1154

Merged
zmanian merged 3 commits intonearai:stagingfrom
G7CNF:codex/issue-1131-human-cron
Mar 14, 2026
Merged

feat(routines): human-readable cron schedule summaries in web UI#1154
zmanian merged 3 commits intonearai:stagingfrom
G7CNF:codex/issue-1131-human-cron

Conversation

@G7CNF
Copy link
Copy Markdown
Contributor

@G7CNF G7CNF commented Mar 13, 2026

Summary

  • add describe_cron() in src/agent/routine.rs for common routine cron patterns (with safe fallback)
  • expose trigger_raw and human-readable trigger_summary in routine list/detail payloads
  • update routines list UI to show raw cron as tooltip (title) while displaying readable summary
  • update routine detail UI to show readable cron summary prominently, with raw schedule + timezone as secondary detail
  • keep JSON trigger dump fallback for non-cron trigger types

Coverage

describe_cron() now covers common patterns including:

  • every N minutes / hours
  • daily schedules (including midnight)
  • weekdays schedules
  • single weekday schedules
  • monthly day-of-month schedules
  • 5/6/7-field cron inputs
  • timezone suffix in output when present
  • fallback for malformed/complex cron expressions

Closes #1131

Validation

  • cargo fmt --all
  • cargo test -p ironclaw test_describe_cron_common_patterns -- --nocapture
  • cargo test -p ironclaw test_describe_cron_edge_cases -- --nocapture
  • cargo clippy -p ironclaw --all-targets -- -D warnings

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions Bot added scope: agent Agent core (agent loop, router, scheduler) scope: channel/web Web gateway channel size: L 200-499 changed lines risk: medium Business logic, config, or moderate-risk modules contributor: experienced 6-19 merged PRs labels Mar 13, 2026
@G7CNF
Copy link
Copy Markdown
Contributor Author

G7CNF commented Mar 14, 2026

Status check: all required CI checks are green and there are no open review threads to address on this branch. Remaining blocker appears to be maintainer review/approval.

Copy link
Copy Markdown
Collaborator

@zmanian zmanian left a comment

Choose a reason for hiding this comment

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

Review: Human-readable cron schedule descriptions in web UI

Well-implemented feature. describe_cron() converts common cron patterns to plain English with clean fallback to raw expression.

Positives:

  • Handles 5/6/7-field cron expressions
  • Covers common patterns: minute/hour steps, daily, weekdays, specific weekday, monthly
  • Ordinal formatting handles edge cases (11th, 12th, 13th)
  • Timezone suffix when provided
  • Falls back to cron: <raw> for unrecognized patterns
  • Web UI shows human-readable as primary text, raw cron in tooltip
  • trigger_raw and trigger_summary added to both list and detail API responses
  • Good test coverage for common patterns and edge cases

LGTM.

@zmanian zmanian enabled auto-merge (squash) March 14, 2026 19:01
@zmanian zmanian merged commit e291d3b into nearai:staging Mar 14, 2026
19 checks passed
@G7CNF G7CNF deleted the codex/issue-1131-human-cron branch March 15, 2026 14:31
@ironclaw-ci ironclaw-ci Bot mentioned this pull request Mar 17, 2026
bkutasi pushed a commit to bkutasi/ironclaw that referenced this pull request Mar 28, 2026
…rai#1154)

* feat(routines): render cron triggers as human-readable summaries

* test(routines): annotate multiline cron assertions for no-panics CI

* test(routines): avoid multiline assert lint false positives
drchirag1991 pushed a commit to drchirag1991/ironclaw that referenced this pull request Apr 8, 2026
…rai#1154)

* feat(routines): render cron triggers as human-readable summaries

* test(routines): annotate multiline cron assertions for no-panics CI

* test(routines): avoid multiline assert lint false positives
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: experienced 6-19 merged PRs risk: medium Business logic, config, or moderate-risk modules scope: agent Agent core (agent loop, router, scheduler) scope: channel/web Web gateway channel size: L 200-499 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(routines): display cron schedules as human-readable text instead of raw expressions

2 participants