ruvnet/ruflo · error · ValidationError

INVALID_VALUE

INVALID_VALUE

Error message

retentionDays must be a non-negative number

What it means

validateDataPolicy() found retentionDays is either not a number or is negative. Retention windows must be a non-negative numeric day count; this manifest field drives data-expiry enforcement and cannot be missing, negative, or non-numeric.

Source

Thrown at v3/@claude-flow/guidance/src/manifest-validator.ts:550

        field: 'dataPolicy',
        message: 'Data policy is required',
        severity: 'error',
      });
      return errors;
    }

    if (!DATA_SENSITIVITY_LEVELS.includes(dataPolicy.dataSensitivity as DataSensitivity)) {
      errors.push({
        code: 'INVALID_ENUM',
        field: 'dataPolicy.dataSensitivity',
        message: `dataSensitivity must be one of: ${DATA_SENSITIVITY_LEVELS.join(', ')} (got "${dataPolicy.dataSensitivity}")`,
        severity: 'error',
      });
    }

    if (typeof dataPolicy.retentionDays !== 'number' || dataPolicy.retentionDays < 0) {
      errors.push({
        code: 'INVALID_VALUE',
        field: 'dataPolicy.retentionDays',
        message: 'retentionDays must be a non-negative number',
        severity: 'error',
      });
    }

    if (!dataPolicy.exportControls) {
      errors.push({
        code: 'MISSING_FIELD',
        field: 'dataPolicy.exportControls',
        message: 'exportControls is required in data policy',
        severity: 'error',
      });
    } else {
      if (!Array.isArray(dataPolicy.exportControls.allowedRegions)) {
        errors.push({
          code: 'INVALID_TYPE',
          field: 'dataPolicy.exportControls.allowedRegions',

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Set retentionDays to a non-negative number.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/guidance/src/manifest-validator.ts:550 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/35c50567ec47b594. Report an issue: GitHub.