Skip to content

Prove Paths Are Not Words in the Vocabulary Check - #3478

Merged
ptr727 merged 2 commits into
developfrom
vocab-path-case
Oct 25, 2026
Merged

ptr727 merged 2 commits into
developfrom
vocab-path-case

Conversation

@ptr727

@ptr727 ptr727 commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Summary

Answers the second-round finding promotion #3476 raised on the vocabulary check: the is_word docstring says a path with a separator is not a word, and no case held a path. The case covering flags and underscored names, renamed test_flags_paths_and_underscored_names_are_not_words, now carries six slash paths and six backslash paths in a tuple apiece, so a pattern accepting either separator pushes its tuple past the five-word cap.

Verification

  • tests/test_prose_lint.py: 629 tests, OK. ruff and mypy clean. prose_lint.py --diff against the merge base, with and without --check sentence-length: clean.
  • With / replaced by a space in the case's source, it reports PATHS at 6 words, and with \ replaced, WINDOWS at 6 words.
  • Two local adversarial passes at the frontier tier. The first found a single backslash path could not cross the cap by itself, fixed with its own tuple. The second found nothing.

🤖 Generated with Claude Code

ptr727 and others added 2 commits October 25, 2026 11:20
The is_word docstring says a path with a separator is not a word, and
no case held one. Six slash paths that would read as words without
their separator, and a backslash path, now sit in the case covering
flags and underscored names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One backslash path among six slash paths could not cross the cap by
itself, so a pattern accepting backslashes alone would pass. Six of each
now sit in a tuple apiece.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 25, 2026 18:22
@coderabbitai

coderabbitai Bot commented Oct 25, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ptr727

ptr727 commented Oct 25, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 93ba9d90fc322cbd067dd618b22797b3528d96b0, the content this pull request carries at that commit against develop, and it recorded 0 findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The reviewed change has no unresolved findings and all approval assessments support approval.

No open issues 🎉

What changed in this PR

This pull request strengthens vocabulary-check regression coverage by verifying that both POSIX-style and Windows-style paths are not counted as words.

Changes:

  • Renames the test to include path coverage.
  • Adds six slash-separated and six backslash-separated paths.
  • Preserves existing flag and underscored-name coverage.
File Description
tests/​test_prose_lint.py Extends the vocabulary-check regression test with POSIX and Windows path examples.

Review effort: Lite

@codecov

codecov Bot commented Oct 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.98%. Comparing base (86f66b4) to head (93ba9d9).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3478   +/-   ##
========================================
  Coverage    80.98%   80.98%           
========================================
  Files           25       25           
  Lines         8895     8895           
========================================
  Hits          7204     7204           
  Misses        1691     1691           
Flag Coverage Δ
python-3.13 80.98% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit 18ee2fc into develop Oct 25, 2026
14 checks passed
@ptr727
ptr727 deleted the vocab-path-case branch October 25, 2026 18:34
ptr727 added a commit that referenced this pull request Oct 25, 2026
…3476)

## Summary

Promotes the pull requests merged into develop since release 2.0.1178.

- [#3474](#3474): replaces
the prose gate's line ceiling with a test that fails where
`prose_lint.py` holds a banned spelling, an exemption entry, or a
collection literal of more than five words.
- [#3477](#3477): answers
this promotion's review. The `is_word` docstring now says what its
pattern accepts, and a word tuple keying a mapping beside a wordless
value is reported.
- [#3478](#3478): answers
this promotion's second review round, a case proving paths with a `/` or
`\` separator are not words.

Closes #3441

## Constituent coverage

Each change this promotion carries had coverage on its own pull request
into develop, at its merged head:

| Pull request | Merged head | Coverage |
| --- | --- | --- |
| [#3474](#3474) |
`9d631289` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its one changed file,
no open findings |
| [#3477](#3477) |
`0999fc81` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its one changed file,
no open findings |
| [#3478](#3478) |
`93ba9d90` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its one changed file,
no open findings |

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.

2 participants