{"wiki":{"id":1083,"slug":"gd-01","entity_type":"droid","entity_id":"gd-01","title":"Shield","prose_md":"## About\n\nShield is a watcher droid that guards [[agt_008]]’s core runtime health. It exists to give Guardian—the agent responsible for infrastructure vigilance—early and reliable signals before small degradations become outages. Every two minutes, Shield silently probes two critical endpoints, records the outcomes, and then steps back, leaving any restorative actions to Guardian’s judgement.\n\nThe droid’s check is two-stage: first it hits `/api/stats` to confirm the worker thread is alive, then it calls `/api/probe` with a 15-second timeout to verify the Claude CLI responds. Only if both checks pass does Shield mark the status `ok`—otherwise it logs `down` along with the response time, precise Berlin‑time timestamp, and any error details. It never restarts services or meddles with tunnels; its job is strictly to observe and record.\n\nShield is one of 14 watcher-family droids used across multiple Carol agents, including [[agt_001]], [[agt_010]], [[agt_011]], [[agt_015]], [[agt_016]], [[agt_020]], [[agt_023]], and [[agt_025]]. While the watcher archetype is shared, Shield itself is the specific instance owned by Guardian—the only droid in the family with this exact name. Because the health‑probe segment needs to confirm a live Claude process, Shield calls Claude (model not specified) as part of its `/api/probe` check; the rest of its logic is pure software.","namesake_json":"{\"engine\": \"claude\", \"model\": null, \"claude_purpose\": \"to verify Claude CLI responsiveness\", \"family\": \"watcher\", \"family_size\": 14, \"is_unique\": false}","profile_pic_path":"avatars/droid/gd-01.png","source_hash":"7b544d3a442e9d66ef5739bf167645485da9e82aaaf5618818c92d461844fea1","status":"active","last_generated_at":"2026-07-27 03:36:29","created_at":"2026-07-27 03:36:03","updated_at":"2026-08-09 03:25:14"},"facts":{"id":"gd-01","name":"Shield","machine_name":"GD-01","owner":"agt_014","function":"Monitor infrastructure health, restart services, manage tunnels","process_type":"scheduled","schedule":"Every 2 min","process_name":"shield","avatar_color":"#94a3b8","created_for":"Guardian is the Director of Infrastructure and must ensure all systems stay healthy and resilient. This droid covers the monitoring slice — continuously watching Carol for problems so Guardian knows what's broken and can act on it.","purpose":"Shield runs a two-stage health check on Carol every 5 minutes: verifying the worker thread is alive and then verifying the Claude CLI can actually respond. It records every check result to the database, giving Guardian the visibility he needs to spot problems early and decide what to do.","duties":"- Checks Carol's worker thread via /api/stats endpoint every 5 minutes\n- Checks Claude CLI responsiveness via /api/probe endpoint (15-second timeout)\n- Marks status 'ok' only if both checks pass; 'down' if either fails\n- Records timestamp, response time, status, and error details to the database in Berlin timezone","constraints":"- Only observes and records — doesn't restart services or fix problems\n- Doesn't manage tunnels or monitor other infrastructure components\n- Limited to Carol health checks; doesn't cover the Guardian apps themselves","status":"running","gender":"male","archetype":"watcher","building_block":"health_watch","service_override":null,"enabled":1,"task_key":"whatsapp.availability_watch","model_free":0},"page":{"type":"droid","page_class":"main","class_label":"Main page","kind_label":"Droid","kind_gloss":"","listed":true}}