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

instrument / verified-clean

# Cron Expression Explainer

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/cron-expression-explainer/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Computing & Information

**Tranche**: tranche-6

**Evidence ID**: t6-022

**Ledger rows**: 1

No ledger note is attached.

## Review findings

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.

### Formula and scope findings

- 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.

### Unit assumptions

- 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.

## Boundary hardening

**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.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "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."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
