Skip to content

Keep tool discovery consistent across catalog rebuilds - #1994

Closed
RhysSullivan wants to merge 1 commit into
mcp-catalog/guarded-replacementfrom
mcp-catalog/consistent-discovery
Closed

RhysSullivan wants to merge 1 commit into
mcp-catalog/guarded-replacementfrom
mcp-catalog/consistent-discovery

Conversation

@RhysSullivan

@RhysSullivan RhysSullivan commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Concurrent tool rebuilds can leave tool rows and shared schema definitions from different generations. Track a generation, a manifest, and a rebuild ownership token per connection. Use guarded replacement, reject incomplete or mixed catalogs, and mark only affected connections for repair on the next read.

Add tools.describeAll() to return visible tools with self-contained input schemas, effective policy, and read-only metadata in a batched read. Toolkit visibility and policy resolution use the same prepared snapshot. This layer includes cloud migrations 0018–0020 and their generated snapshots; local and selfhost schemas receive the same fields.

Depends on the guarded replacement layer. On D1, concurrent writers can still leave a mixed persisted state; generation validation refuses to serve it and the next read repairs it.

Validation on this layer: 79 SDK/catalog/policy tests, six toolkit tests, and all 13 selected typecheck tasks passed. The MCP interface is in the next PR.

@RhysSullivan
RhysSullivan added this pull request to stack #1995 September 15, 2026 01:12
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 15, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud 6c4c0f3 Sep 15 2026, 01:16 AM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 15, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing 6c4c0f3 Commit Preview URL

Branch Preview URL
Sep 15 2026, 01:14 AM

@RhysSullivan
RhysSullivan removed this pull request from stack #1995 September 15, 2026 01:13
@RhysSullivan
RhysSullivan added this pull request to stack #1996 September 15, 2026 01:13
@github-actions

github-actions Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@pkg-pr-new

pkg-pr-new Bot commented Sep 15, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1994

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1994

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1994

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1994

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1994

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1994

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1994

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1994

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1994

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1994

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1994

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1994

executor

npm i https://pkg.pr.new/executor@1994

commit: 6c4c0f3

@RhysSullivan
RhysSullivan removed this pull request from stack #1996 September 15, 2026 01:17
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.

1 participant