cd /news/ai-agents/commitmortem-a-post-mortem-for-aband… · home › topics › ai-agents › article
[ARTICLE · art-161614] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Commitmortem: a post-mortem for abandoned code

A developer built Commitmortem, a tool that turns abandoned public GitHub repositories into memorial pages, lets users question an AI imitation of the maintainer with answers that must cite real commits or issues, generates a technical-debt "haunting report" with file and line references, and attempts small fixes in a sandboxed copy without pushing anything. The project, submitted to the Ghost in the Machine challenge, uses Gemma 4 models (gemma-4-31b-it for reasoning and gemma-4-26b-a4b-it for fast tasks) via the Gemini API, with deterministic offline fallbacks for every model step and an open harness that loads seven SKILL.md agent skills. The developer says ghost output is labeled "AI imitation based on public commits" and uses only public data.

by read3 min views1 publishedOct 31, 2026

Submission for the Ghost in the Machine challenge

What I Built

Every abandoned repository is a kind of ghost: the intent, the arguments and the people behind it are buried in commits nobody reads. Commitmortem turns a dead public repo into a digital ofrenda (the Día de los Muertos memorial altar), lets you talk to an AI imitation of its maintainer, and then tries to bring the project back to life.

Paste a GitHub URL or a local path, and Commitmortem:

Remembers. It reads the full commit history and issues and builds a memorial page. Each milestone commit becomes a candle, each contributor gets a portrait frame with marigolds sized by activity, and open issues appear as “unanswered prayers”. A short calavera epitaph teases the project, never its people.

Answers through a séance. You ask the ghost questions. Every answer must cite real commits or issues ([commit:abc1234], [issue:#7]). If nothing in the history matches, it says it doesn’t remember instead of guessing.

Haunts. A haunting report turns technical debt into hauntings, with a severity, a real file and line, and a suggested fix.

Resurrects. In a sandbox copy, the agent runs the project’s checks and tries up to three small fixes. It shows the steps, the logs and a diff, and it never pushes anything.

Screenshots:

Code:

A post-mortem for abandoned code. Commitmortem turns a dead public repository into a digital ofrenda, lets you question an AI imitation of its maintainer, and then tries to bring the project back to life in a sandbox.

Built for the Ghost in the Machine challenge with Gemma 4 and an open skill harness.

Process What you get
I. Ofrenda A memorial page: calavera epitaph, a candle per milestone commit, a portrait frame per contributor with marigolds sized by activity, and open issues as "unanswered prayers"
II. Séance Ask the ghost a question. Every answer cites real commits or issues ( [commit:abc1234] ,[issue:#7] ). If nothing matches, it says it does not remember
III. Haunting report Technical debt phrased as hauntings, each with a severity, a real file and line, and a suggested fix
IV. Resurrect An agent copies the repo into a sandbox, runs

python3 demo/make_fixture.py

python3 -m server.app demo/sample-dead-repo How I Used Gemma 4

Gemma 4 is called through the Gemini API (gemma-4-31b-it for reasoning, gemma-4-26b-a4b-it for fast tasks). It does four jobs: Task What Gemma does

Séance Answers in the maintainer’s commit-message style from retrieved commits and issues, with citations

Ofrenda Writes a short remembrance for each contributor using only facts from the data

Calavera Writes a respectful, humorous verse in the calavera tradition

Resurrection Reads the failing build log and the source files and proposes the smallest patch

[After your real Gemma run, add one line with what you measured, for example how many séance answers passed the citation check on the first try, and the response time.]

Keeping the ghost honest. Every claim must cite a retrieved commit or issue. A post-check regenerates an answer with no valid citation once, then falls back to a plain answer built straight from the retrieved items. Ghost output always carries the label “AI imitation based on public commits”, and the tool uses public data only.

Built to survive failure. Every Gemma step has a deterministic offline fallback, so the demo still runs with no API key or network. That is how I tested it end to end.

Open-source harness and skills

The repo includes seven agent skills as SKILL.md files (scan-repo, ofrenda-builder, seance, haunting-report, calavera, resurrect, oral-history). A small open harness (harness/) loads them, routes each call to its module, caps the number of steps and writes a trace of every call. Resurrection is sandboxed: temporary copy only, allow-listed commands, a step cap, and nothing is pushed or published.

Limits and what’s next

Offline fixes cover Python only. Other languages need Gemma to propose patches.

The oral-history interview mode (a Gemma-led interview that saves a maintainer’s own story) is specified but not built.

Next: a hosted demo and deeper issue and diff summarization.

Prize categories

Best Use of Gemma 4

DigitalOcean Best Open-Source AI Project

── more in #ai-agents 4 stories · sorted by recency
── more on @commitmortem 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/commitmortem-a-post-…] indexed:0 read:3min 2026-10-31 · —