HERO names the four ways coding agents pad work, and admits the fix only helps a little
Image: GitHub
Why it mattersThe four named patterns give a team shared words for rejecting agent output that looks careful and does nothing, which is faster than arguing about each pull request from scratch.
HERO is a short set of rules you add to an agent's always-loaded configuration file. Its subject is a failure mode most teams running coding agents will recognise but have no name for: the agent produces a great deal of careful-looking work that no part of the system needs. The repository is MIT-licensed, was created on 11 August 2026, was last pushed on 3 September 2026, and holds 404 stars and 10 forks.
The four patterns
The name is the list. Hashing is checksums and digests written where nothing reads them, and the README's example is "writing checksum files that nothing ever reads". Edge cases is hardening against inputs the project does not receive, illustrated as "hardening the accounts of an app that has no users and no deployment". Rubrics is machinery standing in for a decision: scoring tables, checklists, re-verification loops, or "auditing your own patch all night while the feature stays unwritten". Overbuild is scaffolding for a future nobody asked for, described as "guards whose justification is the previous guard, not the requirement".
Each family carries a test rather than a ban. A hash earns its place when it replaces a more expensive operation and its result changes what happens next. An edge case earns its place when the input actually occurs in this project. The README also gives two counterexamples marked as legitimate, including a digest that lets the agent avoid re-reading a file, so the rules do not simply forbid the constructs.
The contract itself is nine numbered rules plus calibration examples, dropped into CLAUDE.md, AGENTS.md, .cursorrules or the equivalent. The project lists Claude Code, Codex, Antigravity, Cursor, Copilot, Windsurf and Gemini CLI as targets. A case catalogue sits alongside it, with entries the author expects users to quote back by identifier when an agent argues with the constraint.
The honesty is the unusual part
The README does not claim the problem is solved. It says "it helps; it is not a switch", and reports that the most agreed community answer to whether instructions like this work was that they help a little. Model choice and specific prompting still matter more.
That is a rare thing to write on a repository with 404 stars, and it is worth more than a confident claim would be. A prompt block cannot make a model stop producing plausible extra work, because the model has no way to know which of its precautions the project needs.
What a team actually gets
The value here is vocabulary rather than enforcement. Reviewing agent output is slow partly because rejecting careful-looking work is awkward: the diff is defensible line by line, the tests pass, and the objection is that none of it was required. Saying "this is the Overbuild pattern" is a faster and less personal way to close that conversation than reasoning from scratch each time.
Four names, a test for each, and a stated limit on how well they work. Whether the block is pasted into a config file matters less than whether the reviewers on a team have agreed on the same four words for what they keep sending back.
Source
HERO-Anti-OverDefense on GitHub, wanshuiyin.
Source: wanshuiyin on GitHub
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually shipping with them. Short, and only when there is something worth reading.