JuliusBrussee/caveman · error
token_budget must be a non-negative integer
Error message
token_budget must be a non-negative integer
What it means
Error "token_budget must be a non-negative integer" thrown in JuliusBrussee/caveman.
Source
Thrown at mem/cmd/cavemem/main.go:307
}
hits, err := store.Recall(args[0], mem.RecallOptions{Limit: limit, TokenBudget: tokenBudget})
if err != nil {
fmt.Fprintf(stderr, "recall: %v\n", err)
return 1
}
writeJSON(stdout, map[string]any{"hits": hits, "basis": "inferred"})
return 0
}
// externalTokenBudget distinguishes an omitted public option (safe default)
// from its explicit zero sentinel (unlimited). Negative public values fail
// closed instead of accidentally selecting an internal sentinel.
func externalTokenBudget(value *int) (int, error) {
if value == nil {
return 0, nil
}
if *value < 0 {
return 0, fmt.Errorf("token_budget must be a non-negative integer")
}
if *value == 0 {
return mem.UnlimitedTokenBudget, nil
}
return *value, nil
}
func cmdSupersede(store *mem.Store, args []string, stdout, stderr io.Writer) int {
if len(args) < 2 {
fmt.Fprintln(stderr, "usage: cavemem supersede <id> <text>")
return 1
}
memory, err := store.Supersede(args[0], args[1])
if err != nil {
fmt.Fprintf(stderr, "supersede: %v\n", err)
return 1
}
writeJSON(stdout, map[string]any{View on GitHub (pinned to 27d5a3981a)
Solutions
- Set token_budget to a non-negative integer.
When it happens
Trigger: Thrown at mem/cmd/cavemem/main.go:307 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/95a68b63a40d4604.
Report an issue: GitHub.