JuliusBrussee/caveman · error
cachebench: invalid corpus metadata
Error message
cachebench: invalid corpus metadata
What it means
Error "cachebench: invalid corpus metadata" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/corpus.go:140
SessionID string `json:"session_id"`
Model string `json:"model"`
Input json.RawMessage `json:"input"`
OutputLength int `json:"output_length"`
PreGap float64 `json:"pre_gap"`
}
type hfRowWire struct {
RowIndex int `json:"row_idx"`
Row lmcacheRowWire `json:"row"`
}
// ReadAgentCorpus imports supported JSONL formats under explicit limits.
func ReadAgentCorpus(reader io.Reader, format string, metadata CorpusMetadata, limits CorpusLimits) (AgentCorpus, error) {
if reader == nil {
return AgentCorpus{}, errors.New("cachebench: nil corpus reader")
}
if !validBoundedText(metadata.Name, 512, false) || !validBoundedText(metadata.License, 256, true) || !validBoundedText(metadata.Revision, 512, true) {
return AgentCorpus{}, errors.New("cachebench: invalid corpus metadata")
}
var err error
limits, err = normalizedCorpusLimits(limits)
if err != nil {
return AgentCorpus{}, err
}
limited := &io.LimitedReader{R: reader, N: limits.MaxInputBytes + 1}
var rows []CorpusRow
switch format {
case CorpusFormatLMCacheJSONL:
rows, err = readLMCacheJSONL(limited, limits)
case CorpusFormatHFRows:
rows, err = readHFRows(limited, limits)
default:
return AgentCorpus{}, fmt.Errorf("cachebench: unsupported corpus format %q", format)
}
if limited.N <= 0 {
return AgentCorpus{}, fmt.Errorf("cachebench: corpus input exceeds byte limit %d", limits.MaxInputBytes)View on GitHub (pinned to 27d5a3981a)
Solutions
- Provide valid corpus metadata (schema/version fields) in the corpus header.
When it happens
Trigger: Thrown at cacheengine/cachebench/corpus.go:140 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/2aa4f6270669dfdf.
Report an issue: GitHub.