Skip to content

Elon gate: also gate gh issue new and gh pr new #251

Closed

Description

@lukemaj

What: The Elon gate also checks gh issue new and gh pr new, the documented aliases of create.
Why: gh_create() matches only the word create, so gh issue new --title x --body y creates an Issue with no Elon record and no hook block.
So what: Small fix for an implementation worker; independent review; Luke approves the merge.

Outcome

Every way gh creates an Issue or PR from the shell is gated the same way.

Evidence

Contribution to the Objective: the Elon record exists on every Issue and PR it is meant to cover.

Elon record

  • Requirements and who asked: Luke's rule that every Issue and PR carries an Elon record, enforced by the hook; the gap was found during the 2026-10-19 review follow-up.
  • Deleted: gating other gh subcommands or API paths beyond the documented new alias.
  • Bottleneck: one word match in gh_create().
  • Checked myself: the gh help alias lines and the gh_create() results above.

Acceptance criteria

Non-goals

  • Other gate changes.

Blockers

Coordinate with PR #250 (#247), which edits the same function; build on it after it merges or stack on it.

Required proof

  • Tests failing before and passing after; full suite; independent review on the exact head; version transition per repository policy.

Activity

  1. lukemaj commented on Oct 19, 2026

    @lukemaj
    ContributorAuthor

    What: Implemented together in #257 at 6ea958a7439c25a388ee7161def506b3f1dfd8a8.
    Why: Raw fail-closed checks cover alias and wrapped/dynamic recognition gaps before body extraction can authorize a hidden create.
    So what: Deterministic proof is complete; independent review remains pending, with no reviewers started, before Luke approves merge.

    Proof and the Elon record are in the PR: 148 failing-before assertions; real Bash with fake-gh argv logs; 468 repository tests and 7 versionctl tests passed; doctor and release-check passed; version 17.4.3 prepared and pushed. The PR documents accepted data false positives and the separate-body-file workaround. Zsh execution is unverified because Zsh is absent on bestia. No merge, release, tag or install performed.

  2. lukemaj commented on Oct 19, 2026

    @lukemaj
    ContributorAuthor

    What: Revised implementation is pushed in #257 at 50b82dc12676156c995b350b7207cc3a25d23c50.
    Why: Confident single wrappers now receive their own normal record check, and literal commit/echo/printf text remains data; dynamic or nested execution still fails closed.
    So what: All deterministic proof passes; independent review is pending, with no reviewers started, before Luke approves merge.

    473 repository tests and 7 versionctl tests pass on the exact head; doctor and release-check pass. Version remains the PR's one 17.4.3 transition. The PR body documents the remaining exact data false positives and Zsh execution gap. Observer was republished as an explicitly session-scoped report after a default-ledger failure, tracked at toolboxmd/agent-observer#140. No merge, release, tag or install.

    Proof correction: the earlier claim of 148 copied-baseline failures was a runner setup error because the sibling Python module was omitted. The corrected runner copies both files from each exact revision: current selected regressions produce 143 genuine bypass failures against original main 15b1dd5 (exit 0 instead of 2), and 124 genuine overblocking failures against prior PR head 6ea958a (exit 2 instead of 0). Both corrected runs have zero errors and no import failures; their results supersede that earlier count.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions