Skip to content

M1: Implement documented local skip controls #18

@dbrosio3

Description

@dbrosio3

Goal

Implement the documented one-push skip controls for the local Pushgate runner and wrapper.

User value

Developers can intentionally bypass all local Pushgate work or skip only the AI layer without losing the fast deterministic checks.

Implementation notes

  • Keep native git push --no-verify documented as Git's broad hook bypass.
  • Make pushgate pre-push read the one-command Git config paths: pushgate.skip-all-checks and pushgate.skip-ai-check.
  • Implement pushgate push --skip-all-checks and pushgate push --skip-ai-check as friendly wrappers over the matching Git config paths.
  • Ensure skip-ai-check retains deterministic checks and only bypasses local AI.
  • Ensure skip-all-checks bypasses both deterministic checks and local AI when the hook still runs.
  • Define precedence, terminal output, and tests for whole-runner and AI-only skip paths.

Risks / tradeoffs

  • Git's native --no-verify bypass cannot be observed by the hook because the hook never runs.
  • Persistent Git config or environment aliases can make skip behavior less visible if precedence is not explicit.

Suggested priority

P0

Milestone

M1: Deterministic local gate

TBD considerations

  • Whether persistent git config pushgate.skip-* values are supported or only one-command overrides are part of the public contract.
  • Whether environment-variable aliases remain available for automation even though public examples use Git's temporary config channel.

Acceptance criteria

  • git -c pushgate.skip-all-checks=true push skips local deterministic checks and local AI when Pushgate is invoked.
  • git -c pushgate.skip-ai-check=true push skips local AI while deterministic checks still run.
  • pushgate push --skip-all-checks and pushgate push --skip-ai-check map to the same behavior.
  • Skip output is visible and tests cover precedence and both skip scopes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    M1Milestone M1: deterministic local gateP0Priority P0: foundation or required for v2enhancementNew feature or requestv2ai-pushgate v2 roadmap

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions