Flowlight 0.9.0 - #8
Merged
Merged
Conversation
Every other screen answers what happened. This one answers what you would not have been told, which decides
how much the others are worth. The app claims it sees every connection, and then honest paragraphs elsewhere
list the exceptions — traffic from before capture started, system services content filters are never shown,
certificate pinning, QUIC, an agent's MCP server on a pipe — so reading any screen correctly meant having read
the documentation first.
Three questions per app, kept separate because they fail separately. Whether it was *seen*: the filter sees
flows as they open, the sampler reads counters once a second and misses whole connections between readings,
which is a gap no percentage can express and so is said in words. Whether it was *named*: the share of that
app's bytes, not connections, whose destination had a hostname — one unnamed connection carrying a gigabyte is
a bigger hole than a hundred carrying a kilobyte, and counting connections ranks them backwards. And whether
it was *readable*: being on the Never decrypted list is a choice, inspection being off is a setting, and only
"never reached the proxy" is a gap.
What no engine sees at all is on the screen rather than in a footnote, because a coverage figure that counted
only what it could see would be a reassurance rather than a fact.
Adding a tenth screen also found a crash that had been waiting: the sidebar derived ⌘1…⌘9 from each item's
position, so the tenth produced `Character("10")` and trapped on launch. It is ⌘1…⌘9 then ⌘0 now, as browsers
number tabs, and nil past that.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Version, notes and rebuilt site, on the release branch until the tag has published. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First of the 0.9 line: turning claims the app makes into things it can show.
Coverage
Every other screen answers what happened. This one answers what you would not have been told, which is what decides how much the others are worth. Flowlight says it sees every connection, and then honest paragraphs elsewhere list the exceptions — so reading any screen correctly meant having read the docs first.
Three questions per app, kept separate because they fail separately:
What no engine sees at all is on the screen, not in a footnote: traffic from before capture started, system services content filters are never shown, certificate pinning, QUIC, an agent's MCP server on a pipe.
A crash that was waiting for a tenth screen
The sidebar derived ⌘1…⌘9 from each item's position, so the tenth produced
Character("10")— which traps in Swift. The app would have crashed on launch, not in some edge case. ⌘1–⌘9 then ⌘0 now.Two findings from the translation pass, fixed here
Sampling with nettop once a secondduplicated an existing key with the same meaning; two keys with near-identical translations in nine languages would have drifted on the next edit. Collapsed to one.Checks
482 tests including seven for the coverage model, ten catalogs at 1200/1200 with zero specifier mismatches, docs section written and its help anchor verified by test.
🤖 Generated with Claude Code