Skip to content

fix(evi): serialize gated writes to one Approve card per step - #717

Open
HugoRCD wants to merge 2 commits into
mainfrom
cursor/sequential-approval-tools-af1d
Open

HugoRCD wants to merge 2 commits into
mainfrom
cursor/sequential-approval-tools-af1d

Conversation

@HugoRCD

@HugoRCD HugoRCD commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Two set_vercel_env calls that each pause for Slack Approve, issued in the same step, park the session after Hugo Approves. Externally both tools stay running, the run stays waiting, and Phase 1 results are never posted, even when the REST upserts land.

eve's defineTool / approval APIs have no serial or exclusive option (Tools and TypeScript API, eve 0.49). The write path (decideEnvVarWrite, execute, vercel/mcp token default) is unchanged.

The guard is instructional, which is what the model sees before it fans out:

  • System prompt: one Approve card per step. Independent reads stay parallel.
  • set_vercel_env description and Vercel connection instructions share SEQUENTIAL_APPROVAL_RULE.
  • A colocated test pins the rule on those three surfaces.

Call, wait for Approve, report the result, then the next.

Checks: evi typecheck clean, eslint clean on the changed TS, 203 evi tests passed.

Open in Web Open in Cursor 

Summary by CodeRabbit

  • Bug Fixes

    • Improved approval handling for Vercel environment-variable updates by processing approval-gated writes one at a time.
    • Independent read operations can continue to run in parallel.
    • Prevented workflows from becoming stuck when multiple environment-variable approvals are requested together.
  • Documentation

    • Added guidance explaining the approval sequence and expected workflow behavior.

Co-authored-by: Hugo <HugoRCD@users.noreply.github.com>
@vercel

vercel Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
evi Ready Ready Preview Sep 19, 2026 8:52am UTC
4 Skipped Deployments
Project Deployment Actions Updated
evlog-docs Skipped Skipped Sep 19, 2026 8:52am UTC
evlog-render-lab Skipped Skipped Sep 19, 2026 8:52am UTC
evlog-telemetry Skipped Skipped Sep 19, 2026 8:52am UTC
just-use-evlog Skipped Skipped Sep 19, 2026 8:52am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: c025720f-23ca-40b9-b9ad-42b55a870f31

📥 Commits

Reviewing files that changed from the base of the PR and between 0b12e49 and 5f2534a.

📒 Files selected for processing (6)
  • apps/evi/agent/connections/vercel.ts
  • apps/evi/agent/instructions.md
  • apps/evi/agent/lib/vercel-env.test.ts
  • apps/evi/agent/lib/vercel-env.ts
  • apps/evi/agent/tools/set-vercel-env.ts
  • apps/evi/docs/notes.md

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The change adds shared guidance for sequential approval-gated environment writes. It applies the guidance to the tool, Vercel connection, and system instructions, documents the observed approval behavior, and adds coverage for the rule and its references.

Changes

Approval guidance

Layer / File(s) Summary
Shared rule and write surfaces
apps/evi/agent/lib/vercel-env.ts, apps/evi/agent/tools/set-vercel-env.ts, apps/evi/agent/connections/vercel.ts
Adds SEQUENTIAL_APPROVAL_RULE and includes it in the Vercel environment tool description and connection write instructions.
Orchestration guidance
apps/evi/agent/instructions.md, apps/evi/docs/notes.md
Requires approval-gated tools to run one at a time while allowing independent reads in parallel. Documents the observed behavior when multiple approval-gated tools run together.
Rule validation
apps/evi/agent/lib/vercel-env.test.ts
Checks the rule contents and verifies references in the tool, connection, and system instructions.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix · Severity of issue fixed: Medium

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses the conventional commit format and clearly describes the main change: serializing approval-gated Vercel writes so one Approve card is issued per step.
Description check ✅ Passed The description clearly explains the failure mode, the root cause, the implemented instructional guard, affected surfaces, testing, and validation results. It does not include the template's linked-is…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the bug Something isn't working label Sep 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for following the naming conventions! 🙏

@pkg-pr-new

pkg-pr-new Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
npm i https://pkg.pr.new/@evlog/cli@717
npm i https://pkg.pr.new/evlog@717
npm i https://pkg.pr.new/@evlog/nuxthub@717
npm i https://pkg.pr.new/@evlog/telemetry@717

commit: 5f2534a

Co-authored-by: Hugo <HugoRCD@users.noreply.github.com>
@vercel
vercel Bot temporarily deployed to Preview – evlog-docs September 19, 2026 08:51 Inactive
@vercel
vercel Bot temporarily deployed to Preview – evlog-telemetry September 19, 2026 08:51 Inactive
@vercel
vercel Bot temporarily deployed to Preview – evlog-render-lab September 19, 2026 08:51 Inactive
@vercel
vercel Bot temporarily deployed to Preview – just-use-evlog September 19, 2026 08:51 Inactive
@HugoRCD
HugoRCD marked this pull request as ready for review September 19, 2026 08:51

This branch was successfully deployed

1 active and 4 inactive deployments
Preview – evi — 5f2534ad Deployed Sep 19, 2026 by vercel[bot]
Preview – evlog-docs — 5f2534ad Deployed Sep 19, 2026 by vercel[bot]
Preview – evlog-telemetry — 5f2534ad Deployed Sep 19, 2026 by vercel[bot]
Preview – evlog-render-lab — 5f2534ad Deployed Sep 19, 2026 by vercel[bot]
Preview – just-use-evlog — 5f2534ad Deployed Sep 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants