Automattic / Automattic/harper

Should flag noun vs verb grammatical number disagreement in relative clauses

Open
#2,632 0 comments 0 reactions 0 assignees View on GitHub
agreement enhancement grammar harper-core linting
Dominant language
Rust
Stars
15.4k
Forks
627
Avg merge
1d 15h
Merged PRs (30d)
102

Description

For instance: Here are some of the **file types** that **has** built-in support.

Image

"file types" is plural but "has" is singular.

Also wrong would be "Here is a **file type** that **have** built-in support".

Some more:
- You may want to update the **country code and other settings** that **works** best for you.
- I require someone who can suggest **delicious recipes** that **includes** foods which
are nutritionally beneficial
- I want **a system** that **allow** users to register and save their vehicle information
- the flexibilities for users to enable **features** that **requires** TCP connections
- Here you can find the SO100 **docs** which **is** deprecated.
- rather a frequent **occurrence** that **happen** as part of routine work
- 1-2 Technical **interviews** that **resembles** a problem SigNoz solves for
- there is a **script** that **generate** the boilerplate of the new tool
- the ability to create **applications** that **does not** require the user to install the Framework
- A MCP **Server** that **enhance** your IDE with AI-powered assistance
- Managed performance **runners** for GitHub Actions that **provides** 3
- Always free **tools** for web developers that **includes** CSS minify unminify
- Simple **writer** that **rotate** log files automatically based on current date and time
- there are some **differences** that **prevents** them being redundant
- teler-waf is a Go HTTP **middleware** that **provide** teler IDS functionality
- **Package** that **provide** functions for simplified creation of pointers from constants of basic types.
- A **package** that **provide** many helpful methods for working with rest api.
- A **linter** that **detect** the possibility to use variables/constants from the Go standard library.
- A MCP **Server** that **enhance** your IDE with AI-powered assistance for Intlayer i18n / CMS
- to evaluate its own performance on **domains** that **requires** deep expertise

I started work on this and it turns out to have a ton of unexpected false positives, possibly more than true positives in my corpus - and you can see how common the true positives are above. I stopped collecting before I got to the end...

If you want to tackle this, I'll be happy to share my work so far as a draft PR etc.

Contributor guide

Open the contributing guide

Research direction

Review the listed relative-clause examples and the author's draft work first; no repository file, test, or entry point is named. The main unresolved work is defining acceptable false-positive behavior and validating the check against the examples and the broader corpus.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.