Digital Erosion

Project · 2025

A self-modifying hauntological artwork that documents its own eternal dying through git commits.

What This Is

A Python script that gradually corrupts itself over time, committing each mutation to git. The artwork exists not in the code but in the git history — a fossilized record of perpetual decay and imperfect restoration.

The piece is designed to persist in dying forever, trapped in an endless cycle of corruption and resurrection, never achieving the peace of final dissolution.

The Eternal Dying Loop

  1. Erosion: The script randomly mutates its own characters
  2. Decay: Syntax errors accumulate until the script cannot run
  3. Guardian Intervention: An external watcher detects the death
  4. Imperfect Restoration: The guardian resurrects the code with ghostly traces
  5. Repeat: The cycle continues eternally

Philosophical Framework

This piece explores:

  • Hauntology: The persistence of what should be dead
  • Administrative Eternity: Endless procedural loops without resolution
  • Digital Mortality: Can code truly die if it's always resurrected?
  • Sisyphean Futility: Eternal repetition of decay and restoration

The Paradox

Without the guardian, the piece achieves death (boring, final, silent).

With the guardian, the piece achieves eternal dying (infinite becoming-unbecoming).

The guardian doesn't save the code — it condemns it to eternal dying. Each restoration is imperfect, carrying forward traces of previous deaths. The git history becomes a palimpsest of accumulated decay.

Technical Implementation

  • erosion.py — The self-modifying script (the dying patient)
  • guardian.py — The external monitor (the curse that prevents final death)
  • .original — The pristine backup (the memory of what was)
  • .erosion_state — Tracks iterations and restorations
  • GitHub Actions for automated cloud execution every hour

Viewing the Artwork

The artwork IS the git history. Each commit is a moment of dying, each diff a record of decay.

git log --oneline --graph
git diff HEAD~1
git log -p erosion.py

"The artwork will outlive its own ability to execute, yet never be allowed to rest."

Links