// Generated from the feature catalog
Calm Notification Attunement
Knows What’s Wrong Before You Do · Backend-only · workstation, home
Push (voice, auto-open panels), Ambient (badges, tray indicator), Pull (findings page, timeline) — three attention tiers.
A surface taxonomy that classifies every way Halbert can reach a person by its attention cost. Push surfaces (voice, satellite audio, panel auto-open) arrive unbidden and spend attention — they’re suppressed during withdrawal periods. Ambient surfaces (bell badge, presence pill, tray indicator) change without being asked but demand nothing. Pull surfaces (findings page, events API, timeline) persist for the user to navigate to and are never suppressed.
Each of Halbert’s 9 output surfaces is classified as PUSH, AMBIENT, or PULL. The attunement sensor tracks the user’s engagement state, and the shadow module manages withdrawal — silencing push surfaces while preserving ambient indicators and never hiding pull content.
Limits and invariants
Section titled “Limits and invariants”A withdrawal must silence the voice and auto-opening panels but must never hide a findings row or empty the bell — suppressing a surface the user navigates to destroys information they asked to find.
Where this lives
Section titled “Where this lives”halbert_core/halbert_core/attunement/surfaces.pyhalbert_core/halbert_core/attunement/sensor.pyhalbert_core/halbert_core/attunement/shadow.py