Per-repo, manual refresh
gitcrawl crawls one repo at a time (gitcrawl sync owner/repo) and has no sync-all, so DuckBrain doesn’t auto-refresh it — you crawl the repos you care about, then duckbrain sync git ingests whatever’s in the archive. gitcrawl sync fetches open issues + PRs by default; add --state all to backfill closed ones, and --include-comments to pull the comment threads (without it, only titles + bodies land).
What gets ingested
- Two record shapes. One bronze row per thread (issue or PR:
title+body) and one per comment (joined to its thread for context). Both upsert in place on edit. - Bot & deleted comments are dropped — CI/dependabot noise and tombstoned comments never reach the brain.
- Classification tracks repo privacy — threads from a public repo are
classification: public; anything from a private repo (or a repo whose visibility can’t be read) staysconfidential, so a private thread never leaks.
Facet mapping
Distinct from GitHub via Pipedream, which pulls issue titles + commit messages + repo READMEs through managed OAuth. gitcrawl is the one that gets the full issue/PR discussion, local-first.