{"wiki":{"id":792,"slug":"el-orphan-reap-01","entity_type":"droid","entity_id":"el-orphan-reap-01","title":"Elrond Orphan Droid-Run Reaper","prose_md":"## About\n\nThe Elrond Orphan Droid-Run Reaper is a housekeeping droid that cleans up stale, stuck droid executions. Its job is to scan the [[pipeline]] for any droid runs that are still marked **running** but have been active for more than 30 minutes with no actual execution — these are “orphans” that lost their process but never finished. It marks them as **failed** so they don’t clog the system or report confusing statuses. This fills a gap: the Foreman service handles many droid lifecycle events, but it doesn’t catch execution‑less hangs, which the Reaper exists to fix.\n\nEvery 5 minutes the Reaper wakes up (controlled by [[scheduled-processes]]), reads only `droid_runs` records, finds the ones stuck in a running state beyond the 30‑minute threshold, and flips them to failed. It then writes a small audit note — a `run-audit` — for each reaped run, so there’s always a trail. It cannot read or change anything else; its permissions are locked strictly to `droid_runs` updates.\n\nOwned by [[agt_011]], the Reaper originally lived inside a retired watcher but now runs as a standalone droid. It is **not** a one‑off. It’s a member of a widely‑shared (none) droid family — 209 agents across the Carolverse, from [[agt_001]] to [[agt_044]], each run an identical copy. This one is pure software: it never calls out to Claude or any large language model, doing its work entirely with deterministic code.","namesake_json":"{\"engine\": \"software\", \"model\": null, \"claude_purpose\": null, \"family\": \"(none)\", \"family_size\": 209, \"is_unique\": false}","profile_pic_path":"avatars/droid/el-orphan-reap-01.png","source_hash":"f67a9c5f43c0fe41e510ee178f8d7e53654724ba6e42f50690f71059daf40f4f","status":"active","last_generated_at":"2026-07-29 03:38:34","created_at":"2026-07-26 03:35:15","updated_at":"2026-08-05 03:39:32"},"facts":{"id":"el-orphan-reap-01","name":"Elrond Orphan Droid-Run Reaper","machine_name":"","owner":"agt_011","function":"Reap execution-less stale running droid_runs","process_type":"scheduled","schedule":"Every 5 min","process_name":"","avatar_color":"#94a3b8","created_for":"CAROL-INI-2189","purpose":"Mark droid_runs status=running older than 30min as failed (rehomed from retired al_watch_01, CAROL-INI-121). Covers the execution-less gap Foreman does not. Default Elrond ownership for unowned pipeline chore.","duties":"Reap stale orphan droid_runs; emit run-audit each run.","constraints":"Read/update droid_runs only.","status":"running","gender":"","archetype":"","building_block":"support","service_override":null,"enabled":1,"task_key":"initiatives.blanket_planner","model_free":0},"page":{"type":"droid","page_class":"main","class_label":"Main page","kind_label":"Droid","kind_gloss":"","listed":true}}