Skip to content

bug(windows): provide a guard-compatible after-hours push override #162

Description

@BaseInfinity

Feedback type

Bug report / Windows command UX

Concise description

The documented after-hours override can be valid policy-wise but awkward or rejected when expressed as an environment-prefixed Git command in Windows PowerShell/Codex Desktop. PowerShell does not support the POSIX NAME=value git push ... command shape, and a compound $env:NAME=...; git push ... shape may be rejected by command-shape enforcement even when the push is otherwise proof-bound.

Local context

Observed in a public consumer repository during an overnight, proof-bound lifecycle push from a retained linked worktree. Fable review was available and succeeded; this is not a reviewer-fallback problem.

Evidence

  • Candidate was committed only after focused 36/36, broader 729/729, and exact required suite 2,344/2,344.
  • Normal Git hooks remained enabled.
  • The narrow working PowerShell form was Start-Process -FilePath git -ArgumentList @('push','origin','<branch>') -WorkingDirectory (Get-Location) -Environment @{ AFTERHOURS_SKIP='1' } -NoNewWindow -Wait -PassThru.
  • The push succeeded and the hosted required-suite gate started normally.
  • No source code, secrets, customer data, or proprietary evidence is needed to reproduce.

What should change

  • Ship an explicit Windows PowerShell example or guarded helper for the approved after-hours push override.
  • Teach command normalization to recognize the safe PowerShell environment-scoped form without treating it as an ambiguous compound command.
  • Preserve all existing proof freshness, reviewed-candidate, same-repository linked-worktree, remote/refspec, and native-hook checks.
  • Add Windows regression coverage for the documented form.

Activity

  1. BaseInfinity commented on Aug 22, 2026

    @BaseInfinity
    OwnerAuthor

    Milestone triage (2026-08-22): assigned to 1.1.0 and marked help wanted.

    Reason: the documented PowerShell form addresses an explicitly approved after-hours override. It is useful Windows command UX, but it is not required to prove the frozen 1.0 candidate through ordinary after-hours delivery. #79 remains the 1.0 Windows acceptance gate; any evidence there that ordinary proof-bound delivery is blocked should be filed as a separate release blocker rather than silently expanding this convenience issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions