jarvis / docs /operations /proactive-preference-loop.md
Jonathan Haas
Wave 38: proactive dedupe hardening and runtime decomposition
2ba439c
|
Raw
History Blame Contribute Delete
2.05 kB

Proactive Triage And Preference Learning

Proactive nudge_decision

proactive_assistant supports action="nudge_decision" to bucket candidate nudges into:

  • interrupt
  • notify
  • defer

Routing is deterministic and depends on:

  • policy: interrupt | defer | adaptive
  • quiet_window_active (explicit arg, otherwise runtime quiet-window policy)
  • candidate urgency inputs (severity, due_at, expires_at, interrupt_allowed)
  • optional context inputs (user_busy, conversation_active, presence_confidence)
  • max_dispatch capacity limit
  • dedupe suppression window (dedupe_window_sec, default 600 seconds)

The response returns per-bucket rows plus summary counts and cumulative proactive counters. When context indicates an active/busy interaction or low presence confidence, non-critical interrupts are downgraded to notify/defer. Candidates recently dispatched within the dedupe window are downgraded to defer with reason duplicate_recent_dispatch to reduce notification spam.

Preference Learning Loop

Conversation runtime now detects explicit user style directives and updates the active voice profile for:

  • verbosity (brief | normal | detailed)
  • confirmations (minimal | standard | strict)
  • pace (slow | normal | fast)
  • tone (auto | formal | witty | empathetic | direct)

When memory is enabled, learned profile state is mirrored to memory summaries (voice_profile:<user>). Learned updates are exposed through runtime voice status (preference_learning) and observability intent metrics (preference_update_turns, preference_update_fields).

Safety Boundaries

  • Preference learning only triggers on explicit style-oriented directives (not on arbitrary requests).
  • High-risk action safeguards remain unchanged (preview/approval gates, policy checks).
  • Quiet-hour and policy controls still govern whether proactive actions interrupt or defer.
  • Multimodal grounding is advisory for operator transparency and recommendation quality; it does not bypass policy gates.