docs: rebuild README - #5
Merged
Merged
Conversation
Corrects the keybinding table, which documented a scroll-only feed while the code has a cursor model, an errors-only toggle, and a detail overlay on Enter. Adds the questions, agent-setup and without-a-TTY sections, a Contents block, and three previously undocumented limits (blobs, database-file attribution, the 512-byte text cap).
Recaptured against the current UI: the footer now shows the errors, details and pause bindings the previous capture predated. Alt text updated to match.
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.
sqlitefeed README rebuild — reviewer notes
Rendered README: the Files changed tab (363 lines).
✅ Reviewer action items
«real»/«unknown»sample-output values in the hand-written block (grounding 2)char LICENSE[] SEC("license") = "Dual BSD/GPL"insrc/bpf/sqlite.bpf.c, which coversthe BPF program rather than the repo.
gh repo viewreportslicenseInfo: null. Per therules skill this is not written into the README.
which is an inference, not a stated one.
About description
Setting this needs repo admin.
gh repo view yeet-src/sqlitefeed --json viewerPermissionreturns WRITE, so
gh repo editwill 404. Not applied by the PR run — paste-ready:(96 chars, under the ≤108 house target. Replaces the current live 297-char description.)
Topic tags
Current live tags:
ebpf,showcase,sqlite,sqlite3,uprobe. Proposed (one per line, donot paste space-separated — logedex shipped four mangled tags that way):
Substantive findings
1. The previous README's keybinding table was wrong (highest-value fix)
This is the main reason the rebuild was worth doing. The shipped README documented a scroll-only
feed. The code in
src/main.jsxhas had, undocumented:↑/↓move a highlighted row, not the viewport.Enter(src/components/detail.jsx, ~130 lines). It shows fullunclipped SQL and parameters, this execution's selectivity / avg / total, and then
p50/p95/p99/max step latency plus a 48-run sparkline aggregated across every logged run of
that exact SQL. This is the single strongest feature in the repo and the old README did not
mention the file existed.
e, with its own footer marker and empty-state message.fuzzyPositions).HOLDvsPAUSEDdistinction. Scrolling away auto-freezes (HOLD);ppins(
PAUSED) and survives jumping back to the top. The old table described only one state.The rebuild adds a full
## Navigationsection with a corrected table and a### The detail overlaysubsection, and the percentile data is what makes the twoperformance-persona questions answerable.
Check the hero GIF. If
assets/sqlitefeed.gifwas recorded before the overlay landed, it nowundersells the tool relative to what the README describes.
2. Blobs are not captured (newly discovered limit)
grep -ri blob src/returns nothing.sqlite3_bind_blobis not in theATTACHlist and there isno
BT_BLOBin thebind_typeenum, so a blob parameter silently does not appear on the↳line. Undocumented in the old README, and it's a plausible "why is my parameter missing" report.
I wrote it as a deliberate omission ("blob payloads are arbitrary binary of arbitrary size and
don't belong in a scrolling terminal feed"), which is my reasoning, not the code's. Nothing in
the source says why it's absent. Flagged for your confirmation — if it's simply not done yet,
the sentence should say that instead.
3. Statically linked SQLite is the likeliest "it doesn't work" report
The old README mentioned this only in passing inside an FAQ answer. It's the single most likely
reason someone's app is missing from the feed, so the rebuild promotes it to the first bullet
in
What it can't see, withlddas the diagnostic. This is the sqlitefeed equivalent ofhttpwatch's HTTP/2 finding.
4. Two limits added that the old README didn't state
sqlite3_stmt*, not thesqlite3*connection, and the filename lives on the connection. A process with several open databases
produces one undifferentiated stream. Now an FAQ entry.
MAX_TEXT), truncated at the kernel boundary. The oldREADME mentioned the 512-byte bound only as a throughput argument, never as truncation the
reader would see.
5. Retired headings fixed
## Community questions→## FAQ, per the rules skill. The old README also had no## Questions this tool answers, no## Reading it without a TTY, no## Have an agent set it up, and no Contents block. All four added; the Contents block is justified by the four-reference-table trigger (columns, keybindings, BPF programs, plus the file tree) and by 363 lines.
## Honest caveats→## What it can't see.6. Tagline re-cut to avoid corpus collision
The old tagline was "
tail -ffor SQLite."yeet-src/sigwireships "tail -fforsignals" and its live GitHub description uses the identical construction. Two repos with the
same tagline pattern split the retrieval signal, so sqlitefeed's is re-cut onto the axis only it
owns: the bound values. The new tagline leads with "including the values it bound to the
?s", which is also the> [!TIP]callout's subject.The category noun is "live terminal SQLite statement monitor", which collides with nothing in
the corpus (
redissnoopis a "live terminal Redis traffic profiler";httpinspectis a "liveterminal HTTP endpoint monitor", so "monitor" is shared but the domain is not).
7. Cross-links added
New pairs for the rules skill's table:
redissnooppktscopeBoth sibling repos verified public via
gh repo list yeet-src.Flagged claims (grounding ≥ 2)
Tags were not left inline in the draft; the three below are the complete list, so they can be
resolved from here.
BPF_MAP_TYPE_RINGBUFlanded in 5.8, which is solid. The repo's CI comment says BTF-capable is "~5.4+" and the matrix tests 6.6 and bpf-next, so 5.8 is inferred from the map type rather than tested. The old README stated no floor at all.mattn/go-sqlite3andrusqliteboth bundle by default), but it's a claim about the ecosystem, not about this repo. Safe to soften to "many" if you'd rather not assert it.CONSTRAINTrow and anexecrow so the column table has something to point at. The shapes are all real («real»,exec,↳,✗, the 9/9/10-width columns) and verified againststatements.jsx; the specific numbers are plausible, not measured.Nothing rated 3 or higher was written.
Not changed
<!-- yeet:user-friendly-title: Monitor database actions -->comment is preserved verbatimat the top (it's consumed by tooling, and it was the subject of the most recent commit).
## Licensesection stays two words, per the rules skill..github/workflows/kernel-matrix.ymlexists, so no CI finding.Machine-readable handoff