Skip to content

fix: run advertised sync_accounts in storyboards#2311

Merged
bokelley merged 1 commit into
adcontextprotocol:mainfrom
sangilish:codex/fix-sync-accounts-skip
Jun 30, 2026
Merged

fix: run advertised sync_accounts in storyboards#2311
bokelley merged 1 commit into
adcontextprotocol:mainfrom
sangilish:codex/fix-sync-accounts-skip

Conversation

@sangilish

Copy link
Copy Markdown
Contributor

Summary

  • Narrow the storyboard runner's explicit-account sync_accounts skip so it only applies when the agent does not advertise sync_accounts.
  • Keep existing not_applicable cascade behavior for explicit-mode sellers that omit the tool.
  • Add a regression proving explicit-mode sellers that do advertise sync_accounts actually run the step.
  • Add a patch changeset.

Fixes #2303.

Validation

  • npm run build:lib
  • NODE_ENV=test node --test-timeout=60000 --test test/lib/storyboard-cascade-skip-on-skip.test.js
  • NODE_ENV=test node --test-timeout=60000 --test test/server-decisioning-capability-projections.test.js
  • git diff --check
  • pre-push validation: format check, typecheck, build:lib

@aao-ipr-bot

aao-ipr-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown

⚠️ Argus review could not complete

The automated review encountered an issue (possibly reached max turns, timed out, or failed to post the final gh pr review). A human reviewer should take this PR.

View workflow run

This is an automated message from the Argus AI review workflow.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 00fb36e9a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

if (rawCaps !== undefined) {
const requireOperatorAuth = resolveCapabilityPath(rawCaps, 'account.require_operator_auth');
if (requireOperatorAuth === true) {
const syncAccountsAdvertised = options.agentTools?.includes('sync_accounts') === true;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use discovered tools in the sync_accounts gate

When runStoryboardStep() is used without an explicit agentTools option, it still discovers the agent profile and stores it in options._profile, but it does not copy _profile.tools into options.agentTools. In that standalone-step path, an explicit-mode seller that advertises sync_accounts in discovery is treated as not advertised here and the step is skipped as not_applicable, so the new behavior only works for full storyboard runs or callers that redundantly pass agentTools. Use the existing _profile.tools fallback (e.g. resolveAdvertisedTools(options)) for this check.

Useful? React with 👍 / 👎.

@bokelley bokelley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the runner change and regression coverage. The new behavior is scoped correctly: explicit-account sellers still get marked not_applicable when they do not advertise the tool, but sellers that explicitly advertise now run the step. Full CI is green and the patch changeset is present.

@bokelley bokelley merged commit fab95f8 into adcontextprotocol:main Jun 30, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants