Skip to content

fix(mcp): Make get_default_cloud_context verification flag and hints agree - #1380

Merged
Aaron ("AJ") Steers (aaronsteers) merged 1 commit into
release-candidate/v1from
devin/1792014124-default-context-verified-wording
Oct 16, 2026
Merged

Aaron ("AJ") Steers (aaronsteers) merged 1 commit into
release-candidate/v1from
devin/1792014124-default-context-verified-wording

Conversation

@aaronsteers

Copy link
Copy Markdown
Member

Overview

👉 TL;DR: The default-context tool could say "No default workspace is set" and at the same time report the default workspace as verified. It no longer reports verified or unverified when there is nothing to verify, and its hint now explains when the session uses a configured workspace but the user profile has no default.

Specifically, default_workspace_verified becomes bool | None on CloudDefaultContextInfo and CloudDefaultContextResult, and CloudClient._missing_default_workspace_hint() picks the hint text.

Changes

  • default_workspace_verified is None when no default workspace ID was resolved.
  • When the session has a configured workspace but the user profile has no defaultWorkspaceId, the hint says: "Your Airbyte user profile has no default workspace; this session uses the configured workspace . ..."
  • With no default from either source, the original "No default workspace is set" hint stays.

Risks

  • Contract change: default_workspace_verified can now be null.

Follow-ups

  • Not changed here: the default org can be missing from member_organizations. That list comes only from explicit org permissions, while the default org is derived from workspace access.

Test plan

  • New unit tests cover three cases: no default anywhere, a configured default with no profile default, and a verified profile default. Lint and the touched tests pass locally.

Link to Devin session: https://app.devin.ai/sessions/a51d808f26c9402fafc93e7640648187
Open in Devin Desktop: https://app.devin.ai/desktop/session/a51d808f26c9402fafc93e7640648187?variant=devin
Requested by: Aaron ("AJ") Steers (@aaronsteers)

… hint

default_workspace_verified is now None when no default workspace ID was
resolved, so the output never claims an unset default is valid or
unverifiable. When the session falls back to a configured workspace but
the user profile stores no default, the discovery hint now says exactly
that instead of claiming no default workspace is set.

Co-Authored-By: AJ Steers <[email protected]>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1792014124-default-context-verified-wording' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1792014124-default-context-verified-wording'

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /uv-lock - Updates uv.lock file
  • /test-pr - Runs tests with the updated PyAirbyte
  • /prerelease - Builds and publishes a prerelease version to PyPI
📚 Show Repo Guidance

Helpful Resources

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

Copilot AI 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.

🟢 Approval recommended

The focused changes consistently handle nullable verification across the client and MCP models, with no unresolved findings.

0 open findings

What changed in this PR

Aligns default Cloud workspace verification and hints across the client and MCP response.

Changes:

  • Returns null verification when no default workspace ID is resolved.
  • Distinguishes session-configured workspaces from stored profile defaults in hints.
  • Adds tests for missing and session-configured defaults.
File Description
tests/​unit_tests/​test_cloud_client.py Tests nullable verification and configured-workspace hints.
airbyte/​mcp/​cloud.py Allows nullable verification in MCP responses.
airbyte/​cloud/​models.py Allows and documents nullable verification.
airbyte/​cloud/​client.py Aligns verification values and default-workspace hints.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-code-quality

github-code-quality Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

release-candidate/v1 d9f652f devin/1792014124-def... 7d2b88a +/-
65% 79% +14%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1792014124-def... 7d2b88a +/-
airbyte/mcp/cloud.py 52% 83% +31%
airbyte/_util/api_util.py 36% 68% +32%
airbyte/cloud/connectors.py 34% 75% +41%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/_direct...ctors/models.py 0% 94% +94%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest

release-candidate/v1 d9f652f devin/1792014124-def... 7d2b88a +/-
71% 81% +10%
View coverage of the 10 most impacted files.
File release-candidate/v1 d9f652f devin/1792014124-def... 7d2b88a +/-
airbyte/cloud/connectors.py 51% 80% +29%
airbyte/mcp/cloud.py 52% 83% +31%
airbyte/mcp/_datadog.py 0% 50% +50%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/mcp/_user_identity.py 0% 93% +93%
airbyte/_direct...ctors/models.py 0% 94% +94%
airbyte/mcp/_telemetry.py 0% 94% +94%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 97% +97%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%

Python / code-coverage/pytest-unit

release-candidate/v1 devin/1792014124-def... 7d2b88a +/-
— 76% —

Line coverage data for the release-candidate/v1 branch is not yet available.

View coverage of the 10 most covered files.
File release-candidate/v1 devin/1792014124-def... 7d2b88a +/-
airbyte/cloud/models.py — 97% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/_direct...ctors/models.py — 94% —
airbyte/cloud/client.py — 90% —
airbyte/exceptions.py — 89% —
airbyte/mcp/cloud.py — 83% —
airbyte/progress.py — 80% —
airbyte/cloud/connectors.py — 75% —
airbyte/_util/api_util.py — 68% —
airbyte/shared/...ql_processor.py — 68% —

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 14, 2026 22:06 UTC

@aaronsteers
Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review October 16, 2026 00:06
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) merged commit 47192c8 into release-candidate/v1 Oct 16, 2026
33 of 34 checks passed
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) deleted the devin/1792014124-default-context-verified-wording branch October 16, 2026 00:07

@devin-ai-integration devin-ai-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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

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