Skip to content

Serve Microsoft Graph selections from precomputed spec slices - #1753

Merged
RhysSullivan merged 1 commit into
mainfrom
graph-spec-slices
Aug 26, 2026
Merged

Serve Microsoft Graph selections from precomputed spec slices#1753
RhysSullivan merged 1 commit into
mainfrom
graph-spec-slices

Conversation

@RhysSullivan

Copy link
Copy Markdown
Collaborator

Production traces show the 43MB Graph monolith fetch completing once in the last 30 days — every other preview/add died mid-download with an empty 503 before any parsing began, so #1751's streaming preview cannot help on its own: the isolate can't reliably hold the download alongside its baseline. This removes the monolith from the request path for every covered selection.

  • slice-build.ts (offline-only) builds one filtered spec per catalog preset plus the default bundle from a whole-parse of the source: the selection's path-items via the same microsoftGraphKeepPathItem filter the runtime applies, components pruned to the transitive $ref closure, emitted as the streamable block-YAML profile so the runtime pipeline treats a slice exactly like a source. Sizes: 4.4–13MB per preset (mail 4.9MB), default bundle 18.3MB, vs 42.9MB upstream; ~3.5k schemas is the closure floor because Graph's schema graph is one connected component.
  • slices.ts (runtime) maps a selection to an asset — single presets exactly, and any combination within the default bundle to the default slice, which the in-band keepPathItem filter then narrows. Full-graph, custom scopes, and out-of-bundle combinations keep the monolith path, as does any slice fetch failure (fallback preserves prior behavior when assets are missing).
  • The graph-slices workflow regenerates and republishes the assets weekly and on dispatch to the graph-slices release tag (non-latest data release; initial assets are published).
  • Lint override extended so packages/*/*/scripts/** gets the same process-boundary exemptions as the other script directories.

Verified: mail selection through the real published slice runs adapter fetch + streaming preview in 162ms at 73MB peak under a 100MB heap (monolith path: 825ms at 129MB — over the isolate budget, matching the prod deaths). microsoft-graph-default and microsoft-emulator e2e scenarios pass locally against the live release assets; unit tests cover slice construction, asset resolution, slice-vs-monolith source choice, and fallback.

@cloudflare-workers-and-pages

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 aa423aa Commit Preview URL

Branch Preview URL
Aug 26 2026, 05:59 AM

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@cloudflare-workers-and-pages

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 aa423aa Aug 26 2026, 06:01 AM

@pkg-pr-new

pkg-pr-new Bot commented Aug 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

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

@executor-js/config

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

@executor-js/execution

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

@executor-js/sdk

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

@executor-js/codemode-core

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

@executor-js/runtime-quickjs

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

@executor-js/plugin-file-secrets

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

@executor-js/plugin-graphql

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

@executor-js/plugin-keychain

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

@executor-js/plugin-mcp

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

@executor-js/plugin-onepassword

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

@executor-js/plugin-openapi

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

executor

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

commit: aa423aa

@RhysSullivan
RhysSullivan marked this pull request as ready for review August 26, 2026 06:04
@RhysSullivan
RhysSullivan merged commit ddbf0fe into main Aug 26, 2026
44 checks passed
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