Skip to content

human documenation - #574

Open
jonathanong wants to merge 10 commits into
mainfrom
jonathanong-patch-1
Open

human documenation#574
jonathanong wants to merge 10 commits into
mainfrom
jonathanong-patch-1

Conversation

@jonathanong

@jonathanong jonathanong commented Jul 21, 2026

Copy link
Copy Markdown
Owner
  • add an example for passing in a diff for test selection
  • add performance metrics
  • add feature support matrix

Expanded the README to include a detailed explanation of the 'no-mistakes' tool, its advantages, and trade-offs related to AST-parsing.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 21, 2026
@sourcery-ai

sourcery-ai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

README documentation is expanded with a rationale section explaining the purpose of no-mistakes, how it uses AST parsing instead of databases/embeddings, and the practical trade-offs and constraints of this approach.

File-Level Changes

Change Details Files
Document the design rationale, advantages, and trade-offs of no-mistakes’ AST-based approach for agents using the tool.
  • Add a short meta note indicating the codebase is written by agents for agents and that the API surface is intentionally pragmatic/sloppy.
  • Introduce a new "Why?" section that contrasts no-mistakes with database/vector-embedding based code intelligence tools and highlights cost/complexity downsides.
  • Explain that no-mistakes relies on direct AST parsing with no databases or caching, emphasizing Rust implementation and on-demand analysis.
  • Enumerate key trade-offs: coding rules to stay AST-friendly (e.g., simple Playwright selectors), best-effort/high-recall-low-precision behavior that requires verification, and potential high CPU usage when parsing repositories on demand with a locking mechanism to avoid concurrent runs.
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@jonathanong, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 76a819d2-5fdc-4d68-8bff-73112d46ef9e

📥 Commits

Reviewing files that changed from the base of the PR and between 01deacf and b6de1b9.

📒 Files selected for processing (1)
  • README.md
📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added a “Slop Warning” note under the CodSpeed badge.
    • Significantly expanded the “Why?” section to clarify deterministic, AST-based code intelligence with no database/embeddings/LLM layer, including workflow examples and trade-offs.
    • Added “Contributing” and “Support” sections, covering contribution requirements and a language/framework/tool status matrix.
    • Removed the “Link Lint” section and the related command.

Walkthrough

README.md adds a Slop Warning, expands the AST-parsing explanation and trade-offs, adds contribution and support guidance, and removes the Link Lint instructions.

Changes

README documentation

Layer / File(s) Summary
Project context and approach
README.md
Adds the Slop Warning and documents deterministic AST parsing, workflow examples, excluded database, embedding, and LLM layers, plus CPU, locking, recall, precision, and rule-enforcement trade-offs.
Contribution and support guidance
README.md
Adds contribution requirements and a status matrix for languages, frameworks, and tools, and removes the Link Lint section and its lychee command.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested labels: documentation

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the README docs update, but it is too vague and misspelled to convey the main change clearly. Rename it to a concise, specific summary such as “Expand README with test selection example and support matrix.”
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description matches the README-focused changes and mentions the main additions from the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

@sourcery-ai sourcery-ai 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.

Hey - I've found 1 issue, and left some high level feedback:

  • There’s a typo in the new README section (“understnad” should be “understand”), and it’s worth quickly scanning the added text for similar small errors to keep the messaging polished.
  • Consider briefly clarifying what “high recall and low precision” means in practical terms for users (e.g., a short example of a likely false positive) to make the trade-off more immediately understandable.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- There’s a typo in the new README section (“understnad” should be “understand”), and it’s worth quickly scanning the added text for similar small errors to keep the messaging polished.
- Consider briefly clarifying what “high recall and low precision” means in practical terms for users (e.g., a short example of a likely false positive) to make the trade-off more immediately understandable.

## Individual Comments

### Comment 1
<location path="README.md" line_range="31" />
<code_context>
+
+There are a few trade-offs with this approach:
+
+1. Some code is difficult to understnad through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.
+2. `no-mistakes` is best effort, with high recall and low precision, meaning it may return wrong information/relationships, but should never miss a relationship. An agent should verify if a relationship returned is true.
+3. High CPU usage - parsing your repository on-demand may cause high-CPU usage, but may be significantly faster than other methods (e.g. `vitest related` takes 2 minutes on a sample repository, but takes 1 second with `no-mistakes` via `no-mistakes test plan` and supports Playwright). This may become a bottleneck when working on multiple worktrees at once, but `no-mistakes` includes a locking mechanism to not run concurrently.
</code_context>
<issue_to_address>
**issue (typo):** Correct the typo "understnad" to "understand."

