Source: https://guthlabs.ai/docs/instruments/cron-expression-explainer/mechanism/

instrument mechanism / verified-clean

# Cron Expression Explainer mechanism

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

Status: **VERIFIED_CLEAN**Lifecycle: **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

[01**Overview**](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/qualification/>)

## 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`
