BID · Console
Baseline · Intelligence · Decision
src/decision/rules/cross_domain/material_decision_maker_alert_delivery.yaml 2,564 bytes · yaml
rule_id: material_decision_maker_alert_delivery
name: Material Decision-Maker Alert Delivery
type: delivery
domain: all

applies_to:
  agent: delivery
  triggers:
    - output severity is "material" or "high_impact"
    - audience tier is "decision_maker"
    - output type is "alert" or "recommendation"

conditions:
  - audience identifier is verified and active
  - cadence policy not exceeded
  - HITL authorization recorded (per Standard 9 for decision-maker material outputs)

action:
  primary_channel: audit-log
  secondary_channel: audit-log
  fallback_channel: audit-log
  cadence_limits:
    max_per_day: 1
    max_per_week: 5
  acknowledgment_required: true
  acknowledgment_window_sec: 86400
  escalation_on_no_ack: operations-reviewer
  hitl_authorization_required_for:
    - severity == "material"
    - severity == "high_impact"

disclosure_policy:
  audience_clearance_check: required
  attachment_policy: no_raw_data_summary_only

confidence_framework:
  base_confidence: inherited from upstream visualization confidence
  adjustments:
    - if primary channel registered -> no adjustment
    - if falling back to secondary channel -> subtract 0.05
    - if falling back to fallback channel -> subtract 0.10

rationale: |
  Decision-maker audiences receive limited high-value outputs; volume must be controlled
  to preserve signal. Acknowledgment tracking ensures the framework knows whether
  material outputs were seen.

  The channel-adapter pattern keeps this rule universal across channel types: the
  framework supports any channel an organization registers (email, secure messaging,
  dashboard notification, document repository, mobile push, etc.). Specific channel
  selections live in the organization's encoded channel registry, not in the rule.

  All channel slots default to "audit-log" — the framework's built-in no-side-effect
  channel — because the open-source build ships no real channels. Deployers register
  their channels in src/decision/channel-registry.ts (via registerChannel(...)) and
  override the slots above in a domain or organization-specific rule variant.

  SMEs encode variants for other audience tiers (manager, analyst, external) with
  appropriate channel and cadence rules.

declared_by: framework_foundation
declared_date: 2026-05-26
last_reviewed: 2026-05-26
status: active

notes: |
  The acknowledgment_window_sec is 86400 (24 hours). escalation_on_no_ack names a
  ReviewerRole the framework knows about (operations-reviewer); the runtime maps the
  rule's string back to the typed ReviewerRole.