Skip to content

fix(eve): preserve execution caller across approval responses - #3079

Open
aatosolavi wants to merge 1 commit into
vercel:mainfrom
aatosolavi:fix/approval-execution-caller
Open

fix(eve): preserve execution caller across approval responses#3079
aatosolavi wants to merge 1 commit into
vercel:mainfrom
aatosolavi:fix/approval-execution-caller

Conversation

@aatosolavi

@aatosolavi aatosolavi commented Sep 5, 2026

Copy link
Copy Markdown

Summary

When an operator answers a parked approval or session-limit prompt, eve replaces the suspended caller with the responder, so resumed user-scoped work can run as the operator service. Preserve the active caller for authenticated responses to live control requests, pass tool responses through the existing attributed-response path for authorization and audit, and keep buffered deliveries with different auth contexts separate. New messages, question answers, stale responses, and unauthenticated responses retain their existing caller behavior; this does not fall back to the session initiator.

Validation

  • Reproduced the bug on unmodified 1807ff9c: all three new workflow regression cases fail. With this change, the direct continuation, queued user work, and a caller different from the initiator pass.

  • pnpm --filter eve exec vitest run --config vitest.unit.config.ts src/execution/input-response-auth.test.ts src/execution/workflow-steps.test.ts src/execution/parked-delivery-wait.test.ts src/internal/structural-tests/file-length.test.ts — 71 passed.

  • pnpm --filter eve exec vitest run --config vitest.integration.config.ts src/execution/approval-caller.integration.test.ts src/execution/session-limit-cancellation.integration.test.ts src/harness/tool-loop-generate-approval-resume.integration.test.ts — 16 passed; after adding the operator policy/audit/tool execution assertion, reran the tool-loop file: 12 passed (17 distinct integration cases total).

  • pnpm --filter eve exec tsc -p tsconfig.json --noEmit, pnpm --filter agent-tools-hitl exec tsc --noEmit, targeted oxlint/format checks, pnpm guard:invariants, and pnpm docs:check passed. Built compiled dependencies and package JS before integration tests.

  • Full unit suite: 8,100 passed, 1 skipped, 5 failed. The same five failures reproduce with unmodified production sources on this macOS checkout: three callback-log redaction assertions match /private/tmp in stack traces; two telemetry preference assertions expect Linux config paths. No new failures remain.

  • Added a real-model HTTP approval eval to agent-tools-hitl; not run locally, per the repository's CI-only E2E rule. All local regression tests use synthetic identities and a mock model; no production sessions were resumed or cancelled.

  • Upstream CI/E2E workflows currently require maintainer approval for this fork (action_required); Vercel preview deployments also require authorization. DCO and commit signature verification pass.

Checklist

  • This change was requested or approved by a maintainer
  • I ran the relevant checks from CONTRIBUTING.md
  • I added tests and documentation where relevant
  • I added a changeset if this touches the published eve package
  • DCO sign-off passes for every commit (git commit --signoff)

Signed-off-by: Aatos Akvilander <aatos@akvilander.com>
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

@aatosolavi is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

@vercel-security-reviewer

Copy link
Copy Markdown

Security review details

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