Repository navigation
Sync upstream v2 (141787b9a), preserving fork auth and release tooling - #87
Merged
Merged
Conversation
Preserve connection-bound keys, caller identity, ConnectionAccountUnlinked and fork release tooling. Version apps as 0.0.1-beta.122.shuv.1 and carry request attributes on batched MCP account discovery.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fork-only sync into
shuv1337/executor:v2. Do not merge or deploy as part of this task. Nothing has been pushed to or opened on upstream.5c4afbeb43bcea55c7efed8cf81479a924c5da51(includes deployed fix: report unlinked pinned accounts instead of organization denial #86).141787b9aad4a1d4e4fab91d6e5fc7ceadee5dfc(UsefulSoftwareCo/executor:v2).a1a83a4c1cbaf3b9d3d02829e522b0ea0b09fc0f.47227e231,326328f94,7661912af,5348aad46,f80a5266c,c5b7afe07,30c9259a3,2f4c398f3,141787b9a.appsfork-version suffix.Upstream highlights
structuredContent, avoiding result duplication at each Executor hop; other content remains.DEVELOPMENT.md. CLI advances to2.0.0-beta.38; fork apps is0.0.1-beta.122.shuv.1.Conflicts: 13 files
Both sides' behavior was retained, not wholesale ours/theirs selection:
README.md: take upstream's introduction/development split; move the fork's live-query throttling explanation intoDEVELOPMENT.md.apps/hosted/server/src/contracts/api.ts: retainConnectionKeyRefusedand adopt publicViewerrather than internalPrincipal.contracts/app-ui.ts,implementation/app-sessions.ts,implementation/app-ui.ts,implementation/auth.tsunder the same server directory: retain caller email /ctx.calleridentity while carrying upstream impersonation attribution and refusal/request telemetry.contracts/mcp.ts: retain connection-key mint/list/revoke methods; adopt stored connection/grant IDs as revocation results for audit records.implementation/bearer-access.ts: keep connection-bound keys, generations and API refusal; adapt the fork's refusals to upstream's telemetry reason argument (wrong_resource/revoked).implementation/mcp-connections.ts: retain scoped management checks and all key endpoints; emit upstream revocation audit only after the fork's revoke completes.implementation/mcp-http.ts: retain request caller identity and connection-bound reauthentication alongside upstream refusal instrumentation.implementation/mcp-oauth.ts: retain bound-key deletion, then return the stored revoked ID and upstream uninterruptible completion; retain the fork's schema alias/imports and key endpoints.implementation/organization.ts: telemetry wraps authorization against the fork's narrowed calling-connection policy, never the wider original grant.packages/apps/package.json: advance upstream base while retaining fork naming,0.0.1-beta.122.shuv.1.Additional integration adjustments:
implementation/api.ts, while excluding internalimpersonatedBy.mcp.discovery.accounts.batchspan. Use the existingwithOperationSpanhelper rather than rawEffect.withSpan. The scenario failed on exactly those two missing attributes before the fix and passed afterward. No assertions, retries or timeouts were weakened.Fork preservation and risks
ConnectionAccountUnlinkedcontract, account resolver, HTTP/MCP error handling and relink UI remain intact; all three explicitly requested regression scenarios pass..githubworkflows, self-host/native tooling and Better Auth security patches are unchanged from the fork parent. No migration files or host protocol records changed. Protocol check confirms live 14 and retained 1–13.notes/documents are absent from the public export (existing papercutpc_dcf8902b5987); available AGENTS, development and E2E guidance were followed.Local validation
Passed:
bun run workspace:checkbefore editing.bun install --frozen-lockfile.bun run executor:intro,bun run format,bun run check(all nine typecheck projects; existing Effect warnings only; patch, protocol and structural checks pass).bun run e2e:prepare.Required command: 3 passed:
bun run e2e:self-host --test-name 'Pinned (many|plain)-account connections|pinned account is replaced during an execution'Additional named coverage (15 passed):
Evidence (checkout-relative, private; filenames contain runner timestamps):
.local/e2e/2026-11-10T08-53-19.127Z-self-host-e313c1— required 3 passed..local/e2e/2026-11-10T08-53-54.603Z-self-host-e6641b— 10 passed, MCP span failure retained as regression evidence..local/e2e/2026-11-10T08-55-02.163Z-self-host-e6d936— corrected MCP span scenario plus 4 additional scenarios, all passed.CI: passed — fork-ci run 42786736445,
checkin 2m13s andsecurity-e2ein 3m2s. Waited for completion. The check job includes its six self-contained E2E suites; security-e2e builds the real target and runs its selected scenarios. Existing Effect and Actions runtime-deprecation warnings are non-blocking. The fork's workflow has its own fixed selection, independent of upstream's selection block.Redeploy / release notes (not performed)
0.0.1-beta.122.shuv.1; no package, tag or release was published. Follow the fork's app-release flow separately. Existing built apps keep their pinned framework: to pick up nested-MCP result deduplication, update the apps dependency and redeploy the affected authored app after that release is available.