semantic-pubsub
Pub/sub that routes messages by what they mean. Subscribers describe their interests in plain language, and each message is judged once against all of them. Built as an experiment, with the results published.

What it does
Subscribers say what they care about in plain language, like "database and storage problems" or "network latency". Every published message is judged once against all of a topic's interests in a single request, and delivered only to the ones that match. The decision is made at publish time and travels with the message.
It runs on my go-ws-server broker through its extension points, with TypeSafe's Jev as the judge. Jev returns calibrated probabilities instead of text and evaluates every question in parallel, so going from 1 to 100 subscribers moved latency only from 193ms to 224ms. If the judge is unavailable, it falls back to ordinary topic delivery.
The question was whether semantic routing is reliable enough to depend on, and "no" was an allowed answer. Two of three measurements passed: routing was perfectly reproducible, and decisions didn't change from 6 to 200 subscribers. The third failed: 23.8% of intents routed differently depending only on how they were worded. So the routing itself is dependable, but what a subscriber receives depends heavily on how they word their interest. The console exists to show what a description actually catches before you rely on it.
- +Stability: 0.0% flip rate across 20 repeats
- +200 subscribers judged in 327ms, about $0.81 per 1,000 publishes
- +Wording sensitivity failed: 5 of 21 cases changed with phrasing alone
- +Total spend across all experiments: $0.064