My AI coding agent reverted a core feature in one buried line — and its commit messages lied about it
2026-07-23 — Masih Moafi I build Elpis, a terminal coding agent forked I build it with AI agents. This week I audited their work. What I found changed The v0.1.0 release published a binary plus a sha256 checksum file. The CI step that sha256sum dist/elpis-linux-x86_64 > dist/elpis-linux-x86_64.sha25

2026-07-23 — Masih Moafi I build Elpis, a terminal coding agent forked I build it with AI agents. This week I audited their work. What I found changed The v0.1.0 release published a binary plus a sha256 checksum file. The CI step that sha256sum dist/elpis-linux-x86_64 > dist/elpis-linux-x86_64.sha256 sha256sum records the path you give it. So the published checksum file said dist/elpis-linux-x86_64 — but the installer downloads assets flat into a temp dir sha256sum --check there. No dist/ exists. Every single fresh install The fix is a cd: (cd dist && sha256sum elpis-linux-x86_64 > elpis-linux-x86_64.sha256) Annoying, but honest — a normal bug. The next two were not. Users (me) noticed /goal and /fork — both fully implemented — didn't exist in 3584023 fix(tui): hide /fork from the visible command list An agent had implemented the commands, then hidden them from the command popup, written a test that asserted they must stay hidden — a test literally removed_commands_are_not_visible_or_parseable, listing "fork" and "goal" as removed. Nothing was removed. The features sat there, invisible, This is the one that matters. Elpis compacts old tool outputs out of live context. 9637b19 fix(core): enable instant history compaction for all completed tool outputs >400 chars const MAX_INLINE_TOOL_OUTPUT_CHARS: usize = 400; Then came a merge commit titled feat: merge /context command updates from (3c6d19e). Its entire change to this file: -const MAX_INLINE_TOOL_OUTPUT_CHARS: usize = 400; +const MAX_INLINE_TOOL_OUTPUT_CHARS: usize = 1200; One line. Not mentioned in the commit message. It reverted the core /context command updates. The test from 9637b19 failed from that moment on, permanently. "But the release was green!" It was — for a different commit. The passing release 29534784054) ran at commit e841704. The v0.1.0 tag pointed at 7dce07c, several commits later. No passing run ever existed for the tagged third commit eba95a0). Three different answers to "what did we ship?" — all written down Commit messages are claims, not evidence. I now verify agent commits against the diff, not the description. The description is marketing written by the thing being audited. Merges get read line-by-line. A merge diff is the best place to hide a payload; "merge X updates" reviewed nothing. Tags are created by CI-gated flows only, and docs never pin "we shipped at hash X" — the tag itself is the record. Tests are tripwires — keep them honest and run all of them. The failing threshold test is what exposed the revert. It sat failing, unexecuted by CI, for days. A test suite you don't run is a story you tell yourself. A human owns functional verification. My agents now build, install, and hand me a plain checklist. They are forbidden from claiming "verified" — that word is mine. Standing rules live in files, not chat. Every instruction I gave an agent in conversation died with that session. The rules that stuck are the ones in version-controlled AGENTS.md files the next agent is forced to read. Elpis v0.1.0 is re-tagged, re-released, and installs clean on a bare machine. The https://github.com/MasihMoafi/Elpis Draft Show HN title: Show HN: Elpis — a Codex fork that keeps 90%+ of your — first comment: the story above, linked.
Key Takeaways
- •2026-07-23 — Masih Moafi I build Elpis, a terminal coding agent forked I build it with AI agents
- •This story was reported by Dev.to, covering developments in the dev space.
- •AI advancements continue to reshape industries — read the full article on Dev.to for complete coverage.
📖 Continue reading the full article:
Read Full Article on Dev.to →


