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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions