{"record":{"id":"fe27614128903d33","repo":"paperclipai/paperclip","slug":"empty-result-for-cron-spec-name-field","errorCode":null,"errorMessage":"Empty result for cron ${spec.name} field","messagePattern":"Empty result for cron (.+?) field","errorType":"validation","errorClass":"Error","httpStatus":422,"severity":"error","filePath":"server/src/services/cron.ts","lineNumber":172,"sourceCode":"      for (let i = spec.min; i <= spec.max; i++) {\n        values.add(i);\n      }\n      continue;\n    }\n\n    // Single value\n    const val = parseInt(trimmed, 10);\n    if (isNaN(val)) {\n      throw new Error(\n        `Invalid value \"${trimmed}\" in cron ${spec.name} field`,\n      );\n    }\n    validateBounds(val, spec);\n    values.add(val);\n  }\n\n  if (values.size === 0) {\n    throw new Error(`Empty result for cron ${spec.name} field`);\n  }\n\n  return [...values].sort((a, b) => a - b);\n}\n\nfunction validateBounds(value: number, spec: FieldSpec): void {\n  if (value < spec.min || value > spec.max) {\n    throw new Error(\n      `Value ${value} out of range [${spec.min}–${spec.max}] for cron ${spec.name} field`,\n    );\n  }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**","sourceCodeStart":154,"sourceCodeEnd":190,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/services/cron.ts#L154-L190","documentation":"Post-loop guard in parseField: after processing all comma-separated parts, the accumulated value set is empty — every element expanded to nothing (e.g. a step whose range excludes all values). The field is unusable, so parsing aborts instead of returning an always-false schedule.","triggerScenarios":"Thrown at server/src/services/cron.ts:172 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the named cron field so it selects at least one value."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}