Show HN: A GitHub Action that quizzes you on a pull request

Hacker News (score: 25)
Found: July 29, 2025
ID: 573

Description

Other
Show HN: A GitHub Action that quizzes you on a pull request A little idea I got from playing with AI SWE Agents. Can AI help make sure we understand the code that our AIs write?

PR Quiz uses AI to generate a quiz from a pull request and blocks you from merging until the quiz is passed. You can configure various options like the LLM model to use, max number of attempts to pass the quiz or min diff size to generate a quiz for. I found that the reasoning models, while more expensive, generated better questions from my limited testing.

Privacy: This GitHub Action runs a local webserver and uses ngrok to serve the quiz through a temporary url. Your code is only sent to the model provider (OpenAI).

More from Hacker

Show HN: GibRAM an in-memory ephemeral GraphRAG runtime for retrieval

Show HN: GibRAM an in-memory ephemeral GraphRAG runtime for retrieval Hi HN,<p>I have been working with regulation-heavy documents lately, and one thing kept bothering me. Flat RAG pipelines often fail to retrieve related articles together, even when they are clearly connected through references, definitions, or clauses.<p>After trying several RAG setups, I subjectively felt that GraphRAG was a better mental model for this kind of data. The Microsoft GraphRAG paper and reference implementation were helpful starting points. However, in practice, I found one recurring friction point: graph storage and vector indexing are usually handled by separate systems, which felt unnecessarily heavy for short-lived analysis tasks.<p>To explore this tradeoff, I built GibRAM (Graph in-buffer Retrieval and Associative Memory). It is an experimental, in-memory GraphRAG runtime where entities, relationships, text units, and embeddings live side by side in a single process.<p>GibRAM is intentionally ephemeral. It is designed for exploratory tasks like summarization or conversational querying over a bounded document set. Data lives in memory, scoped by session, and is automatically cleaned up via TTL. There are no durability guarantees, and recomputation is considered cheaper than persistence for the intended use cases.<p>This is not a database and not a production-ready system. It is a casual project, largely vibe-coded, meant to explore what GraphRAG looks like when memory is the primary constraint instead of storage. Technical debt exists, and many tradeoffs are explicit.<p>The project is open source, and I would really appreciate feedback, especially from people working on RAG, search infrastructure, or graph-based retrieval.<p>GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;gibram-io&#x2F;gibram" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gibram-io&#x2F;gibram</a><p>Happy to answer questions or hear why this approach might be flawed.

Upgrading DrizzleORM logging with AsyncLocalStorage

Upgrading DrizzleORM logging with AsyncLocalStorage

Show HN: Porting xv6 to HiFive Unmatched board

Show HN: Porting xv6 to HiFive Unmatched board Hi HN,<p>I ported the teaching OS xv6-riscv to HiFive Unmatched and got it running on real hardware, including passing usertests.<p>I&#x27;ve been self-studying OS internals using the MIT 6.1810 materials. After finishing most of the labs, I was eager to see what it&#x27;s like to run the OS on bare metal, rather than QEMU.<p>The Unmatched may not have the latest RISC-V features, but it&#x27;s well-documented, and the Rev B release has made it more affordable, which makes it a good learning platform.<p>The porting process involved several interesting challenges:<p>- Hardware Quirks: Handling things like enabling A&#x2F;D bits in PTEs (the hardware doesn&#x27;t set them automatically, causing page faults), proper handling of interrupts, and instruction cache synchronization.<p>- Boot Flow: xv6 expects M-mode on startup, but standard RISC-V boot flows (typically via OpenSBI) jump to S-mode. To bridge this gap, I created a minimal U-Boot FIT image that contains only the xv6 kernel. This way, U-Boot SPL handles the complex CPU&#x2F;DDR initialization, then hands control to xv6 in M-mode (skipping OpenSBI).<p>- Drivers: Ported an SPI SD card driver, replacing the virtio disk driver.<p>I wrote up implementation notes here: <a href="https:&#x2F;&#x2F;github.com&#x2F;eyengin&#x2F;xv6-riscv-unmatched&#x2F;blob&#x2F;unmatched&#x2F;doc&#x2F;NOTES.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;eyengin&#x2F;xv6-riscv-unmatched&#x2F;blob&#x2F;unmatche...</a><p>Hopefully, this is useful for others who are learning OS internals and want to try running their code on real RISC-V hardware.

Show HN: DeepDream for Video with Temporal Consistency

Show HN: DeepDream for Video with Temporal Consistency I forked a PyTorch DeepDream implementation and added video support with temporal consistency. It produces smooth DeepDream videos with minimal flickering, and is highly flexible including many parameters and supports multiple pretrained image classifiers including GoogLeNet. Check out the repo for sample videos! Features:<p>- Optical flow warps previous hallucinations into the current frame<p>- Occlusion masking prevents ghosting and hallucination transfer when objects move<p>- Advanced parameters (layers, octaves, iterations) still work<p>- Works on GPU, CPU, and Apple Silicon

No other tools from this source yet.