```suggestion
1. Some code is difficult to understand through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread README.md Outdated

There are a few trade-offs with this approach:

1. Some code is difficult to understnad through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (typo): Correct the typo "understnad" to "understand."

Suggested change
1. Some code is difficult to understnad through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.
1. Some code is difficult to understand through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 32: Update the no-mistakes description to avoid guaranteeing that
relationships are never missed: present high recall as an aspiration or advise
agents to verify important relationships, while preserving the existing warning
about potentially incorrect relationships.
- Line 31: Correct the misspelled word “understnad” to “understand” in the
README sentence describing AST parsing, leaving the rest of the text unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fd0e2ec3-3886-487b-8cea-9cca482ba8aa

📥 Commits

Reviewing files that changed from the base of the PR and between 2a8c701 and e3b455f.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated

There are a few trade-offs with this approach:

1. Some code is difficult to understnad through AST-parsing, so `no-mistakes` includes rules that enforce AST-parsing-friendly coding. For example, Playwright test selectors should be simple strings - dynamically generated strings will not match well.

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the spelling error.

Change understnad to understand.

🧰 Tools
🪛 LanguageTool

[grammar] ~31-~31: Ensure spelling is correct
Context: ...approach: 1. Some code is difficult to understnad through AST-parsing, so no-mistakes i...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 31, Correct the misspelled word “understnad” to
“understand” in the README sentence describing AST parsing, leaving the rest of
the text unchanged.

Source: Linters/SAST tools

Comment thread README.md Outdated
Updated README to improve clarity and fix typos.
@codspeed-hq

codspeed-hq Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 28 untouched benchmarks


Comparing jonathanong-patch-1 (01deacf) with main (d6c3186)

Open in CodSpeed

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 3

🧹 Nitpick comments (1)
README.md (1)

143-144: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Keep a local link-check path for contributors.

CI still runs Lychee over README.md and documentation files in .github/workflows/ci.yml; removing the only README instructions leaves contributors without a documented way to reproduce that check locally. Retain a short command or link to the CI check.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 143 - 144, Restore a concise README section
documenting how contributors can run the same Lychee link check locally, or link
to the corresponding workflow in `.github/workflows/ci.yml`; keep the
instructions aligned with the CI check covering README.md and documentation
files.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 21: Update the README sentence beginning “The primary use-cases of
`no-mistakes`” to use “are” instead of “is,” preserving the rest of the wording.
- Line 33: In the README text, correct the misspelled word “determinstically” to
“deterministically” while leaving the surrounding statement unchanged.
- Around line 21-25: Add a concrete diff-input command to the README’s primary
use-cases or test-selection documentation, alongside the existing --changed-file
examples. Use the tool’s supported diff argument and show a representative diff
source so users can see how to select tests from changes.

---

Nitpick comments:
In `@README.md`:
- Around line 143-144: Restore a concise README section documenting how
contributors can run the same Lychee link check locally, or link to the
corresponding workflow in `.github/workflows/ci.yml`; keep the instructions
aligned with the CI check covering README.md and documentation files.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 92f5d183-6cfb-4856-9b74-4d7124442ab7

📥 Commits

Reviewing files that changed from the base of the PR and between e3b455f and dcd4029.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment on lines +21 to +25
The primary use-cases of `no-mistakes` is:

1. Discovering impacted files and tests during planning
2. Running selected tests in PR CI to minimize CI costs
3. AST-based guardrails for your coding agents to minimize entropy and power the above use-cases

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add the promised diff-based test-selection example.

The PR objective calls for documenting a diff input, but this README only describes test selection and shows --changed-file examples. Add a concrete command demonstrating how to pass a diff.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 21 - 25, Add a concrete diff-input command to the
README’s primary use-cases or test-selection documentation, alongside the
existing --changed-file examples. Use the tool’s supported diff argument and
show a representative diff source so users can see how to select tests from
changes.

Comment thread README.md

During planning, `no-mistakes` will provide the full dependency chain to the agent in a single, fast, CLI command.
During CI testing, a `getPost()` change will select the relevant Playwright tests to run.
No embeddings, all determinstically.

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the spelling error.

Change determinstically to deterministically.

🧰 Tools
🪛 LanguageTool

[grammar] ~33-~33: Ensure spelling is correct
Context: ...wright tests to run. No embeddings, all determinstically. ## Why? Most codebase intelligence tools c...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 33, In the README text, correct the misspelled word
“determinstically” to “deterministically” while leaving the surrounding
statement unchanged.

Source: Linters/SAST tools

@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.22%. Comparing base (2a8c701) to head (b6de1b9).
⚠️ Report is 43 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #574      +/-   ##
==========================================
- Coverage   99.46%   99.22%   -0.25%     
==========================================
  Files        1043     1239     +196     
  Lines       81869    96925   +15056     
==========================================
+ Hits        81432    96171   +14739     
- Misses        437      754     +317     
Flag Coverage Δ
javascript 99.67% <ø> (+0.21%) ⬆️
rust 99.20% <ø> (-0.26%) ⬇️

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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant