Attention Firewall

A rule pipeline for your notifications

bkrabach/amplifier-bundle-attention-firewall ยท v0.1.0

It intercepts your Windows toasts so only what matters interrupts

Attention 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.

Filter
Surface what matters
Batch
Digest the rest
The Problem

Your OS treats every notification exactly the same

๐Ÿ‘ "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.

A real, working v0.1.0 bundle โ€” not a sketch

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?

4,836
Lines of Python
19
Source files in src/
0.1.0
Bundle version
1
Author โ€” Brian Krabach

It reads notifications at the source, right off Windows

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.

613
Lines in listener.py
winrt
UserNotificationListener API
mock
Mode off-Windows

"Noise" isn't a guess โ€” it's seven explicit suppress patterns

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.

"liked your message"
"reacted with"
"is typing"
"has joined the meeting"
"has left the meeting"
"weekly digest" ยท "daily summary"

Every toast falls through one fixed five-rung ladder

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.

1Muted app? โ†’ suppressSUPPRESSED
2Suppress pattern? โ†’ suppressSUPPRESSED
3VIP sender? โ†’ surfaceSURFACED
4Priority keyword? โ†’ surfaceSURFACED
5Else โ†’ digest queueDIGEST

The rules are yours โ€” edit them by CLI or by conversation

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.

# edit rules from the CLI attention-firewall add-vip attention-firewall policies attention-firewall summary # or by conversation via triage-manager # digest_schedule: morning: 09:00 eod: 17:00
The Takeaway

Attention is a resource โ€” a firewall protects it

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.

Sources

Research Methodology

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):

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).

More Amplifier Stories