Files
PaperClipAI/.greptile
DottaandClaude b5f62b3384 docs(rules): correct the scope of the API route and company-scope rules (#20596)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - `rules/*.mdc` holds the architecture rules that reviewers and agents
apply to a change
> - Pull request #20585 added two rules: API route expectations and
company-scope exceptions
> - Review found that both rules state more than is true for the current
code
> - A rule that is too broad makes reviewers flag correct code and can
make an agent add a wrong check
> - This pull request corrects the scope of both rules and fixes one
stale pointer
> - The benefit is rules that match the code they describe

## Linked Issues or Issue Description

Refs #20585

**Issue type**

Incorrect contributor documentation.

**Where is the issue?**

`rules/api-route-expectations.mdc`,
`rules/company-scope-exceptions.mdc`, `AGENTS.md` section 8, and
`.agents/skills/honeycomb-tracing/SKILL.md`.

**What's wrong?**

- The API route rule said that every route checks company access.
Instance-level routes such as `health.ts`, `liveness.ts`, `ready.ts`,
`public-mcp.ts` and `org-chart-svg.ts` do not, and must not.
- The API route rule told reviewers to flag each status code outside a
list of seven. `429` and `503` are correct in some routes.
- The company-scope rule said that it lists the only instance-wide data.
`user_sidebar_preferences` is instance-wide and was not in the list.
- The company-scope rule said that it applies to new files that its
`globs` cannot match.
- The `honeycomb-tracing` skill pointed to `AGENTS.md` for the Telemetry
workflow. That text is now in `rules/data-paths.mdc`.

**Suggested fix**

Limit each rule to what is true, and repoint the skill.

## What Changed

- The API route rule and `AGENTS.md` section 8 now apply to routes that
read or write company data.
- The API route rule names the instance-level routes and says not to add
a company check to them.
- The status code list is now a list of common codes. Reviewers flag an
incorrect code, not an unlisted code.
- The company-scope rule lists the sidebar company order as an
instance-wide exception, in the text, the `globs`, and the Greptile
scope.
- The company-scope rule says "known data" and no longer claims to match
new files.
- The `honeycomb-tracing` skill points to `rules/data-paths.mdc`.

## Verification

- Read the two rules and confirm that each named file exists. A local
script checked the `globs` and the route names.
- Confirm that `.greptile/files.json` is valid JSON and that its scope
matches the rule `globs`.
- No source code changed. No test suite ran locally.

## Risks

- Low risk. The change is documentation only.
- The list of instance-level routes can go out of date when a route is
added.

## Model Used

- Claude (Anthropic), in Claude Code with tool use.
- `claude-fable-5-2`.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [ ] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [ ] All Paperclip CI gates are green
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2026-11-10 11:19:31 -06:00
..

Greptile configuration

This directory tracks the supported review configuration for paperclipai/paperclip. It was prepared from a read-only dashboard inventory on 2026-10-13. No dashboard settings or custom context were changed.

  • config.json records the observed review settings supported by Greptile's documented file schema.
  • files.json loads repository context and scopes architectural rule files.
  • rules.md explains how to apply the canonical Markdown rules in rules/.

Settings migrated to Git

Dashboard setting Repository configuration
Automatic reviews on all events autoReview: ["open", "push", "rebase"]
Exclude dependabot[bot]; remaining reviews use Base excludeAuthors, effort: "base"
High strictness (dashboard says it does not comment on P2s) strictness: 3
Do not replace the PR description shouldUpdateDescription: false
Include PR summary, confidence score, and findings; no sequence diagram The four section settings in config.json
Summary is not collapsible; default-open option is off summarySection.collapsible and defaultOpen are false
Include a prompt to fix findings fixWithAI: true
Status checks and status comments enabled statusCheck and statusCommentsEnabled are true
Auto-approval disabled; stored risk ceiling is Low autoApprove.enabled: false, riskCeiling: "low"

The existing PR-description and 1,000-line growth guidance is in rules/pull-request-review.mdc. That file also preserves the active, repository-specific rule not to request UI screenshots. This resolves the contradiction with the older organization instruction asking for screenshots.

The active dashboard pattern **/[Aa][Gg][Ee][Nn][Tt][Ss].md reported two files: AGENTS.md and docs/api/agents.md. Both are explicit references in files.json; the latter remains API context, not contributor policy. Future context files need explicit manifest entries. The inactive Contribution guidelines context remains inactive; it is not added as a separate context file. Rules scoped to other repositories are not copied here.

Settings still managed in Greptile

The following observed controls do not have equivalents in the published .greptile/ schema used for this migration. They remain dashboard settings:

  • Review draft pull requests: enabled.
  • Required confidence to pass the status check: 5/5.
  • Image badges: enabled.
  • Comment header: empty.
  • Default coding-agent badges: no agents shown.

Repository enablement, provider authentication, billing, integrations, and learned memory also remain service settings. Auto-approval risk instructions, if used later, are explicitly dashboard-only in Greptile's reference. Do not invent config keys for unsupported controls.

Cutover and maintenance

Greptile reads committed configuration from the reviewed branch. No reindex is required. Local changes alone are not visible to the hosted reviewer.

File-based review settings override dashboard defaults, but dashboard rules and instructions are additive. The existing dashboard copies are still active. This is a staged migration, not a completed dashboard cleanup. After a hosted review verifies the configuration, an authorized maintainer can retire duplicate dashboard context scoped to this repository. Do not remove shared organization instructions while other repositories still depend on them.

Keep each policy's body in rules/; update the files.json scope together with the rule's MDC frontmatter. The chat-channel rule includes both the directory and its sibling service entry point. See rules/README.md for authoring steps.

References: configuration and precedence, supported fields and file references.