Description
Schema Consistency Checker (discussion #54442, 2026-08-21) found that max-turn-cache-misses silently degrades to its default (5) whenever it's given a GitHub Actions expression string, instead of erroring. Verified live in pkg/workflow/engine_config_parser.go (parsePositiveIntValue): the code comment itself documents "GitHub Actions expression strings ... are silently treated as 0 (not configured) because these fields are integer-only." Neighboring templatable limit fields (max-tool-denials, max-turns, timeout-minutes) do support expressions via parseIntOrExpressionValue, so users following that pattern for max-turn-cache-misses get silently ignored input with no warning.
Expected Impact
Prevents a silent-failure footgun: users who template max-turn-cache-misses (matching the pattern used by nearby fields) currently get the default value applied with no error or warning, which can mask a misconfigured guardrail.
Suggested Agent
General-purpose engineering agent — either (a) route max-turn-cache-misses through the same templatable-integer pathway as max-tool-denials/max-turns/timeout-minutes if expression support is intended, or (b) emit a hard validation error when an expression string is supplied and expressions aren't supported, instead of silently collapsing to the default.
Estimated Effort
Medium (1-4 hours)
Data Source
DeepReport Intelligence analysis, 2026-08-21 cycle, based on Schema Consistency Checker discussion #54442.
Generated by 🔬 Deep Report · agent · 122.9 AIC · ⌖ 10.4 AIC · ⊞ 11.9K · ◷
Description
Schema Consistency Checker (discussion #54442, 2026-08-21) found that
max-turn-cache-missessilently degrades to its default (5) whenever it's given a GitHub Actions expression string, instead of erroring. Verified live inpkg/workflow/engine_config_parser.go(parsePositiveIntValue): the code comment itself documents "GitHub Actions expression strings ... are silently treated as 0 (not configured) because these fields are integer-only." Neighboring templatable limit fields (max-tool-denials,max-turns,timeout-minutes) do support expressions viaparseIntOrExpressionValue, so users following that pattern formax-turn-cache-missesget silently ignored input with no warning.Expected Impact
Prevents a silent-failure footgun: users who template
max-turn-cache-misses(matching the pattern used by nearby fields) currently get the default value applied with no error or warning, which can mask a misconfigured guardrail.Suggested Agent
General-purpose engineering agent — either (a) route
max-turn-cache-missesthrough the same templatable-integer pathway asmax-tool-denials/max-turns/timeout-minutesif expression support is intended, or (b) emit a hard validation error when an expression string is supplied and expressions aren't supported, instead of silently collapsing to the default.Estimated Effort
Medium (1-4 hours)
Data Source
DeepReport Intelligence analysis, 2026-08-21 cycle, based on Schema Consistency Checker discussion #54442.