@linear[bot]3mo ago
When 100% of endpoints fail auth in CurlTester, mark run as FAILED_AUTH_ISSUE and skip remaining stages. Addresses the 29% zero-action run problem.
See investigation: agent/workbooks/investigation-create-app-failures.md
When every endpoint tested by CurlTester returns an auth failure (HTTP 401/403, insufficient permissions, missing OAuth scopes), the remaining pipeline stages — ActionBuilder, TestAndFix, Tagger, ScopeMapper — are guaranteed to produce zero results. These stages waste significant compute time and contribute to the 29% zero-action run problem described in INT-1435.
is_auth_issue: bool field to CurlTesterResponse so each agent can flag auth-specific failures (401/403, invalid credentials, missing scopes)is_auth_issue: bool to CurlTesterResult — set to True when 100% of failed endpoints report auth issuescreate_app.py, early-return with is_auth_issue=True immediately after CurlTester when CurlTesterResult.is_auth_issue is set; the workflow dispatcher translates this to ExecutionState.FAILED_AUTH_ISSUEuv run pytest cortex/tests/test_curl_tester_auth.py -v — all 11 tests should passcreate_app workflow for an app where the connection credentials lack all necessary permissions; observe that the workflow exits early with FAILED_AUTH_ISSUE rather than running ActionBuilder/TestAndFixis_auth_issue detection in run_agent() mirrors the pattern already used in test_and_fix_agent_curl/agent.py:313is_auth_issue remains False so normal processing continuesfailure_analysis (LLM categorization) is preserved and still runs alongside the new detectionnext (unrelated to this PR)When 100% of endpoints fail auth in CurlTester, mark run as FAILED_AUTH_ISSUE and skip remaining stages. Addresses the 29% zero-action run problem.
See investigation: agent/workbooks/investigation-create-app-failures.md