{"record":{"id":"cb62f4b7a4ad0931","repo":"gastownhall/beads","slug":"prime-max-memories-must-be-a-non-negative-integer","errorCode":null,"errorMessage":"prime.max-memories must be a non-negative integer (0 = unlimited), got %q","messagePattern":"prime\\.max-memories must be a non-negative integer \\(0 = unlimited\\), got %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/config/yaml_config.go","lineNumber":906,"sourceCode":"\tcase \"dolt.shared-server\":\n\t\tlower := strings.ToLower(value)\n\t\tif lower != \"true\" && lower != \"false\" {\n\t\t\treturn fmt.Errorf(\"dolt.shared-server must be \\\"true\\\" or \\\"false\\\", got %q\", value)\n\t\t}\n\tcase \"dolt.debug\":\n\t\tlower := strings.ToLower(value)\n\t\tif lower != \"true\" && lower != \"false\" {\n\t\t\treturn fmt.Errorf(\"dolt.debug must be \\\"true\\\" or \\\"false\\\", got %q\", value)\n\t\t}\n\tcase \"dolt.mode\":\n\t\tlower := strings.ToLower(value)\n\t\tif lower != \"server\" && lower != \"embedded\" {\n\t\t\treturn fmt.Errorf(\"dolt.mode must be \\\"server\\\" or \\\"embedded\\\", got %q\", value)\n\t\t}\n\tcase \"prime.max-memories\":\n\t\tn, err := strconv.Atoi(value)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"prime.max-memories must be a non-negative integer (0 = unlimited), got %q\", value)\n\t\t}\n\t\tif n < 0 {\n\t\t\treturn fmt.Errorf(\"prime.max-memories must be a non-negative integer (0 = unlimited), got %q\", value)\n\t\t}\n\tcase \"prime.max-memory-chars\":\n\t\tn, err := strconv.Atoi(value)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"prime.max-memory-chars must be a non-negative integer (0 = unlimited), got %q\", value)\n\t\t}\n\t\tif n < 0 {\n\t\t\treturn fmt.Errorf(\"prime.max-memory-chars must be a non-negative integer (0 = unlimited), got %q\", value)\n\t\t}\n\t}\n\treturn nil\n}\n","sourceCodeStart":888,"sourceCodeEnd":922,"githubUrl":"https://github.com/gastownhall/beads/blob/71377f276968b452ee607177637970a4ff888584/internal/config/yaml_config.go#L888-L922","documentation":"When setting prime.max-memories, validateYamlConfigValue parses the value with strconv.Atoi; a non-integer string fails parsing and returns this error. The value must be a non-negative integer where 0 means unlimited memories during bd prime.","triggerScenarios":"`bd config set prime.max-memories abc` or `bd config set prime.max-memories 1.5` via SetYamlConfig/SetYamlConfigInDir/SetUserYamlConfig (Atoi error branch at yaml_config.go:906).","commonSituations":"Passing \"unlimited\", \"50M\", a float, or a value with units/whitespace instead of a plain integer.","solutions":["Pass a plain non-negative integer, e.g. `bd config set prime.max-memories 1000`","Use 0 to explicitly mean unlimited instead of a word like \"unlimited\"","Strip units/whitespace from scripted values before setting"],"exampleFix":"// before\nSetYamlConfig(\"prime.max-memories\", \"unlimited\")\n// after\nSetYamlConfig(\"prime.max-memories\", \"0\")","handlingStrategy":"validation","validationCode":"n, err := strconv.Atoi(strings.TrimSpace(value))\nif err != nil || n < 0 {\n    return fmt.Errorf(\"prime.max-memories must be a non-negative integer, got %q\", value)\n}","typeGuard":null,"tryCatchPattern":"if err := bd.SetYamlConfig(\"prime.max-memories\", v); err != nil {\n    log.Fatalf(\"invalid prime.max-memories %q: %v\", v, err)\n}","preventionTips":["Never pass words like \"unlimited\" — use 0","Strip units and whitespace from computed values","Sanity-check limits in CI before writing config"],"tags":["config","validation","integer-parsing"],"backgroundTag":"invalid-config-value","analyzedSha":"71377f276968b452ee607177637970a4ff888584","analyzedAt":"2026-08-30T18:55:39.744Z","schemaVersion":2},"datasetVersion":"2026-08-30T23:17:21.991Z"}