Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Cron Expression Explainer mechanism

The inspectable method record for Cron Expression Explainer, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The stated parsing and forward-scan concepts are standard, but the instrument is not fully verifiable until the cron dialect, starting instant semantics, calendar semantics, timezone/DST behavior, and invalid-expression behavior are made explicit.

  • The field-by-field parsing approach is standard, but the specification does not define which 6-field dialect is used: seconds-first Quartz style, seconds-last, or a year field.
  • The specification does not define the standard used for simultaneous day-of-month and day-of-week restrictions. Traditional Vixie/POSIX cron commonly uses OR semantics, while some implementations use AND semantics.
  • The forward date-scan requires an explicit starting instant and whether a run exactly at that instant is included or excluded; neither is specified.
  • The specification does not define handling for Sunday as 0, 7, or both, nor the accepted month/day names and ranges.
  • The specification does not define behavior for impossible schedules, invalid expressions, or a nonpositive next-run count.

Units and conventions

  • All timestamps in these vectors are ISO 8601 UTC timestamps with a trailing Z; the timezone is UTC, so no daylight-saving transition occurs.
  • Five-field vectors use standard Vixie/POSIX field order: minute hour day-of-month month day-of-week.
  • For five-field vectors, the next-run search is strictly after the supplied start timestamp.
  • The six-field vector explicitly uses Quartz-style seconds-first order: second minute hour day-of-month month day-of-week.
  • Cron fields represent wall-clock calendar fields; timezone and daylight-saving behavior must be defined by the implementation.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "expression": "*/15 9-17 * * 1-5",
    "dialect": "Vixie/POSIX 5-field",
    "timezone": "UTC",
    "start_timestamp": "2025-03-10T09:07:00Z",
    "next_count": 4
  },
  "expected_outputs": {
    "plain_english": "Every 15 minutes from 09:00 through 17:59, Monday through Friday.",
    "next_run_timestamps": [
      "2025-03-10T09:15:00Z",
      "2025-03-10T09:30:00Z",
      "2025-03-10T09:45:00Z",
      "2025-03-10T10:00:00Z"
    ]
  },
  "working": "2025-03-10 is Monday, so the weekday field matches. The hour range 9-17 includes 09:00 through 17:59. The minute step */15 produces minutes 0, 15, 30, 45. Starting strictly after 09:07, the first matching minute is 15: 09:15. Adding 15 minutes gives 09:30, then 09:45, then 10:00. Therefore the four outputs are 09:15, 09:30, 09:45, and 10:00 UTC."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The specification leaves critical edge behavior undefined: an unsafe next-run count can cause precision loss or resource exhaustion, day-of-month/day-of-week matching has competing OR and AND interpretations, and repeated daylight-saving local times can yield different timestamps or run counts.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche6/tranche6-results.json
  • BOUNDARY_HAZARD_CATALOG.json