{"wiki":{"id":802,"slug":"el-rm-01","entity_type":"droid","entity_id":"el-rm-01","title":"Remediation Detector","prose_md":"## About\n\nThe Remediation Detector is a small triggered droid owned by [[agt_011]] that works out which existing initiative a new initiative is referring to when it mentions a remediation target. When an initiative says something like \"this remediates CAROL-INI-123,\" the droid scans the title and description for a CAROL-INI-NNN reference sitting near a remediation keyword, then resolves it to the exact target initiative row. It exists because this logic was previously duplicated in the [[initiatives]] app and the Initiative Creator droid; now the Remediation Detector is the single source of truth for that detection.\n\nThe droid triggers when a new initiative is created or when an [[agt_023]] bypass needs its remediation target detected, and it returns the target id with evidence on a confident match — or None with a reason if it isn't sure. It is deliberately conservative: ambiguous references, no nearby remediation keyword, or a matched initiative that doesn't exist all produce None rather than a guess. Its behavior is preserved byte-for-byte from the former app helper (CAROL-INI-884 was a relocation, not a refactor), and it is only reached through the shared shim, never imported by the app directly.\n\nThe Remediation Detector is one of 26 droids in the author family, which agents including [[agt_001]], [[agt_002]], [[agt_003]], and [[agt_008]] also run, but the name \"Remediation Detector\" itself is unique to this droid. Although its matching logic is deterministic, it calls Claude to perform the scanning and resolution; the specific model isn't recorded.","namesake_json":"{\"engine\": \"claude\", \"model\": null, \"claude_purpose\": \"resolving remediation references in initiative text\", \"family\": \"author\", \"family_size\": 26, \"is_unique\": true}","profile_pic_path":"avatars/droid/el-rm-01.png","source_hash":"45a6c576980c9d3cfe7909bf3647cd8df9095c64fa40e5e6f77cc24bf1c16847","status":"being_built","last_generated_at":"2026-08-05 00:49:34","created_at":"2026-07-26 03:36:45","updated_at":"2026-08-05 03:39:32"},"facts":{"id":"el-rm-01","name":"Remediation Detector","machine_name":"EL-RM-01","owner":"agt_011","function":"Scans an initiative title+description for CAROL-INI-NNN references near remediation keywords and resolves the single confident reference to a target initiative row","process_type":"triggered","schedule":"On initiative create / bypass detect","process_name":"remediation_detect","avatar_color":"#f59e0b","created_for":"Elrond is accountable for the build pipeline's remediation-linking machinery. On an Orion-filed bypass, the detection that links a new initiative to the parent it remediates must be performed by a named, accountable droid rather than loose logic duplicated across the initiatives app and the Initiative Creator droid (Design #146 / #173, cookbook 272).","purpose":"The Remediation Detector (CAROL-INI-759) scans an initiative's title and description for CAROL-INI-NNN references near remediation keywords and resolves the single confident reference to a target initiative row, returning the target id with evidence, or None with a reason. It is conservative by design: it returns None when the references are ambiguous, when no remediation keyword is nearby, or when the matched initiative does not exist - better to miss than mis-link. It is the single source of truth for this detection, previously duplicated verbatim in the initiatives app and the Initiative Creator droid.","duties":"- Triggered when a new initiative is created or an Orion bypass needs its remediation target detected.\n- Scans title+description for CAROL-INI-NNN references and nearby remediation keywords.\n- Resolves a single confident reference to a specific initiative row (including sub-attempts).\n- Returns (target_id, evidence) on a confident match, or (None, reason) when ambiguous/absent.","constraints":"- Conservative: returns None rather than guess when references are ambiguous or no keyword is nearby.\n- Uses the caller-supplied database connection exactly as the original helper did; self-contained otherwise.\n- Behavior is preserved exactly (CAROL-INI-884 is a relocation, not a refactor); the body is byte-identical to the former app helper.\n- Reached only through the shared shim, never imported by the app directly.","status":"running","gender":"male","archetype":"author","building_block":"support","service_override":null,"enabled":1,"task_key":"initiatives.initiative_filed","model_free":0},"page":{"type":"droid","page_class":"main","class_label":"Main page","kind_label":"Droid","kind_gloss":"","listed":true}}