Skip to content

docs(durable): teach agents to request and decide durable approvals - #57

Merged
subnetmarco merged 6 commits into
mainfrom
feat/durable-approvals
Oct 10, 2026
Merged

subnetmarco merged 6 commits into
mainfrom
feat/durable-approvals

Conversation

@subnetmarco

@subnetmarco subnetmarco commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

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 to expired, 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.
  • Skill routing sends approval requests to volcano-durable.

Verification

  • node scripts/check-skills.mjs: OK (15 skills, 16 trigger cases)
  • node --test tests/cli-setup.test.mjs: 2 pass

Merge order

  1. SDK releases: a maintainer merges and releases the JS SDK 1.16 (feat(durable): add waitForApproval and the approvals client volcano-sdk-js#315), Python SDK 0.14 (feat(durable): add wait_for_approval and the approvals client volcano-sdk-python#389), and the Ruby SDK (feat(durable): list, read, and decide durable approvals volcano-sdk-ruby#341). Hosting's E2E fixtures install those versions from the registries. Until Hosting deploys, the new approval methods get 404.
  2. CLI (feat(durable): add durable approvals commands volcano-cli#282), with a one-time maintainer override of 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 CLI main, so the CLI goes first.
  3. Hosting (https://github.com/Kong/volcano-hosting/pull/1678).
  4. Dashboard (https://github.com/Kong/volcano-web/pull/836, https://github.com/Kong/volcano-web/pull/837, then https://github.com/Kong/volcano-web/pull/832) and agent skills (docs(durable): teach agents to request and decide durable approvals #57).

subnetmarco and others added 5 commits October 6, 2026 14:42
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>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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 subnetmarco left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread volcano-durable/SKILL.md Outdated
Comment thread volcano-durable/SKILL.md
Comment thread volcano-durable/SKILL.md Outdated
…ding

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants