I Built an AI That Listens to the Ghosts of Forgotten GitHub Repositories 👻
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine . Open-source projects rarely disappear all at once. They become quiet. Commits slow down. Issues remain unanswered. Documentation stops matching reality. Unfinished ideas survive inside TODO comments,

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine.
Open-source projects rarely disappear all at once.
Commits slow down. Issues remain unanswered. Documentation stops matching reality. Unfinished ideas survive inside TODO comments, abandoned branches, and old release notes.
The code is still there—but the context begins to disappear.
I built GhostCommits to investigate those surviving traces.
GhostCommits is a local, open-source AI software archaeologist.
Give it a public GitHub repository URL, and it reconstructs an evidence-backed picture of the project:
I interpreted Ghost in the Machine as the history that remains trapped inside an inactive codebase.
The “ghost” is not a fictional maintainer personality. It is the repository’s surviving evidence: the last commit, unresolved issue, unfinished comment, archived status, and development pattern.
GhostCommits gives those traces a voice without pretending to know more than the evidence can support.
In the demonstration, I investigate a real public repository rather than loading a fabricated result.
The application also supports a bundled offline report so the interface remains demonstrable when GitHub is unavailable, but the primary workflow analyzes real repositories.
Every abandoned repository has a story. GhostCommits finds the evidence, separates fact from inference, and turns the surviving trail into a safe resurrection plan.
GhostCommits is a competition-ready, open-source AI software archaeologist. It combines deterministic Git/GitHub mining with schema-constrained Gemma inference. Facts never come from the language model; the model may only interpret a validated evidence packet, and unsupported evidence IDs are rejected.
The activity heartbeat and signal profile expose the repository's observable development history, while every displayed conclusion remains connected…