Skip to content

Add a module that requires human approval before executing changes in the repository. #1

@MaximilianoAcri

Description

@MaximilianoAcri

Motivation

Currently, AI agents in a repository can make autonomous changes without user confirmation. For many use cases (production systems, learning environments, safety-critical code), users want to review and approve changes before execution.

This is especially important for:

  • E-commerce sites where breaking changes affect customers
  • Learning/experimentation with AI tools
  • Any system where human oversight is required

Proposal

Create an approval-gate module that:

  1. Intercepts proposed changes - Before any modification, the module presents the proposal to the user
  2. Shows proposal details - What, why, files affected, risk level
  3. Waits for user decision - Approve, Reject, or Request More Info
  4. Logs decisions - Maintains history of all approvals/rejections

Interface

# List pending proposals
sz approval list

# Approve proposal #1
sz approval approve 1

# Reject proposal #2  
sz approval reject 2

# Configure mode
sz config set approval.mode approve

Configuration Options

Mode Behavior
manual No automatic execution
approve Propose and wait for approval
auto-low Auto-apply low-risk changes
auto-all All automatic (dangerous)

Module Structure

modules/approval-gate/
  module.yaml
  entry.sh
  approve.sh
  templates/proposal.md

Additional Features

  • Risk assessment (low/medium/high)
  • Notification before changes
  • Integration with bus for other modules
  • Configurable approval channels

Interested in collaborating on this? I'd be happy to submit a PR once there's agreement on the spec.

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