Skip to content

Suggestions and approvals in /acp-status, /acp-why, wait steer (0.27.0) - #46

Merged
davidcrowe merged 4 commits into
mainfrom
feat/status-advice-1325
Sep 23, 2026
Merged

davidcrowe merged 4 commits into
mainfrom
feat/status-advice-1325

Conversation

@davidcrowe

Copy link
Copy Markdown
Collaborator

Plugin half of davidcrowe/gatewaystack-connect#1325, #1326 and #1327. Version 0.27.0.

  • /acp-status prints "Suggestions from your usage": up to three items, each with its command. It also lists every pending approval with its own link, https only.
  • When the gateway says a hold is decided in the console and names acp_wait_approval, the steer tells the agent to wait with that tool instead of "hand it over".
  • /acp-why explains the last call ACP held in this session and the command that would change it. It reads a local file the hook writes on each deny or ask, with no network call and no key needed.
  • /acp-apply also takes context-guard.
  • Gateway text is stripped of C0 and C1 controls and bidi overrides, and capped. Older gateways print exactly what they did before.

Tests: 284 pass. An Opus adversarial review ran; its finding for this repo is fixed in ccd8188.

Note that installer-based Codex installs fetch this bin/govern.mjs from main, so they get the wait steer too.

…mand (0.27.0)

The gateway's status response now carries `advice`: the top items from
the merged policy + cost feed (gatewaystack-connect#1325). The status
command prints up to three under "Suggestions from your usage", each
followed by the command that acts on it. Gateway text is stripped of
control characters and capped. The section is omitted when the field is
absent, so an older gateway prints exactly what it did before.

Version 0.27.0: the hook file changed, and attestation is trust-on-first-
use per (client, version).
…acp-status (0.27.0)

- When the gateway says an admin decides a hold and names
  acp_wait_approval (gatewaystack-connect#1326), the hook's steer tells
  the agent to wait with that tool, retry once on approved and stop on
  denied or timeout, instead of the generic "hand it over" line.
- /acp-why (gatewaystack-connect#1327): explains the last call ACP held
  in this session and the command that would change it. Read from a
  local file the hook writes on every deny or ask; no network, no key.
  Kept apart from the receipt counters, which Stop clears every turn.
- /acp-status lists each pending approval with its own link (https only)
  instead of a count.
- /acp-apply also takes context-guard (the gateway maps it to the lever).
Matches the gateway's wait hint. On Codex the owner is often the one
approving in the console.
The /acp-status, /acp-why and approval-list filters removed C0 controls
and ESC but not C1 (U+0080-U+009F) or bidi overrides, which can reorder
what a terminal shows. Found in review.
@davidcrowe
davidcrowe merged commit 80f1b3b into main Sep 23, 2026
2 checks passed
@davidcrowe
davidcrowe deleted the feat/status-advice-1325 branch September 23, 2026 18:38
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