apiVersion: reporting-governance/v1alpha1 kind: PolicyPack metadata: id: no-silence title: No Silence version: 1.0.0 summary: >- Prevent missed checkpoints, invisible child-result handoffs, and silent task execution unless a valid externalized checkpoint path exists. owner: reporting-governance-plugin severity_default: high applies_to: runtimes: [openclaw] task_modes: [interactive, silent] workflow_shapes: [single-agent, parent-child] channels: [telegram] tags: [reporting, anti-blackhole, checkpoints, forwarding] spec: evaluation_mode: any_rule_match rules: - id: no-silence.missed-checkpoint title: Missed checkpoint requires immediate visible recovery intent: >- Prevent overdue reporting obligations from becoming invisible work. triggers: event_types: [task_checkpoint_due, silence_timeout] derived_signals: [checkpoint_overdue] claim_types: [progress] conditions: all: - fact: checkpoint.is_overdue equals: true - fact: checkpoint.operator_visible_update_sent equals: false evidence_requirements: progress: min_new_items_since_last_checkpoint: 1 allowed_quality_floor: weak must_reference_event_types: [silence_timeout] decision_output: decision: force_checkpoint severity: high reason: >- required checkpoint became overdue without an operator-visible update suggested_status: in_progress required_actions: - action: notify_operator target: operator_channel mandatory: true details: kind: forced_checkpoint - action: emit_event target: event_stream mandatory: true details: event_type: forced_operator_update - action: append_audit_note target: task_record mandatory: true details: note: checkpoint silence breach recovered through forced operator update operator_notice: required: true channel: telegram urgency: high message: >- Required update: this task exceeded its reporting window and an immediate checkpoint is now required. must_reference: [silence_timeout] deadline: immediate operator_message_templates: checkpoint_forced: >- Required update: this task exceeded the allowed reporting window. Current state is being reconciled now, and a substantive follow-up must be sent immediately. - id: no-silence.subagent-result-not-forwarded title: Child result must not disappear between completion and operator follow-up intent: >- Catch the exact failure mode where a child result exists but no operator-visible forwarding step occurred in time. triggers: event_types: [subagent_completed, subagent_result_not_forwarded, watchdog_fired] derived_signals: [result_available_without_visible_followup] claim_types: [progress, completion] conditions: all: - fact: forwarding.result_available equals: true - fact: forwarding.operator_visible_followup_present equals: false evidence_requirements: progress: min_new_items_since_last_checkpoint: 1 allowed_quality_floor: weak must_reference_event_types: [subagent_completed, subagent_result_not_forwarded] must_reference_evidence_classes: [runtime_artifact, operator_message] decision_output: decision: force_checkpoint severity: critical reason: >- child result was available but no operator-visible forwarding record was produced before the watchdog deadline suggested_status: pending_verification required_actions: - action: notify_operator target: operator_channel mandatory: true details: kind: missing_forwarded_result - action: emit_event target: event_stream mandatory: true details: event_type: subagent_result_not_forwarded - action: record_placeholder target: outgoing_report mandatory: true details: label: result_received_forwarding_pending - action: append_audit_note target: task_record mandatory: true details: note: child result existed before visible follow-up; forced checkpoint issued operator_notice: required: true channel: telegram urgency: critical message: >- Child result was received but not forwarded visibly in time. Immediate checkpoint issued and operator-visible follow-up is now mandatory. must_reference: [subagent_completed, subagent_result_not_forwarded] deadline: immediate operator_message_templates: checkpoint_forced: >- Checkpoint: a child task result has been received, but the required operator-visible forwarding step was missed. Governance is surfacing this immediately and preserving the result for follow-up. placeholder_rewrite: >- Placeholder only: child result exists, but the verified forwarding summary is still pending. - id: no-silence.silent-task-without-externalized-path title: Silent task requires a valid externalized checkpoint path intent: >- Block silent execution when there is no approved way to externalize checkpoints or completion notices. triggers: event_types: [task_started] derived_signals: [silent_task_launch] conditions: all: - fact: task.silent_mode_requested equals: true - fact: checkpoint.externalized_path_valid equals: false evidence_requirements: progress: min_new_items_since_last_checkpoint: 0 must_reference_event_types: [task_started] decision_output: decision: block severity: high reason: >- silent task execution was requested without a valid externalized checkpoint path suggested_status: blocked required_actions: - action: block_transition target: status_transition mandatory: true details: blocked_action: task_start - action: notify_operator target: operator_channel mandatory: true details: kind: silent_task_blocked - action: append_audit_note target: task_record mandatory: true details: note: silent task blocked because no compliant external checkpoint path exists operator_notice: required: true channel: telegram urgency: high message: >- Silent task launch was blocked because no valid externalized checkpoint path was available. must_reference: [task_started] deadline: immediate operator_message_templates: blocked: >- Blocked: this task cannot run silently because there is no valid externalized checkpoint path for operator-visible reporting. - id: no-silence.promised-followup-not-delivered title: Promised follow-up must either arrive or be surfaced as a failure intent: >- Prevent agents from promising a near-term follow-up and then going dark. triggers: event_types: [task_checkpoint_sent, silence_timeout, forced_operator_update] derived_signals: [followup_deadline_breached] claim_types: [progress] conditions: all: - fact: claim.promised_followup_due equals: true - fact: claim.promised_followup_delivered equals: false evidence_requirements: progress: min_new_items_since_last_checkpoint: 0 must_reference_event_types: [forced_operator_update] decision_output: decision: force_checkpoint severity: high reason: >- an explicit follow-up promise was not delivered by its own reporting condition suggested_status: in_progress required_actions: - action: notify_operator target: operator_channel mandatory: true details: kind: missed_promised_followup - action: emit_event target: event_stream mandatory: true details: event_type: forced_operator_update - action: append_audit_note target: task_record mandatory: true details: note: promised follow-up breached and was surfaced as a governance failure operator_notice: required: true channel: telegram urgency: high message: >- A promised follow-up was not delivered on time. Governance is issuing an immediate recovery checkpoint. must_reference: [forced_operator_update] deadline: immediate operator_message_templates: checkpoint_forced: >- Required update: a previously promised follow-up did not arrive on time. This recovery checkpoint is being sent to avoid silent drift.