Skip to content

fix: attribution footer drift, checklist staleness, commit-skill bypass lint#203

Merged
kyle-sexton merged 4 commits into
mainfrom
fix/work-items-attribution-checklist-commit-lint
Jul 16, 2026
Merged

fix: attribution footer drift, checklist staleness, commit-skill bypass lint#203
kyle-sexton merged 4 commits into
mainfrom
fix/work-items-attribution-checklist-commit-lint

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Summary

Closes decisions #38, #71, #72 (Decisions Log: https://claude.ai/code/artifact/232ecdce-8316-4880-8c0a-dc3c7dcf3a63).

  • feat: add eol-normalizer plugin #38 formatting-create-md-attribution-footer-drift: create.md's PR-body heredoc now emits the 🤖 Generated with Claude Code attribution footer it documents elsewhere but previously didn't actually emit.
  • feat: add review-toolkit plugin (6 reviewer agents + quality-gate and code-review-fanout skills) #71 naming-work-items-checklist-template-staleness: templates/checklist.md's add action reconciled to add.md's actual current behavior — --force skip, --type native-Issue-Type resolution (org repos) vs. type: label (personal/non-org repos), --agent-ready body template, --recurring title prefix — none of which the checklist previously mentioned.
  • feat: add source-control plugin (commit, pull-request, worktree skills) #72 tooling-gov-commit-skill-composition-lint: new guardrails plugin hook flag-commit-pr-skill-bypass.sh — advisory PreToolUse/Bash guard that flags direct git commit (missing the canonical -F - + --trailer shape) or any gh pr create, nudging toward this marketplace's own /commit / /pull-request create skills. Gated on the consuming project actually having source-control enabled in its own .claude/settings.json (fails quiet on uncertain state, per the plugin's existing advisory-guard posture). Mirrors block-hook-bypass.sh's literal-stripping detection and the shared telemetry envelope.

Verification

  • New hook's own test suite: 19/19 passed.
  • shellcheck on both the hook and its test — clean.
  • guardrails version bumped 0.3.2 → 0.4.0 (new toggleable guard), README's guard table/kill-switch table/consumer-seams section updated to match.

kyle-sexton and others added 4 commits July 15, 2026 11:06
…ss lint

Closes decisions #38, #71, #72 (Decisions Log:
https://claude.ai/code/artifact/232ecdce-8316-4880-8c0a-dc3c7dcf3a63).

- #38 (formatting-create-md-attribution-footer-drift): create.md's PR-body
  heredoc now emits the attribution footer it documents elsewhere.
- #71 (naming-work-items-checklist-template-staleness): templates/checklist.md
  reconciled to add.md's actual current behavior (--force, --type native
  Issue Type resolution, --agent-ready body template, --recurring title
  prefix), all previously undocumented in the checklist.
- #72 (tooling-gov-commit-skill-composition-lint): new guardrails hook
  flag-commit-pr-skill-bypass.sh — advisory PreToolUse/Bash guard flagging
  direct `git commit`/`gh pr create` calls that bypass the marketplace's own
  /commit and /pull-request skills, gated on the consuming project actually
  having source-control enabled (fails quiet otherwise). 19/19 tests pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The SCOPE comment cited `anthropics/claude-code#27247` inline, which trips
this repo's own comment-hygiene `tracker-ref:repo-issue` rule (outstanding
work belongs in the issue tracker, not code comments). The issue is already
documented in the guardrails README and the claude-config-audit known-issues
reference; the hook comment only needed the behavioral fact, not the citation.
@kyle-sexton
kyle-sexton marked this pull request as ready for review July 16, 2026 13:19
@kyle-sexton
kyle-sexton merged commit 0797fb1 into main Jul 16, 2026
14 checks passed
@kyle-sexton
kyle-sexton deleted the fix/work-items-attribution-checklist-commit-lint branch July 16, 2026 13:21

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e24fff2c90

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +73 to +77
while [[ "$tok" == "sudo" || "$tok" == *=* ]] \
&& [[ -n "$cmd" && "$cmd" == *[[:space:]]* ]]; do
cmd="${cmd#*[[:space:]]}"
cmd="${cmd#"${cmd%%[![:space:]]*}"}"
tok="${cmd%%[[:space:]]*}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use safe subject extraction for quoted env prefixes

When HOOK_TELEMETRY_SINK is configured and source-control is enabled, this whitespace tokenizer can leak fragments of quoted env-assignment values into telemetry: for example TOKEN="top secret" echo ok is emitted with subject Bash:secret". That violates the hook's privacy contract for every Bash command this advisory hook observes, even when it has no finding; use the shared hook::extract_bash_subject behavior or bail out when an assignment token contains quotes.

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant