Description
Git Commit History Ingest imports the history already available in a local Git checkout into the Git Commits Dotabase. It reads commits newest-first, shapes stable commit records with author, message, timestamp, changed-file information, repository identity, and a GitHub URL when the remote supports one, then uploads those records through the authenticated API.
The ingest also supplies provenance for the code graph. Full checkout history identifies which commits touched each repository file, and downstream matchers can connect Conversations that mention commit SHAs. These typed endpoints allow traversal from a code symbol through its file and commit to the discussion or plan that produced it.
Selling Points
- Uses local Git history without requiring a GitHub credential.
- Preserves full commit SHAs as stable idempotency keys.
- Connects code structure to delivery history and agent conversations.
- Adds repository-aware URLs when a checkout points to GitHub.
- Supports repeatable CLI automation with inserted, updated, skipped, and failed counts.
User Story
As an engineer ingesting a repository, I run the commit-history command against my checkout and receive a durable Git Commits collection. Later I can trace a file or symbol to the commits that changed it and onward to conversations that referenced those SHAs.
Extension Surface
The rating is automatable because packages/cli/src/commands/git.ts exposes a scriptable command and packages/ingestion/src/repo/provenance/git-history.ts accepts a Git runner seam. packages/ingestion/src/repo/provenance/git-commits.ts provides DB-free parsing and identity helpers. Callers can automate inputs and batching, but commit mapping and graph endpoint semantics remain governed.
Capabilities & Limits
Capabilities include local history enumeration, newest-first parsing, stable repository and commit identities, changed-file capture, optional GitHub commit URLs, API batching, commit-to-file provenance, and conversation-SHA linking. Limits are clear: a shallow checkout exposes only its available history, author identity is not guessed into a GitHub login, and the checkout-free provenance sweep cannot recreate full commit-to-file history without a future ingest.
Implementation Map
packages/ingestion/src/repo/provenance/git-history.tspackages/ingestion/src/repo/provenance/git-commits.tspackages/ingestion/src/repo/provenance/commit-files.tspackages/cli/src/commands/git.ts