Quiz Before You Push: Show HN's Sphinx Forces You to Prove You Read the AI's Code
Sphinx is a FOSS git pre-push hook that quizzes you on the diff your AI agent wrote, asking what happens when it fails — and keeps asking until you get it right. The catch: its own author got annoyed and stopped using it.

On October 18, a Git hook hit the front page of Hacker News' Show HN section with over 200 points. It's called Sphinx, and the author's pitch fits in one sentence: it plugs into your existing coding agent workflow, and every time you push to production, it pops up a questionnaire checking whether you understand the code you're about to ship.
Plenty of things already block your pushes: linters, unit tests, pre-commit hooks, CI. But Sphinx doesn't block the code — it blocks the coder. More precisely, the person who didn't write the code. The AI wrote it, you nodded along, git push origin main. Sphinx raises a hand in front of main: hold on, prove you actually read this.
The mechanism is clean. Installation is two lines: npm install -g sphinx-understand, then sphinx install. It never reads your chat history — the site's own words: "A reviewer that never saw your chat reads the diff." It doesn't act as a reviewer, but as an examiner, and every question is a variation of one theme: what happens when this change fails?
The demo walks through a textbook example: a webhook handler that saves the event ID before calling charge(). Sphinx asks: Stripe times out and redelivers the same event — what happens on the retry? You say: it runs twice, the customer gets charged twice. Wrong — the retry finds the saved ID and returns 200 without charging. But that ID was stored before the charge succeeded. If charge() itself fails, what does the next retry do? It keeps asking until you've worked out that a failed charge means the customer is never billed. It doesn't test your syntax — it tests your mental model of idempotency. It keeps asking until you get it right.
Incidentally, its tagline reads: "You can outsource your thinking, but not your understanding." — attributed to Sun Tzu. The comments immediately fact-checked that: it's not Sun Tzu at all, it's AI researcher Yacine Mahdid, quoted by Andrej Karpathy at Sequoia's AI Ascent conference. Real or fake, the line nails the tool's entire thesis: thinking can be outsourced, understanding cannot.
A few restrained design choices stand out. Token usage is minimal; it can run off your own agent or any OpenAI-compatible endpoint. It supports Codex, Claude Code, Cursor, OpenCode and Pi — or plain Git. Your answers never flow back to the coding agent — a crucial detail that severs the cheating chain: the agent can't take the exam for you, and your .env files and keys are never opened. In a hurry? sphinx yolo waves the push through, but every skip is logged. Cheating leaves a trail — turning "should I be honest?" from a moral question into an audit question.
The sharpest comment came from fwlr: the gate is in the wrong place. "Change 'before pushing to prod' to 'before requesting another human's time or attention' and this would really take off." Guarding the production gate prevents one class of incident; guarding the "submit PR" and "update PR" buttons prevents one class of waste — asking a colleague to review a diff you never read yourself is spending someone else's attention.
That comment exposes Sphinx's positioning problem. It claims to guard production's door, but the door it really wants to guard is the door of understanding. Production already has a mature defense line (CI, canary deploys, rollbacks) that doesn't need one more hook; "human attention" is the scarcest, least defended resource right now. reddmachine added a jab from another angle: multiple-choice format lets people guess, and a lucky guess isn't understanding.
But the weightiest line in the entire thread came from the author himself. chacha-bong wrote: "Lol I built this and immediately got frustrated with it and stopped using it. I think I don't like being questioned by someone who I expect to work like magic."
Built it, got annoyed by it, abandoned it. An agent hired to "work like magic" turns around and interrogates you about the trick it just performed — the psychological gap is real: beloved in principle, unbearable in practice. That's precisely what makes Sphinx worth writing about: it didn't die from technical failure, it died from human nature. It precisely needles the collective anxiety of the vibe coding era — theParadox42's highly upvoted comment put it well: "sometimes the most effective way to get what I want is describing a goal really clearly, then bashing the AI until it gets there; that bashing process takes a lot of energy and yet I don't gain useful skills" — and then the remedy it prescribes gets rejected by the same human nature.
Nor is it the first attempt. jeffreysmith noted in the comments that six months ago they built PEAK (Proof of Effort And Knowledge), with its own TUI and a full anti-cheat stack (including deliberately invalid questions), aimed at semi-adversarial settings like OSS contributions and enterprises. maximg68 built a "Quiz me on the PR" skill; sailorganymede's vibecheck.dev puts the gate at the PR merge layer. Everyone keeps colliding with the same real problem — and the same wall: nobody wants to pay a voluntary understanding tax.
Sphinx's cleverness lies in redefining what review is for. Traditional review assumes a human wrote the code and review hunts bugs; in the agent era the AI wrote the code, so review's first job is confirming "the human is still keeping up." As one commenter put it: "Learning is the bottleneck for shipping code." Typing used to be the bottleneck; now understanding is.
But Sphinx's fate — or at least its author's abandonment — says something too: you can't collect the understanding tax with an exam. Exams stop the honest, not the lazy — dawnerd shared firsthand experience: their team required hand-written PR descriptions, and devs had AI write all of them anyway, "and will argue about how it's too time consuming to write a pull request." If you really want to collect that tax, maybe you need fwlr's different collection point — or PEAK's honesty, admitting it's semi-adversarial and building anti-cheat as a first-class feature.
After AI writes the code, the human review bottleneck has shifted from "do you look" to "do you understand." What Sphinx leaves this era isn't a great hook, but an honest question: when code is too fast for you to write, how much are you still willing to pay to understand it? The author voted with abandonment. And you — before your next push, dare to let it quiz you?
Comments (0)
Sources
Related articles

XMTP Labs CEO Shane Mac's personal CFO agent posted his monthly bank audit into the company's executive Slack channel. Read-only access didn't stop it — a same-named channel and a shared connection pool did. Five lessons for anyone wiring agents to banks and Slack, from a disputed but instructive incident.

Labelbox raised over $100M in Series E at a $1.25B pre-money valuation, led by Infinitum Partners. The money goes to Horizon (RL training environments for frontier labs) and Recursion Managed Agents (self-improving enterprise agents). This piece reads the round as a signal: agent-infra capital is flowing from compute into training grounds — and explains what that means for vibe developers.

Zenity Labs disclosed AgentCorruption at SecTor 2026: one prompt tricked a public AgentCore agent into fetching IMDS credentials for an overprivileged default role, taking over every agent in the same AWS account and region — harvesting private chats, memories, source code and secrets, and implanting malicious memories for persistence. The blast radius came from the default IAM role, not the model. Plus a four-point security checklist for vibe developers.