A rule pipeline for your notifications
bkrabach/amplifier-bundle-attention-firewall ยท v0.1.0Attention Firewall is an AI-powered Windows notification controller: it filters notifications, surfaces what matters, and batches the rest into digests.
The reason it needs to exist is the problem underneath every one of those toasts.
๐ "liked your message"
interrupts you as hard as
a note from someone who matters
A working fix for that flat priority already exists โ and it's substantial.
The primary repo ships substantial working Python and a single, focused author behind it.
So how does it get its hands on a notification in the first place?
A 613-line listener captures toasts via the Windows UserNotificationListener API. Off Windows, the listener runs in mock mode.
With a stream of real notifications in hand, the filtering can begin.
Seven default suppress patterns filter the reaction / status class of toast before it ever interrupts you.
Suppression is just one rung of a fixed ladder every toast must fall through.
The decision pipeline in daemon.py evaluates each notification in a fixed order, defaulting to digest. VIPs surface with a rationale; everything else waits.
And that ladder isn't fixed for you โ it's yours to shape.
VIPs, keywords, suppress patterns and per-app actions live in a YAML policy and a SQLite store, editable via CLI or the triage-manager agent. Non-surfaced items land as scheduled morning / eod digests.
Which points at the durable idea worth keeping.
Filter at the source with rules you control, instead of triaging every buzz by hand. Muted app, suppress pattern, VIP, keyword โ else digest.
Only what matters interrupts. The rest waits for the digest.
Primary source: bkrabach/amplifier-bundle-attention-firewall (git@github.com:bkrabach/amplifier-bundle-attention-firewall.git)
Feature status: Built & functional, v0.1.0 โ deep AI-scored filtering labeled "Future" in the README.
Research performed (re-derived in a fresh session):
git remote -v; git shortlog -sne --all (1 contributor: Brian Krabach)find src -name '*.py' -not -path '*__pycache__*' | xargs wc -l (4,836 lines, 19 files; listener.py 613)sed -n '193,236p' src/attention_firewall/daemon.py (muted โ suppress โ VIP โ keyword โ else digest)grep -A8 'suppress_patterns:' config/default-policy.yaml (7 defaults)grep -nE 'CREATE TABLE' src/attention_firewall/state.py (SQLite: vips, keywords, suppress_patterns, muted_apps; 429 lines)grep -n 'winrt' pyproject.toml; README line 185 (UserNotificationListener), line 381 (mock mode)Gaps: No usage database was present on this machine (find -iname notifications.db returned nothing), so run-time statistics (daily counts, surfaced totals, live-usage duration) could NOT be verified and are excluded.
Primary contributor: Brian Krabach <brkrabac@microsoft.com> โ sole author of the primary repo (100% of commits).