{"record":{"id":"95a68b63a40d4604","repo":"JuliusBrussee/caveman","slug":"token-budget-must-be-a-non-negative-integer","errorCode":null,"errorMessage":"token_budget must be a non-negative integer","messagePattern":"token_budget must be a non-negative integer","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"mem/cmd/cavemem/main.go","lineNumber":307,"sourceCode":"\t}\n\thits, err := store.Recall(args[0], mem.RecallOptions{Limit: limit, TokenBudget: tokenBudget})\n\tif err != nil {\n\t\tfmt.Fprintf(stderr, \"recall: %v\\n\", err)\n\t\treturn 1\n\t}\n\twriteJSON(stdout, map[string]any{\"hits\": hits, \"basis\": \"inferred\"})\n\treturn 0\n}\n\n// externalTokenBudget distinguishes an omitted public option (safe default)\n// from its explicit zero sentinel (unlimited). Negative public values fail\n// closed instead of accidentally selecting an internal sentinel.\nfunc externalTokenBudget(value *int) (int, error) {\n\tif value == nil {\n\t\treturn 0, nil\n\t}\n\tif *value < 0 {\n\t\treturn 0, fmt.Errorf(\"token_budget must be a non-negative integer\")\n\t}\n\tif *value == 0 {\n\t\treturn mem.UnlimitedTokenBudget, nil\n\t}\n\treturn *value, nil\n}\n\nfunc cmdSupersede(store *mem.Store, args []string, stdout, stderr io.Writer) int {\n\tif len(args) < 2 {\n\t\tfmt.Fprintln(stderr, \"usage: cavemem supersede <id> <text>\")\n\t\treturn 1\n\t}\n\tmemory, err := store.Supersede(args[0], args[1])\n\tif err != nil {\n\t\tfmt.Fprintf(stderr, \"supersede: %v\\n\", err)\n\t\treturn 1\n\t}\n\twriteJSON(stdout, map[string]any{","sourceCodeStart":289,"sourceCodeEnd":325,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/mem/cmd/cavemem/main.go#L289-L325","documentation":"Error \"token_budget must be a non-negative integer\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at mem/cmd/cavemem/main.go:307 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set token_budget to a non-negative integer."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}