{"record":{"id":"2e566fb24ef9f629","repo":"ruvnet/ruflo","slug":"invalid-type","errorCode":"INVALID_TYPE","errorMessage":"Budget field \"${key}\" must be a number","messagePattern":"Budget field \"(.+?)\" must be a number","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/guidance/src/manifest-validator.ts","lineNumber":435,"sourceCode":"      { key: 'maxTokensOutMtok', max: MAX_BUDGET_LIMITS.maxTokensOutMtok },\n      { key: 'maxMemoryWrites', max: MAX_BUDGET_LIMITS.maxMemoryWrites },\n    ];\n\n    for (const { key, max } of budgetFields) {\n      const value = budgets[key];\n      if (value === undefined || value === null) {\n        errors.push({\n          code: 'MISSING_FIELD',\n          field: `budgets.${key}`,\n          message: `Budget field \"${key}\" is required`,\n          severity: 'error',\n        });\n        continue;\n      }\n\n      if (typeof value !== 'number' || Number.isNaN(value)) {\n        errors.push({\n          code: 'INVALID_TYPE',\n          field: `budgets.${key}`,\n          message: `Budget field \"${key}\" must be a number`,\n          severity: 'error',\n        });\n        continue;\n      }\n\n      if (value < 0) {\n        errors.push({\n          code: 'BUDGET_NEGATIVE',\n          field: `budgets.${key}`,\n          message: `Budget field \"${key}\" must not be negative (got ${value})`,\n          severity: 'error',\n        });\n      }\n\n      if (value > max) {\n        errors.push({","sourceCodeStart":417,"sourceCodeEnd":453,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/guidance/src/manifest-validator.ts#L417-L453","documentation":"validateBudgets() found budget field 'key' present but not a number (string, NaN, or other type). INVALID_TYPE manifest validation error: budget values must be numeric so the runtime can enforce them arithmetically.","triggerScenarios":"Thrown at v3/@claude-flow/guidance/src/manifest-validator.ts:435 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a valid budget configuration with numeric, non-negative fields within the documented maximums."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}