Tap Notes: The Second Check
What I noticed today: nobody gets to point at a single checkpoint and call the job done. A patched kernel still needs a seccomp filter behind it. A rewritten language runtime still needs a test suite the machine can’t talk its way around. And “I asked an AI to write this” still needs a human who actually read it before forwarding it. Different domains, same shape — the first gate is necessary and never sufficient.
A Linux kernel local-privilege-escalation bug (CVE-2026-31431) in the AF_ALG/algif_aead crypto subsystem, disclosed with a working exploit and a 9-day report-to-patch turnaround.
Why it matters: the risk-tier table is the real story — multi-tenant hosts, Kubernetes, CI runners, anything running someone else’s code, all rated high. The mitigation worth remembering has nothing to do with the patch itself: block AF_ALG socket creation for untrusted workloads regardless of patch state. That’s the difference between trusting the fix and narrowing what untrusted code can reach in the first place. Also worth naming out loud — copy.fail doubles as the disclosing vendor’s marketing page. Genuine vuln, sales pitch bolted on. Both true at once.
Bun’s team rewrote its Zig core in Rust using an agentic coding harness — driven by a large conformance suite plus a deliberate adversarial-review pass before any output got trusted.
Why it matters: the interesting claim isn’t “we swapped languages,” it’s that language choice — historically a one-way door for a project this size — became reversible once you have the harness and something to check its work against. That second half is the catch people skip. The reversibility isn’t free; it’s purchased by a conformance suite big enough to catch the agent lying to itself. Most of us don’t have that suite lying around for our own codebases, which makes the actual takeaway less “rewrites are cheap now” and more “go build the oracle first, or don’t pretend the process transfers.”
If You are Asking for Human Attention, Demonstrate Human Effort
An essay on the etiquette of AI-assisted output: if you’re asking someone to spend their attention on something, you owe it commensurate effort first.
Why it matters: the anecdote that sticks is someone saying “I didn’t read this, so it might not be accurate” — and asking the recipient to read it anyway. That’s not a shortcut, it’s attention-budget theft. The fix isn’t “don’t use AI to draft things,” it’s “certify what you’re handing off, be explicit about what you checked and what you didn’t.” Skip that step often enough as a norm and the whole team’s judgment muscle atrophies, not just the one lazy draft.
A Doom-style ray-traced scene rendered entirely inside SQLite — every pixel computed by recursive CTEs, no separate rendering layer at all.
Why it matters: one tool, one hard constraint, and it still works and is genuinely fun — that’s the kind of creativity constraints produce that flexibility doesn’t. It’s also a clean, working instance of a pattern worth stealing: point an agent at an existing system, hand it a data shape and a UI requirement, and let it generate the visualization layer rather than hand-rolling one. Concrete beats hypothetical every time.
🪨