diff --git a/.changeset/credential-check-advice.md b/.changeset/credential-check-advice.md
new file mode 100644
index 0000000000..c2fc5e0535
--- /dev/null
+++ b/.changeset/credential-check-advice.md
@@ -0,0 +1,7 @@
+---
+"@executor-js/ui": patch
+---
+
+When an app's check rejects or can't verify credentials in the connect form, the
+form now says the check may be wrong, that the credential can still be added,
+and offers a fix prompt that asks the user's agent to correct the app's check.
diff --git a/.changeset/mcp-structured-copy.md b/.changeset/mcp-structured-copy.md
new file mode 100644
index 0000000000..8c080183eb
--- /dev/null
+++ b/.changeset/mcp-structured-copy.md
@@ -0,0 +1,9 @@
+---
+"apps": patch
+"@executor-js/app-templates": patch
+---
+
+Remote MCP results drop a text block that only repeats `structuredContent` as
+JSON. Servers send that copy for clients that cannot read structured results;
+kept, it doubled the result at every nested MCP hop, such as Executor behind
+Executor. Read `structuredContent`; other content is unchanged.
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
new file mode 100644
index 0000000000..b41e460f50
--- /dev/null
+++ b/DEVELOPMENT.md
@@ -0,0 +1,361 @@
+# Developing Executor
+
+The canonical development checkout is `~/agent-workspace/executor-next`.
+Run `bun run workspace:check` before using the shared preview; use
+`bun run workspace:check --task` on an isolated task branch. See
+[the workspace lifecycle](AGENTS.md#workspace-lifecycle) for commits and merge handoff.
+
+Executor SDK, app framework and the first local server package. Account/app
+persistence, encrypted credentials, deploying and tool execution now work.
+The local MCP endpoint runs codemode over app tools and Executor management tools.
+The local dashboard shows apps, accounts, live tools and retained source.
+Provider OAuth supports supplied clients, DCR, CIMD, and token refresh.
+Outbound MCP works over HTTP/SSE on local, self-host and cloud: custom remote
+MCP imports and catalog MCP entries deploy, discover live upstream tools, and
+call them, verified end to end including a real public server. Apps cannot
+start local processes, so stdio MCP servers are not supported. The remote SDK facade
+(`createRemoteExecutor`) is not implemented.
+
+Effect is pinned to an upstream snapshot with MCP `2026-07-28` support.
+See [the dependency notes](notes/effect-mcp.md) for the revision and checks.
+
+Start with [project orientation](notes/project-orientation.md) and
+[account connection and app configuration](notes/account-connections.md).
+Repository launch commands load secrets directly from 1Password through `op run`.
+
+For the local/hosted split, start with the [code-sharing map](notes/code-sharing.md).
+The first extracted capability is [catalog/import preparation](packages/catalog/README.md).
+Local owns installation; cloud and Docker share a separate hosted product.
+The hosted product serves a TanStack Router dashboard and
+a shared Effect HTTP API on Cloudflare and Docker. Both have organization access
+and persistent SDK inventory; cloud alone adds Autumn emulator billing. Alchemy
+ships the frontend and Worker in one deployment; Docker bundles the frontend and Node server.
+
+To run your own instance, follow the public [self-host guide](apps/hosted/self-host/README.md).
+It uses one Docker container with persistent storage and browser sign-in for MCP clients.
+
+Other references: [domain terms](CONTEXT.md),
+[provider authoring](notes/provider-authoring.md),
+[OAuth implementation and package choice](notes/oauth.md),
+[shared context](notes/shared-app-context.md),
+[app schemas](notes/app-schemas.md),
+[Axiom with two accounts](notes/axiom-mcp-accounts.md), and
+[runtime notes](notes/app-runtime.md).
+
+## Cloud onboarding E2E
+
+`bun run e2e:cloud --test-name 'Cloud onboarding'` starts the real local Cloud
+Worker and disposable Postgres with hosted emulators. It needs Docker, Playwright
+Chromium and ffmpeg, but no account secrets, saved Alchemy profile or 1Password.
+See [recorded E2E tests](e2e/README.md) for the evidence viewer and attached stages.
+
+## Local development
+
+`bun run dev` needs no environment variables or 1Password. It serves the local
+product with UI hot reload at `https://local.executor.localhost:5394`, or
+`https://local.