Scrubby

Indexing Stuck or Failing

What to do when an index never completes, retries, or fails outright.

A first index typically takes 1–3 minutes for a moderately sized repo. Incremental indexes are nearly instant. If you’re seeing something different, this page has the diagnostic steps.

Symptom: index status stays “queued”

The job hasn’t started running yet. Brief queueing (under a minute) is normal during high-traffic periods.

  • Check the repositories page for the index status.
  • If it’s been queued more than 5 minutes, the queue may be backed up. Wait 5 more minutes.
  • If still queued after 15 minutes, contact support via feedback.

Symptom: index status stays “indexing”

The job is actively running but taking longer than expected.

  • A first index on a very large repo (>10k files) can take 5–10 minutes legitimately.
  • An incremental index that touches >20 new files or modified dependency files triggers reclassification, which adds 1–2 minutes.
  • Anything past 15 minutes is unusual. Check the dashboard for an error; if there isn’t one, contact support.

Symptom: status flips to “failed”

The dashboard shows the failure reason. Common ones:

ReasonWhat it meansFix
repo_not_accessibleScrubby’s GitHub App can’t read the repo.Confirm the app is installed and the repo is in the install scope.
head_sha_unreachableThe repo has been force-pushed or rewound since indexing started.Re-trigger the index.
oversized_repoRepo exceeds size limits.Contact support; some cases are configurable.
quota_exceededAccount is over usage cap.Upgrade plan or wait for the next billing cycle.
internal_errorBackend bug.Retry; if persistent, contact support.

Re-triggering an index

From your AI editor:

"Re-index this repo with Scrubby."

From the dashboard, click Re-index on the row.

Re-indexing is rate-limited to once per minute per repo — see Rate Limits. If you trigger it twice in a row you’ll get a 429.

Force a full re-classification

Most incremental re-indexes skip domain reclassification (it’s expensive). If you’ve done a major restructure and want a fresh classification:

"Re-index this repo with Scrubby, full (not incremental)."

Or pass incremental: false if you’re calling the REST API directly.

Symptom: index completes but is missing files

  • Files larger than 200KB are skipped during sampling. They still exist in the index but their content is summarized rather than fully analyzed.
  • Generated files (.min.js, package-lock.json, lockfiles, vendored deps) are skipped intentionally.
  • Files matching .gitignore patterns are not indexed.

If you have a custom case (e.g. an unusual file extension Scrubby doesn’t recognize), submit it via feedback so support can extend the recognized list.

Symptom: index completes but domains look wrong

  • This is rare on the first index. Send a screenshot of the discovered domains via feedback along with the repo path; we’ll dig in.
  • More common: the domains look right initially but drift over time. That’s the system working as designed — the learning loop is refining weights based on the reviews you run. Trust the convergence.

Last updated