Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions