From d2006727a1f64e16af453f56e823116c76146880 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Thu, 2 Apr 2026 22:21:31 -0700 Subject: [PATCH] feat: add LayerLurker and DiskDemon event encounters LayerLurker triggers on docker/podman build commands. DiskDemon triggers on ENOSPC and disk-full output patterns. --- lib/catalog.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/lib/catalog.json b/lib/catalog.json index 52b37ac..c4891e7 100644 --- a/lib/catalog.json +++ b/lib/catalog.json @@ -479,6 +479,51 @@ ], "description": "Emerges when permissions are corrected. Doesn't fight — it just watches to make sure you chose the right octal.", "flavor": "777 was always the answer. Never the right one." + }, + "LayerLurker": { + "id": "LayerLurker", + "display": "🐋 LayerLurker", + "type": "event_encounter", + "rarity": "common", + "base_strength": 35, + "xp_reward": 60, + "catchable": true, + "defeatable": true, + "trigger_type": "command", + "command_patterns": [ + "docker build", + "docker pull", + "docker run", + "docker compose up", + "docker-compose up", + "podman build", + "podman pull" + ], + "description": "Lives between image layers. Gets comfortable during long builds.", + "flavor": "It cached everything except the one layer you changed." + }, + "DiskDemon": { + "id": "DiskDemon", + "display": "💾 DiskDemon", + "type": "event_encounter", + "rarity": "uncommon", + "base_strength": 50, + "xp_reward": 95, + "catchable": true, + "defeatable": true, + "trigger_type": "output", + "error_patterns": [ + "No space left on device", + "ENOSPC", + "disk quota exceeded", + "Disk quota exceeded", + "not enough space", + "insufficient disk space", + "no space available", + "filesystem is full" + ], + "description": "Manifests when the disk is full. Usually right before a release.", + "flavor": "It's been there since 2019. It's just a log file, you said." } },