Files
reporting-governance-plugin/plugins/reporting-governance/capabilities/openclaw-watchdog-reference.json

259 lines
7.1 KiB
JSON

{
"$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."
]
}