Skip to content

[deep-report] max-turn-cache-misses silently ignores expression input instead of erroring #54457

Description

@github-actions

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 ·

  • expires on Aug 22, 2026, 10:32 PM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions