JuliusBrussee/caveman · error
session-value promotion artifact has no actions
Error message
session-value promotion artifact has no actions
What it means
Error "session-value promotion artifact has no actions" thrown in JuliusBrussee/caveman.
Source
Thrown at proxy/routing/session_value.go:29
"strings"
"time"
)
const (
SessionValueArtifactSchema = "caveman.router.session-value-policy.v1"
SessionValueStateSchema = "router-state-metadata-v1"
SessionValueRouterVersion = "session-value-v1"
SessionValuePromotionMinEffectiveSamples = 100
SessionValuePromotionMaxCalibrationError = 0.10
SessionValuePromotionMaxBrierScore = 0.25
)
// ValidateSessionValuePromotionEvidence applies evidence floors beyond
// structural artifact validity. Runtime may evaluate a structurally valid
// shadow artifact; traffic promotion requires calibrated sample floors.
func ValidateSessionValuePromotionEvidence(artifact SessionValuePolicyArtifact) error {
if len(artifact.Actions) == 0 {
return errors.New("session-value promotion artifact has no actions")
}
for _, action := range artifact.Actions {
if action.RewardEffectiveSampleSize < SessionValuePromotionMinEffectiveSamples ||
action.CostEffectiveSampleSize < SessionValuePromotionMinEffectiveSamples ||
action.QualityCalibrationError > SessionValuePromotionMaxCalibrationError ||
action.RewardBrierScore > SessionValuePromotionMaxBrierScore {
return fmt.Errorf("session-value action %s lacks promotion evidence", action.ActionID)
}
}
return nil
}
var sessionValueFeatureVocabulary = map[string]struct{}{
"turn_index": {}, "user_turns": {}, "subagent_turns": {}, "tool_calls": {},
"corrective_turns": {}, "input_tokens_estimate": {}, "tools_count": {},
"stream": {}, "json_mode": {}, "vision": {}, "audio": {},
"cache_read_tokens": {}, "cache_write_tokens": {}, "uncached_tokens": {},
"cache_age_ms": {}, "spent_session_usd": {}, "budget_remaining_usd": {},View on GitHub (pinned to 27d5a3981a)
Solutions
- Include at least one action in the session-value promotion artifact.
When it happens
Trigger: Thrown at proxy/routing/session_value.go:29 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/a2b0c4e04c9a8046.
Report an issue: GitHub.