Indexing

How Scrubby keeps a repository's domains, conventions, and connections current after the first index.

Full vs. incremental

The first index on a repository is always a full index. Every file is scanned and every domain is classified from scratch. Every index after that is incremental by default: only changed files are reprocessed, and domains are only reclassified when the change is large enough to warrant it (for example, a dependency file changed, or a large batch of new files was added). An incremental index is faster than a full one because it skips unchanged work.

What triggers a re-index

You rarely need to trigger one manually. Reasons to do so anyway:

Checking index status

The dashboard's Repositories page shows each repository's current status (pending, indexing, indexed, or failed) on its card, along with when it was last indexed. You'll also get an email when an index finishes or fails.

Pinning an index to a past date

A repository can be pinned to a fixed point in its history with an index cutoff date, so ongoing pushes stop moving the index forward. This is a conventions feature — see Repo Conventions for how to set it and what it affects.

Removing a repository

Removing a repository from the dashboard deletes its domains, segments, conventions, and findings from Scrubby, and is immediate and irreversible. It does not uninstall the GitHub App — do that from GitHub's installation settings. Re-adding the repository later starts from a fresh full index.