Agentic engineering optimizes for rejecting output, not generating it

dparkmit1 pts0 comments

How I Used Agentic Engineering to Become a Top 5% Contributor to a Major Open-Source Project in Less Than a Month

Building in the Loop

SubscribeSign in

How I Used Agentic Engineering to Become a Top 5% Contributor to a Major Open-Source Project in Less Than a Month<br>19 merged PRs across three repos and three languages, in 25 days — and the machinery that made it possible.

David Park<br>Aug 14, 2026

Share

In early July I opened my first pull request against LiteLLM. I kept opening them for about a week. Nothing merged. Nothing was reviewed. Nobody commented.<br>That’s not a complaint — maintainers owe strangers nothing, and a quiet queue is usually a bandwidth problem rather than a judgment. But it is information, and after a week I decided to treat it as information rather than as something to push harder against.<br>Thanks for reading Building in the Loop! Subscribe for free to receive new posts and support my work.

Subscribe

So I asked Claude to survey eighteen major open-source projects and answer a narrower question than “which project is best”: as an unknown outside contributor, where would my work most likely get recognized and merged? The results are in the article Your First Pull Request Used to Be a Coin Flip. Based on these results I moved on to Dify — an open-source platform for building LLM applications, where you assemble apps in a visual workflow editor rather than writing code.

A Dify app assembled in the visual workflow editor, no code written.<br>Twenty-five days later I have 19 merged pull requests across three Dify repositories and three languages. A complete sweep of the organization’s 32 repositories and 18,661 merged pull requests puts me at #101 of 2,001 all-time external contributors , the top 5.05%, or #92 and top 4.62% once you exclude the nine accounts whose profiles openly declare they work there. The full ranking, and the script that produced it, are in a public gist — bring your own GitHub token and you’ll get today’s numbers, which will differ from these, because the queue keeps moving.<br>I want to be precise about what that measures, because rank statistics are easy to inflate. It counts merged pull requests, nothing else. It says nothing about the size or difficulty of what merged. And it’s contaminated in one direction only, and not in my favor: GitHub doesn’t expose private organization membership, so several people who plainly work as engineers on Dify’s team are classified as “external” and sit above me in that list. Contamination in the other direction — an actual Dify engineer buried below me on nineteen merges — is implausible enough that I didn’t chase it.<br>And it is a rank by merge count, not by status. I have not been granted write access anywhere, which is the rung that actually marks a trusted collaborator — as my own coin-flip piece argued, a merged pull request makes you a contributor, not an insider. This is nineteen merges, not a seat at the table.<br>This piece is about how I did it. Not the merge count — the machinery. Below are the four principles I used to get there.

Vibe coding and agentic engineering are not the same activity

The phrase “vibe coding” describes something real: you describe what you want in natural language, the model produces code, you look at the result, and you judge it by whether it seems to work. If it seems to work, you keep it. If it doesn’t, you describe the problem and try again. The loop is fast and the feedback signal is your own impression of the output.<br>That’s how I started coding with Claude Code back in 2025, when I asked it to build a chess game app for my iPhone with pieces shaped like the ones on chess.com. After Ckaude finished, I installed the app on my iPhone and tested it. When I noticed bugs such as the pieces being the wrong shape, I gave Claude another prompt to fix the bugs and then retested the app. After a couple rounds of this, Claude had finally delivered a competent game that satisfied me.<br>This works surprisingly well for things where you are the only person who bears the cost of being wrong. A script for yourself. A prototype. A weekend project.<br>It stops working the moment someone else bears that cost.<br>When I open a pull request on Dify, a maintainer spends their attention on it. If my fix is plausible but wrong, I’ve wasted the maintainer’s time and left a worse repository behind. “It seemed to work” is not a standard that survives contact with that. And the failure mode of a capable model is not gibberish — it’s something coherent, well-structured, and confidently incorrect. Vibe coding has no defense against exactly that, because its only test is whether the output looks right, and looking right is the failure’s whole nature.<br>Agentic engineering, as I mean it, is the practice of building the apparatus that delivers reliable output and catches the confident-but-wrong case before anyone else sees it.<br>Concretely, in my setup: one Claude.ai instance, which lives in Anthropic’s Claude app, plans any changes as the...

merged pull work claude dify agentic

Related Articles