Skip to content

fix(docs-hygiene): run under/at/on through the document-locator predicate (0.21.5) - #3228

Merged
kyle-sexton merged 2 commits into
mainfrom
cursor/3192-audit-noise-cfcf
Aug 23, 2026
Merged

fix(docs-hygiene): run under/at/on through the document-locator predicate (0.21.5)#3228
kyle-sexton merged 2 commits into
mainfrom
cursor/3192-audit-noise-cfcf

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Closes #3192

Summary

conversational-antecedent narrowed in from a blanket exemption to a document-locator check in #3162, but under, at, and on still exempted unconditionally. Conversational residue phrased with those prepositions escaped: "as we agreed on Tuesday", "as we decided at the standup", "as we agreed under time pressure".

Fix

All three now defer to audit_noise_follower_is_document_locator, the same predicate in already uses. The anaphoric-adverb followers (above / below / earlier / later / previously / elsewhere) stay unconditional.

Corpus measurement (1154 tracked .md files, minus **/evals/fixtures/** and CHANGELOG.md): conversational-antecedent count is 2 before and 2 after. T1 stayed 13. Routing on through the locator adds no new findings on this repo — the high-traffic on idioms (based on, depends on, on disk, on the other hand) never matched the antecedent pattern. The choice to narrow all three is therefore justified: recall goes up on the issue's own table, with a measured zero false-positive delta on the fleet corpus.

Verification

  • detect.test.sh — 143 checks passed, covering the issue table plus high-traffic on idioms and the unchanged anaphoric above exemption
  • Corpus sweep vs origin/main detector: conversational-antecedent 2→2; other shapes unchanged
  • skill-quality:check docs-hygiene:audit-noise — PASS
  • SKILL.md treatment row updated so it stays true

Related

@claude

claude Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 16s —— View job


Security review — no issues found

  • Load /review:security-review skill instructions
  • Fetch PR diff (commit a86d9dd, single-commit PR)
  • Review changed files for security-relevant surface
  • Apply skip gate / report findings

Skip gate: change has no security-relevant surface.

This PR touches only plugins/docs-hygiene/.claude-plugin/plugin.json (version bump), CHANGELOG.md, the SKILL.md treatment-table prose, a test fixture (detect.test.sh), and the regex-based classifier logic in noise-shapes.sh.

The functional change widens audit_noise_line_has_conversational_antecedent's case statement so under/at/on route through audit_noise_follower_is_document_locator (the same predicate in already used) instead of exempting unconditionally. This is pure [[ =~ ]] pattern matching over markdown prose already read by the auditing tool — no eval, no command execution built from file content, no new file writes, no path handling of externally controlled input, and no change to trust boundaries, permissions, or CI workflow files. The test file only adds static fixture strings and assertions.

No CRITICAL, IMPORTANT, or SUGGESTION findings.

@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: a86d9dda9f

ℹ️ 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 thread plugins/docs-hygiene/skills/audit-noise/scripts/lib/noise-shapes.sh
@github-actions

Copy link
Copy Markdown

Last security-reviewed head: a86d9dda9f78b6667b942a46a5188f0c8d72a513. On the next push, the relevance gate compares only the commits since this SHA; delete this comment to force a full re-review.

@kyle-sexton
kyle-sexton enabled auto-merge (squash) August 23, 2026 20:41
@kyle-sexton
kyle-sexton disabled auto-merge August 23, 2026 20:42
kyle-sexton and others added 2 commits August 23, 2026 20:54
…cate

conversational-antecedent narrowed in from a blanket exemption to a
document-locator check, but under, at, and on still exempted unconditionally.
As we agreed on Tuesday and as we decided at the standup therefore escaped.

Route those three followers through the same locator predicate in already
uses. Anaphoric adverbs stay unconditional. A real document locus after the
narrowed prepositions stays exempt.

Closes #3192

Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
An inline-code path after on/at/under followed by punctuation left only
the comma after strip+cut, which fell through as "not a locator".

Closes #3192

Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
@kyle-sexton kyle-sexton changed the title fix(docs-hygiene): run under/at/on through the document-locator predicate (0.21.3) fix(docs-hygiene): run under/at/on through the document-locator predicate (0.21.5) Aug 23, 2026
@cursor
cursor Bot force-pushed the cursor/3192-audit-noise-cfcf branch from a410006 to a351329 Compare August 23, 2026 20:54
@kyle-sexton
kyle-sexton merged commit 9c0e15b into main Aug 23, 2026
50 of 52 checks passed
@kyle-sexton
kyle-sexton deleted the cursor/3192-audit-noise-cfcf branch August 23, 2026 21:07
@claude

claude Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cursor[bot]'s task in 24s —— View job


Code review — skipped (skip gate)

  • Load /review:code-review skill instructions
  • Check skip gate

Skip gate triggered: PR is closed (merged), not open.

Per the skill's skip gate, review stops here for a merged/closed PR — no findings are posted. (This run was triggered by a pull_request synchronize event on PR #3228, which is already MERGED.)

For context, Codex's automated review already flagged one point worth a look if this surfaces again on an open PR: noise-shapes.sh:185 — when the document locator after on/at/under is entirely inline code followed by punctuation (e.g. on `docs/design.md`,), the inline-code stripper can leave an empty head before the emptiness check runs, potentially causing a false-positive conversational-antecedent finding. Not independently verified here since review stopped at the gate.

@github-actions

Copy link
Copy Markdown

Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count.

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.

fix(audit-noise): under/at/on carry the same blanket-exemption weakness that in had, so conversational residue still escapes

1 participant