Skip to content

git_gate default for external projects — UX/warning refinement #620

@AIOSAI

Description

@AIOSAI

Concern (parked from S180 hooks close-out, DPLAN-0190)

aipass init will ship .aipass/hooks.json with all 14 hooks enabled, including the security gates (git_gate, edit_gate, subagent_gate).

Decision (Patrick, S180): git enforcement stays ON by default for everyone. It is binary — on/off, not per-command-selectable. Rationale: agents still reflexively reach for raw git (training bias), so without the gate an external user's agents would silently mix raw git + drone commands → state chaos (divergence, accidental main pushes, broken sync/rebase). We have lived through this. Blocking + a clear warning is safer than giving options that break a system the user doesn't yet understand. Project still in beta, going against the grain deliberately.

This is NOT a blocker. Hooks ship all-enabled as planned. This issue captures refinements to revisit later:

  • Improve git_gate error/warning copy for first-time external users: explain that drone-git enforcement is enabled by default, list the available drone @git commands, and point to the orchestrator / devpulse / drone agent to investigate the correct flow for their setup.
  • Document the on/off story: can git_gate be disabled in isolation via .aipass/hooks.json (enabled: false) without breaking sync/rebase/PR flows? Untested — needs verification.
  • Consider a one-time init notice: "AIPass enforces git via drone by default. To change this, see ..."

Surfaced during live testing: git_gate correctly blocks raw git from an external project's CWD via the bridge. The mechanism works — this is purely about UX/onboarding clarity for non-AIPass users.

Related: DPLAN-0190 (hooks close-out), DPLAN-0184 (hook engine), #605 (pre_edit_gate path detection).

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