{"record":{"id":"9ac731339692f2b0","repo":"JuliusBrussee/caveman","slug":"cachebench-invalid-replay-provider-usage-evidence","errorCode":null,"errorMessage":"cachebench: invalid replay provider usage evidence","messagePattern":"cachebench: invalid replay provider usage evidence","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cacheengine/cachebench/replay.go","lineNumber":878,"sourceCode":"\treturn validBoundedText(value, 256, true)\n}\n\nfunc validateReplayEvidence(record ReplayEvidenceRecord) error {\n\tif record.Schema != ReplayEvidenceSchema || !validBoundedText(record.RequestID, 512, false) || !validSHA256(record.TraceBodySHA256) || !validSHA256(record.WireBodySHA256) || !validBoundedText(record.Provider, 64, false) || !validBoundedText(record.Model, 512, false) || !validBoundedText(record.Epoch, 1024, false) || !validTimingBasis(record.TimingBasis) || !validBoundedText(record.TokenBasis, 128, false) || record.TimeScale <= 0 || record.TimeScale > 1000 || !validBoundedText(record.Reason, 1024, false) || record.ScheduleDriftMilliseconds < 0 || record.ScheduleToleranceMilliseconds <= 0 || record.HTTPStatus < 0 || record.HTTPStatus > 999 || !validProviderRequestID(record.ProviderRequestID) {\n\t\treturn errors.New(\"cachebench: invalid replay evidence\")\n\t}\n\tscheduled, scheduledErr := time.Parse(time.RFC3339Nano, record.ScheduledAt)\n\tstarted, startErr := time.Parse(time.RFC3339Nano, record.StartedAt)\n\tcompleted, completedErr := time.Parse(time.RFC3339Nano, record.CompletedAt)\n\tif scheduledErr != nil || startErr != nil || completedErr != nil || completed.Before(started) || record.TimingFaithful != (record.TimingBasis == TimingGrounded && record.TimeScale == 1 && record.ScheduleDriftMilliseconds <= record.ScheduleToleranceMilliseconds) || absDuration(started.Sub(scheduled)).Milliseconds() != record.ScheduleDriftMilliseconds {\n\t\treturn errors.New(\"cachebench: invalid replay timing evidence\")\n\t}\n\tif record.LatencyMilliseconds < 0 {\n\t\treturn errors.New(\"cachebench: negative replay latency\")\n\t}\n\tif record.ProviderUsageSHA256 != \"\" {\n\t\tif !validEvidenceSHA256(record.ProviderUsageSHA256) || !validEvidenceSHA256(record.ProviderEvidenceSHA256) || record.ProviderTotalInputTokens <= 0 || record.ProviderOutputTokens < 0 {\n\t\t\treturn errors.New(\"cachebench: invalid replay provider usage evidence\")\n\t\t}\n\t} else if record.ProviderTotalInputTokens != 0 || record.ProviderOutputTokens != 0 {\n\t\treturn errors.New(\"cachebench: replay token counters lack provider usage evidence\")\n\t}\n\tif record.Applied != (record.Decision == cacheengine.DecisionApply) || record.Applied && len(record.OptimizerIDs) == 0 {\n\t\treturn errors.New(\"cachebench: inconsistent replay engine decision\")\n\t}\n\tswitch record.Attribution {\n\tcase cacheengine.AttributionNone, cacheengine.AttributionCausal, cacheengine.AttributionAffinity, cacheengine.AttributionOrganic:\n\tdefault:\n\t\treturn errors.New(\"cachebench: invalid replay attribution\")\n\t}\n\tif record.Success {\n\t\tif record.HTTPStatus < 200 || record.HTTPStatus >= 300 || !validEvidenceSHA256(record.ProviderEvidenceSHA256) || !validEvidenceSHA256(record.ProviderUsageSHA256) || record.ProviderTotalInputTokens <= 0 || !validBoundedText(record.QualityVerifier, 256, false) || !validEvidenceSHA256(record.QualityEvidenceSHA256) || record.FailureCode != \"\" {\n\t\t\treturn errors.New(\"cachebench: incomplete successful replay evidence\")\n\t\t}\n\t} else if !validReplayFailureCode(record.FailureCode) {\n\t\treturn errors.New(\"cachebench: failed replay evidence needs known failure_code\")","sourceCodeStart":860,"sourceCodeEnd":896,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/cacheengine/cachebench/replay.go#L860-L896","documentation":"Error \"cachebench: invalid replay provider usage evidence\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at cacheengine/cachebench/replay.go:878 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide valid provider usage evidence for the replay."],"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"}