Repository navigation
docs(durable): teach agents to request and decide durable approvals - #57
Merged
Merged
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Approval names label an operation and need not be unique. The SDK router sends human approval and sign-off work to volcano-durable, and volcano-typescript lists the approval authoring and client types the JavaScript SDK exports. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
🟢 Approval recommended
The documentation, routing metadata, examples, and linked SDK/CLI contracts are consistent.
0 open findings
What changed in this PR
Documents durable human approvals and routes approval-related requests to the durable skill.
Changes:
- Adds JavaScript/Python approval workflows, decisions, limits, CLI usage, and safety guidance.
- Documents TypeScript approval types.
- Updates skill routing metadata and trigger coverage.
| File | Description |
|---|---|
volcano-durable/SKILL.md |
Adds comprehensive durable approval guidance. |
volcano-typescript/SKILL.md |
Documents approval types and client usage. |
volcano-sdk/SKILL.md |
Routes approval requests to the durable skill. |
tests/skill-trigger-cases.json |
Adds human-approval routing coverage. |
index.json |
Updates durable and TypeScript skill descriptions. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
subnetmarco
commented
Oct 8, 2026
subnetmarco
left a comment
Member
Author
There was a problem hiding this comment.
Reviewed at 8d8660f. I checked the imports, option names, decision shape, limits, MCP tool names, and CLI flags against the JS and Python SDK branches and Hosting, and they all match. check-skills passes. Three P3s below, each of which could lead an agent to write a broken call.
…ding Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 8, 2026
subnetmarco
marked this pull request as ready for review
October 10, 2026 04:35
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
Teach agents to use durable approvals. Tracks https://github.com/Kong/volcano-hosting/pull/1678.
volcano-durable:ctx.waitForApproval/ctx.wait_for_approval(Python takes keyword arguments), the decision it returns, timeouts resolving toexpired, the pending cap per execution, three operations per approval, the name rule (at most 237 printable ASCII characters), and that decisions are human-only (a project access token cannot approve or deny). Deciding from the CLI is shown for both local and cloud projects.volcano-typescript: the approval types.volcano-durable.Verification
node scripts/check-skills.mjs: OK (15 skills, 16 trigger cases)node --test tests/cli-setup.test.mjs: 2 passMerge order
404.localmode-e2e. That suite needs a nightly local-mode image with approvals, which exists only once Hosting merges. Hosting's merge queue runs its CLI E2E against CLImain, so the CLI goes first.