Skip to content

Match push.default Case-Sensitively in the Write Guard or Say It Is Folded #3061

Closed as not planned

Description

@ptr727

The write guard's _configured_push_branches lowercases the push.default value before matching it, so a miscased value such as Current is read as current and yields only the branch's own name. Git parses push.default case-sensitively and refuses a push carrying a malformed value, so this opens no protection gap. The agent-safety READMEs say a value git does not define is read as both destinations, which the guard does not do for a miscased value.

Constructed case: in a scratch repository, git -c push.default=Current push --dry-run is refused by git as a malformed value, while the guard's reading of the same configuration returns only the current branch.

Done when the code and the READMEs agree: either the guard stops lowercasing, so a miscased value reads as both, or the READMEs say how case is read.

Found by a local review pass on the #3051 promotion fix for the README wording.

Activity

  1. added
    documentationImprovements or additions to documentation
    pre-existingReview finding classed pre-existing per local-strict-review Disposing of Findings
    scriptA defect in hub tooling
    on Oct 15, 2026
  2. ptr727 commented on Oct 31, 2026

    @ptr727
    OwnerAuthor

    Backlog burndown, round 1 file claim.

    Group issues: #1642, #1628, #3061
    Branch: feature/burndown-1642
    Predicted file set:

    • host-setup/agent-safety/claude/gh-write-guard.py
    • host-setup/agent-safety/claude/test_install.py
    • host-setup/agent-safety/README.md

    Another group must not edit these files until this branch merges or the claim is released here.

  3. ptr727 commented on Oct 31, 2026

    @ptr727
    OwnerAuthor

    Closed as obsolete at the maintainer's direction on 2026-10-31, per the evidence comment above: nothing remains to fix or test here.

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

    documentationImprovements or additions to documentationpre-existingReview finding classed pre-existing per local-strict-review Disposing of FindingsscriptA defect in hub tooling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions