Build · sipa-signal
sipa_signal takes a wall of AI-generated text and splits it into signal (sentences that carry a real claim) and filler (throat-clearing, hedges, meta-commentary, self-reference, apologies) — against a fixed pattern table, not a model’s opinion of its own cleanliness. Deterministic: same text, same split, every time.
The bug: “Sure, I’d be happy to help you with that.” kept surviving as “content.” Why: after stripping the matched filler phrase, a lone leftover period got counted as a word — one fake word was enough to clear the “still has content” threshold. Fixed two things: a word now has to contain an actual letter or digit, and filler patterns are matched longest-phrase-first so a short match can’t eat part of a longer one and leave an orphan fragment behind.
Second thing caught re-checking the numbers for the post announcing this: noise_ratio and compression aren’t the same measurement, and it was easy to almost quote them as if they were. On one sample: 32% noise by word count, but only 2% of the text actually got deleted. Why: a sentence with a hedge word and a real claim in it gets kept, filler and all — noise_ratio counts every filler word wherever it sits, compression only counts sentences that got fully cut. Not a bug, just two different questions that look like one number.
12 tests, run_demo.py included, no API keys needed.