Skip to content

Preserve durable ask_app status recovery handles#2184

Merged
3mdistal merged 1 commit into
mainfrom
codex/ask-app-status-reliability
Jul 17, 2026
Merged

Preserve durable ask_app status recovery handles#2184
3mdistal merged 1 commit into
mainfrom
codex/ask-app-status-reliability

Conversation

@3mdistal

Copy link
Copy Markdown
Contributor

Summary

  • return a structured retryable recovery result when transient ask_app_status reads exhaust bounded retries
  • preserve the original app and task ID while keeping permanent failures as errors
  • add task-correlated transport diagnostics and matching Dispatch behavior
  • document the safe retry contract across all localized MCP docs

Verification

  • Core focused MCP tests: 110 passed
  • Dispatch gateway tests: 34 passed
  • Core TypeScript check
  • Dispatch TypeScript check
  • formatting and diff checks
  • independent read-only diff review

Hosted follow-up

After merge and production deployment, verify repeated status polling against one durable task without resubmitting ask_app.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builder reviewed your changes — looks good ✅

Review Details

Code Review Summary

PR #2184 adds bounded retries for transient ask_app_status reads in both Core and Dispatch, returning a structured recovery envelope that preserves the original app and taskId instead of converting an exhausted transport failure into a false task failure. Permanent authentication, not-found, and protocol errors continue to propagate, while diagnostics include task correlation, route/origin metadata, retry classification, attempt count, and retry state. The MCP server tests also verify that the envelope is exposed through both text content and structuredContent, and the localized documentation consistently explains that callers must retry status polling rather than resubmit ask_app.

Risk assessment: Standard. Three independent code-review passes found no confirmed bugs, including no retry off-by-one issue, authorization regression, serialization problem, or Core/Dispatch parity issue. The approach is sound and well covered by focused tests. No actionable findings to report.

🧪 Browser testing: Skipped — PR only modifies backend/package logic, tests, and documentation, with no user-facing browser impact.

@3mdistal
3mdistal merged commit bdb8a5f into main Jul 17, 2026
89 checks passed
@3mdistal
3mdistal deleted the codex/ask-app-status-reliability branch July 17, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants