Skip to content

claude-config(audit-permission-grants): remediation prescribes a bare-name-on-PATH pattern that is unavailable on the measured platform #1398

Description

@kyle-sexton

Problem

claude-config:audit-permission-grants prescribes a remediation that cannot be executed on the
platform the permission-rule-hygiene convention actually measures.

  • plugins/claude-config/skills/audit-permission-grants/SKILL.md (Phase 2) tells the operator to
    "replace the fragile grant with the bare-name-on-PATH pattern from the convention".
  • plugins/claude-config/skills/audit-permission-grants/reference/criteria.md (P1 Recommend)
    says "expose the helper as a bare command on PATH and allow the bare name narrowly."

docs/conventions/permission-rule-hygiene/README.md now carries a Known gap section (added in
#1277) recording the measured fact that a plugin's bin/ directory is not placed on the Bash
tool's PATH — harness-wide, not a packaging defect — and that the two obvious substitutes
(~/.local/bin shim, env.PATH in user settings) both rot on the version-numbered install path.

So on Windows / Git Bash the audit hands the operator a remediation with nothing to match. The
detector is right that the grant shape is an anti-pattern; the prescribed fix is unavailable.

Wanted

The audit's criteria and reporting should recognize this platform-specific unresolved state instead
of prescribing the unavailable bare-name pattern unconditionally — e.g. keep the finding, but state
the bundled-path invocation as the form that works today and point at the convention's Known gap
section for why the bare-name end state is not yet reachable.

Scope

plugins/claude-config/skills/audit-permission-grants/ — carries a claude-config plugin version
bump plus a CHANGELOG entry.

Origin

Codex review finding on #1277, judged VALID but out of that PR's scope: #1277 is docs-only under
docs/conventions/ and ships no plugin change. Filed here so the deferral carries a durable trigger.

Refs #843 — the upstream capability whose absence creates the mismatch.

Activity

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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions