Really like the async-approval design in Gatekeepers — solves the real "give an agent a task, walk away, and it's stuck on step 1" problem synchronous human-in-the-loop causes.
One thing I couldn't find in the README or the individual gatekeeper-* package docs: when a Gatekeeper simulates an action's outcome (README: "the Gatekeeper will simulate the outcome locally... if the agent tries to read back the results, the Gatekeeper gives it simulated results"), is that simulation checked against anything before it's queued for the user to bulk-approve?
Concrete scenario: a user queues up 20 actions across a session, walks away, comes back and bulk-approves. If one simulation was wrong — say the GitHub Gatekeeper simulates a PR merge as clean but the real merge would actually conflict, or an email Gatekeeper simulates a send succeeding when the real recipient address is malformed — the user is approving the agent's own account of what happened, not a verified outcome. Bulk approval makes this worse than the synchronous case: more surface queued per review pass, less scrutiny per item.
Is there (or is there a plan for) any independent check — even something lightweight like a dry-run against the real API where one exists, or a diff between predicted and post-hoc-actual state — before an action reaches the approval queue? Or is the simulation trusted as-is, with human review as the only check?
Really like the async-approval design in Gatekeepers — solves the real "give an agent a task, walk away, and it's stuck on step 1" problem synchronous human-in-the-loop causes.
One thing I couldn't find in the README or the individual
gatekeeper-*package docs: when a Gatekeeper simulates an action's outcome (README: "the Gatekeeper will simulate the outcome locally... if the agent tries to read back the results, the Gatekeeper gives it simulated results"), is that simulation checked against anything before it's queued for the user to bulk-approve?Concrete scenario: a user queues up 20 actions across a session, walks away, comes back and bulk-approves. If one simulation was wrong — say the GitHub Gatekeeper simulates a PR merge as clean but the real merge would actually conflict, or an email Gatekeeper simulates a send succeeding when the real recipient address is malformed — the user is approving the agent's own account of what happened, not a verified outcome. Bulk approval makes this worse than the synchronous case: more surface queued per review pass, less scrutiny per item.
Is there (or is there a plan for) any independent check — even something lightweight like a dry-run against the real API where one exists, or a diff between predicted and post-hoc-actual state — before an action reaches the approval queue? Or is the simulation trusted as-is, with human review as the only check?