Skip to content

refine: propose adjustments to 1 rule(s) - #817

Open
claude[bot] wants to merge 1 commit into
mainfrom
refine/rules-2026-08-09
Open

refine: propose adjustments to 1 rule(s)#817
claude[bot] wants to merge 1 commit into
mainfrom
refine/rules-2026-08-09

Conversation

@claude

@claude claude Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Human review required. This PR mutates NLPM's own rulebook.
Evaluate each proposed change against the evidence. Merge the
sound ones; close the rest. Do not merge without reading
every rule section.

R15 — noisy (evidence tagged R19 in the auditor's proposal)

Current metrics: hits=4, merged/contributed=0/0, self-FP=3, maintainer-rejected=0, downstream-suppressions=0

Evidence:

  • Rule-gap signals (up to 3):
    • The no-empty-input-handling rule should not penalise commands whose body is a single unconditional message.
    • The no-empty-input-handling rule should not penalise commands whose body is a single unconditional message.
    • The no-empty-input-handling rule should not penalise commands whose body is a single unconditional message.

Proposed change: The input labeled this proposal R19, but the gap text names "the no-empty-input-handling rule," which is R15 ("Handle empty input") per skills/nlpm/scoring/SKILL.md's rule-name table — R19 governs user-invocable: false, an unrelated frontmatter requirement. R19 already carries an equivalent exception ("Does not apply to: standalone commands, including commands whose body is a single unconditional message") from a prior refinement round, so no edit was needed there. Given the self-FP rate (3 of 4 hits) and the gap text, I applied the analogous exception to R15 instead: commands whose body is a single unconditional message with no branching on $ARGUMENTS have nothing to guard against, so they're now exempt from the empty-input-handling requirement. Flagging the rule_id mismatch explicitly for reviewer judgment — reject this edit if the retagging reasoning doesn't hold.

Proposals without evidence

  • R31 (disputed) — no maintainer quotes, no rule_gaps. downstream_reasons has 5 entries but every reason field is literally "(no reason given)" (all threshold_adjustment type, which doesn't correspond to R31's fail-open-hooks content) — no actionable signal.
  • R06 (noisy) — empty quotes, empty rule_gaps, empty downstream_reasons. Metrics alone (verify_rate=0.077, introduced=7) don't indicate which wording to tighten.
  • R15 (noisy, filed as its own proposal separate from the R19-tagged one above) — empty quotes, empty rule_gaps, empty downstream_reasons.
  • R16 (noisy) — empty quotes, empty rule_gaps, empty downstream_reasons.

Not applicable to this file

  • SEC-unpinned-semver (disputed) — has quotes and a rule_gap, but this ID isn't part of the R01–R50 catalog in skills/nlpm/rules/SKILL.md; it's a security-scanner pattern (skills/nlpm/security/SKILL.md). Per site/how-it-evolves.md, this was already "demoted" via rule-health.py classifier logic in v0.7.22, not via rulebook wording — out of scope for this PR, which may only touch skills/nlpm/rules/SKILL.md.
  • CC-stale-count (disputed) — same reason: not an R-numbered rule (it's a cross-artifact-consistency checker pattern), and was already cleared via the applied_separately reclassification fix in rule-health.py (v0.7.22).
  • SEC-hardcoded-api-key (noisy) — has a strong, actionable rule_gap (exempt public client-side analytics keys — PostHog/Segment/Mixpanel — from hardcoded-credential findings), but this pattern lives in skills/nlpm/security/SKILL.md, not the rules catalog. Recommend routing this fix to a security-skill-focused refinement pass; no edit made here.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@claude claude Bot added the rule-refinement-proposal Human review required — mutates NLPM rulebook label Aug 9, 2026
github-actions Bot added a commit that referenced this pull request Aug 9, 2026
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

🔍 Preview deploy

Preview URL: https://nlpm.com/_pr/817/

Built from 18c3703 at 2026-08-09T09:22:40.563Z.

It may take 30–60s for the GitHub Pages CDN to serve the new content. The preview is removed automatically when the PR closes.

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

Labels

rule-refinement-proposal Human review required — mutates NLPM rulebook

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants