{ "$schema": "../../../schemas/reporting-governance/capability-descriptor.schema.json", "apiVersion": "reporting-governance/v1alpha1", "kind": "AdapterCapabilities", "metadata": { "id": "openclaw-watchdog-reference", "title": "OpenClaw Watchdog Reference Runtime Composition", "version": "1.0.0", "owner": "openclaw", "summary": "Reference capability descriptor for the OpenClaw watchdog -> queue -> dispatcher -> bridge -> sender-binding composition.", "tags": [ "openclaw", "watchdog", "reference-runtime", "queue-bridge-sender" ] }, "runtime": { "name": "openclaw", "mode": "hybrid", "surfaces": [ "watchdog", "queue", "dispatcher", "bridge", "sender_binding", "orchestrator", "scheduler", "storage" ], "entrypoint": "scripts/watchdog_auto_notify_orchestrator.mjs" }, "compatibility": { "plugin_spec_versions": [ "0.1.0-mainline" ], "event_schema": "schemas/reporting-governance/event-envelope.schema.json", "evidence_schema": "schemas/reporting-governance/evidence.schema.json", "decision_schema": "schemas/reporting-governance/decision.schema.json", "capabilities_schema": "schemas/reporting-governance/capability-descriptor.schema.json" }, "capabilities": { "observation": { "task_lifecycle": { "supported": true, "level": "partial", "notes": [ "Current reference path is strongest for overdue/watchdog-related task state rather than all inline lifecycle hooks." ] }, "subagent_lifecycle": { "supported": true, "level": "partial", "notes": [ "Indirectly supported through watchdog/governor state and runtime artifacts, not yet a full dedicated package module." ] }, "checkpoint_obligations": { "supported": true, "level": "partial", "notes": [ "Current reference composition enforces overdue visibility but not yet all checkpoint-shape checks inline." ] }, "outgoing_report_attempts": { "supported": true, "level": "partial", "notes": [ "Visible in notification path artifacts, but not yet generalized as a full package-wide hook surface." ] }, "watchdog_state": { "supported": true, "level": "full" }, "queue_spool_receipts": { "supported": true, "level": "full" } }, "normalization": { "canonical_events": { "supported": true, "level": "full" }, "canonical_evidence": { "supported": true, "level": "partial", "notes": [ "Watchdog evidence and delivery receipts are strong; broader non-watchdog evidence shaping is still package-next work." ] }, "decision_inputs": { "supported": true, "level": "partial", "notes": [ "Enough for watchdog-driven enforcement; not yet a generalized evaluator package input pipeline." ] }, "correlation_propagation": { "supported": true, "level": "partial", "notes": [ "Correlation is preserved across the watchdog queue/bridge chain where available." ] } }, "enforcement": { "block_transition": { "supported": true, "level": "partial", "notes": [ "Blocking exists in queue/dispatch/send paths, but not yet as a universal inline transition gate." ] }, "rewrite_message": { "supported": false, "level": "none", "notes": [ "Not part of the reference watchdog composition yet." ] }, "annotate_placeholder": { "supported": false, "level": "none" }, "force_checkpoint": { "supported": true, "level": "partial", "notes": [ "The composition can force operator-visible recovery/notice, but not yet a generalized checkpoint runner." ] }, "request_review": { "supported": false, "level": "none" }, "downgrade_status": { "supported": false, "level": "none" }, "escalate": { "supported": true, "level": "full" } }, "notification_path": { "queue_items": { "supported": true, "level": "full" }, "spool_handoff": { "supported": true, "level": "full" }, "sender_binding": { "supported": true, "level": "full" }, "direct_send": { "supported": true, "level": "partial", "notes": [ "Supported only when the deployment provides a working sender runtime such as openclaw-cli." ] }, "receipts": { "supported": true, "level": "full" }, "final_delivery_proof": { "supported": true, "level": "partial", "notes": [ "Ack proof exists only when sender runtime returns proven sent state." ] }, "truth_model": { "delivery_states": [ "prepared", "queued", "dispatched", "pending_external_send", "acked", "blocked" ], "ack_requires_proven_send": true, "pending_external_send_supported": true } }, "watchdog": { "scheduler_installation": { "supported": true, "level": "partial", "notes": [ "Cron wrapper exists, but installation remains environment-bound rather than package-core." ] }, "watchdog_evaluation": { "supported": true, "level": "full" }, "watchdog_event_emission": { "supported": true, "level": "full" }, "operator_recovery_path": { "supported": true, "level": "full" }, "watchdog_closure": { "supported": true, "level": "full" } }, "storage": { "persist_events": { "supported": true, "level": "full" }, "persist_evidence": { "supported": true, "level": "full" }, "persist_decisions": { "supported": false, "level": "none", "notes": [ "Decision-store extraction is still the next stage." ] }, "persist_receipts": { "supported": true, "level": "full" }, "preserve_original_attempted_message": { "supported": true, "level": "partial", "notes": [ "Notification payloads and sender-attempt artifacts are retained for the reference path." ] } } }, "defaults": { "reporting_mode": "watchdog-auto-notify", "channel": "telegram", "policy_ids": [ "no-silence", "mandatory-checkpoint-structure" ], "watchdog_policy_id": "no-silence" }, "notes": [ "This descriptor intentionally describes the current OpenClaw watchdog reference composition, not the full future plugin capability surface.", "Evaluator and decision-runner extraction should consume this descriptor as the runtime truth contract." ] }