Skip to content

Feature request: workflow for tool to ask permission #311

@rxgrant

Description

@rxgrant

This feature is intended for trustworthy tools that are using the "ask" permissions to implement usability and quality-control. Like the user may object to the data being suggested and have improvements, rather than being worried about safety within the filesystem.

If a tool could ask for permission of its own accord, then it could display a nicely pretty-printed summary of the permission request, including its own additional reasoning for why the invocation presented is a good use of the data, when that applies.

In another implementation, the workflow could use a different command to prettyprint the request, and jp could manage the permissions. In this case, the preview command would be whitelisted.

Example1, where command owns permissions check:

  • in the problem case, the ai asks permission to execute a Bash command that needs "ask" gating for quality control, but the user cannot evaluate the situation:
    agentic-shepherd --command new-issue --json {opaque wall of Json}

  • this could instead be a fully whitelisted command:
    {same command but it prettyprints Json as markdown, then asks, and then decides or itself whether to continue with execution}

Example2, where command owns permissions check:

  • patching a file, where lots of git integration could be applied, including colors and hunk separation

Example3, where jp owns workflow and uses whitelisted display command:

  • jp runs whitelisted command:
    agentic-shepherd --dry-run-prettyprint --command new-issue --json {opaque wall of Json}
    (ie. permissions allowed for agentic-shepherd --dry-run-prettyprint *)
  • user sees nicely formatted markdown describing the action to be taken
  • jp collects permissions to advance to the next step of the workflow
  • jp runs final command:
    agentic-shepherd --command new-issue --json {opaque wall of Json}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions