← AI Hacker Daily

Edition

06

picks

# AI Hacker Daily — 2026-09-16 Four of today's five picks were built within the same ten days in June.

AI Hacker Daily — 2026-09-16

Four of today's five picks were built within the same ten days in June. Eve, Vercel's agent framework, was created June 16. Cloudflare's security-audit skill and an unrelated one-person terminal agent called Bough were both created June 18 - the same day Cloudflare published the blog post about the production system the skill seeded. Pizza Bot, an inbox for background agents built inside Amazon, was created June 26. None of the four cite each other: Bough's own prior-art section names a Cloudflare blog post from September 2025, not the security skill, and nothing in Eve's or Pizza Bot's documentation mentions any of the other three. Whatever produced the cluster isn't visible from four READMEs, so treat it as an observation, not a discovery: four teams independently spent that window building the unglamorous connective tissue around agents instead of another agent. A place to put an agent's files so a stranger can read them. A way to have it act without paying for one network round trip per tool call. A methodology so its output gets audited instead of trusted. A queue for the work it finishes after you close the laptop. The fifth pick, a synthetic-test-data engine called Datamimic, predates the cluster by a year and a half and had to bolt an agent-facing CLI onto software that already served humans, which may be the more common sequence in practice.

The order below follows that build: scaffold it, run it, feed it data, audit it, then give its output somewhere to land. The biggest number belongs to the audit skill, whose production successor at Cloudflare turned 20,799 raw findings into 7,245 that actually went to engineering teams across 128 of 145 repositories scanned. The smallest belongs to Bough, whose entire measured user base, by its own account, is one person's 735 turns.

01

Eve — Vercel's agent framework keeps the entire agent in files you could grep

Eve (Apache-2.0, TypeScript, 5,184 stars, 553 forks, created June 16, 1,415 commits, 57 contributors) bills itself as "a filesystem-first framework for durable AI agents." An agent is a directory: agent/instructions.md is the always-on system prompt, agent/tools/ holds typed functions the model can call, agent/skills/ holds procedures loaded on demand, agent/channels/ wires up Slack, Discord or a raw HTTP endpoint, and agent/schedules/ holds cron jobs. npx eve@latest init my-agent scaffolds that layout and drops you into an interactive terminal UI; running eve init . inside an existing project adds the same structure in place rather than starting over. The bet is inspectability over abstraction - nothing about what the agent does lives in a database row or a vendor dashboard, it lives in files a person, or another agent, can open and read without an API call.

What makes this more than a scaffold is the issue tracker sitting under it. On September 15 and 16, Vercel engineers filed and closed specific bugs against their own framework - "Cancelling a response after a denied tool approval restores the stale pending request," "agent restored via the documented eve/tools/agent re-export is never dispatched to the subagent workflow" - and shipped two point releases a day apart, eve@0.55.0 on September 14 and eve@0.56.0 on September 15. GitHub's own count folds issues and pull requests into one "838 open" figure; split apart, that's 337 open issues and 501 open pull requests, which is what a team running its own framework in production looks like, not what an announcement looks like.

Reach for it if you're building an agent you expect to still be legible in six months, to whoever debugs it next, and that is not always going to be you; it replaces the loose combination of a system-prompt string, a tools array and a stray cron entry that most agent projects start as. Delete the YAML config file you were about to invent for the schedule. Tradeoffs: three months old and explicitly pre-1.0, with 501 open pull requests suggesting the surface is still moving under its own users; the filesystem layout is opinionated, which is friction the moment your team already has a different convention; the quick-start defaults to routing model calls through Vercel's own AI Gateway rather than a provider key you hold directly; and the durability claims - that schedules and channels survive a restart - are Vercel's own to keep, not something the npm package lets you verify from outside.

github.com/vercel/eve

02

Bough — an agent that writes one program instead of a thousand tool calls, and logs the arithmetic

Bough (Apache-2.0, Go, 9 stars, 1 fork, created June 18, 2,109 commits, 3 contributors, v0.2.7 released September 15) is a terminal coding agent built on a specific bet: instead of the model picking one tool, waiting for the result, and picking the next tool, it writes a short JavaScript program in a fenced block, Bough runs it, and whatever it prints goes back to the model as the next turn. tools.view, tools.patch, tools.bash, tools.spawn and every configured MCP tool are just functions inside that program, so a patch and the test run that checks it can be one step, with the model branching on the result in code instead of in another round trip. The README's own recorded example, verbatim from a session run by openai/gpt-6-astra: one program that patches a Go file, runs gofmt, runs go test ./..., and checks the diff, before the next model call happens at all.

The author's own session logs back the design up with a number rather than a demo: across sessions from September 2 to 15, 735 turns ran 5,521 programs that made 10,542 tool calls - 1.9 calls per program, 52% of programs making more than one call, 30% branching or looping on a result. An agent making one tool call per round trip would have needed roughly 10,500 separate round trips for that work; Bough's own caveat is the honest one, "the usage numbers above come from one person's sessions, not a controlled benchmark." The idea isn't new and the README says so before anyone else can: it names CodeAct's paper showing executable code actions beat JSON tool calls, Hugging Face's smolagents, and Cloudflare's own Code Mode post from September 2025 as the same move applied to MCP servers. Bough's claim is narrower - taking that idea into a full interactive coding agent, with its own plugin architecture (bough.yml, hot-reloadable "rows" for the provider, loop, tools and UI), hooks, and Claude Code-compatible skills read straight from ~/.claude/skills/.

Reach for it if your agent sessions are dominated by patch-then-test loops and the round-trip latency is the part you notice; it replaces the tool-call loop inside whatever terminal agent you're running today, including, by its own stated goal, Claude Code. Delete the habit of watching a coding agent narrate "now I'll run the tests" as a separate turn. Tradeoffs: nine stars and three contributors is a genuinely tiny footprint for 2,109 commits, and all thirteen of its open GitHub items are pull requests rather than user-filed issues, which is what a one-person project looks like from outside; the shell is not sandboxed by default outside of container-backed "project" sessions, so tools.bash has your files, credentials and network exactly like a script you ran yourself; project sessions need macOS's native container runtime, so the enforced-boundary mode is Apple-silicon-only for now; there is no Windows build; and local, non-project sessions have no per-turn checkpoint, so /undo in that mode does not exist - git is the only rewind.

github.com/andreylukin/bough

03

Datamimic — stops a coding agent from inventing its own test fixtures, with a sales funnel attached

Datamimic (MIT, Python, 96 stars, 3 forks, created December 2024, 181 commits, 4 contributors, CE 4.1.0 released July 17) generates deterministic synthetic test data instead of letting an agent hand-write fixtures that may or may not respect the schema. The pitch, stated in the repo's own AGENTS.md: an agent preserves its intent as a model.dm.json file, submits an early best attempt through datamimic scaffold ... --format json, repairs from structured validation issues rather than guessing, declares an expectation for every requirement it was given, and stops only when the tool reports verified=true. The worked example in the README is concrete rather than abstract: seed four customers with two orders each, where each order's foreign key is the real parent customer ID rather than a plausible-looking one, with acceptance checks for the count, the uniqueness, the per-parent order count, and the FK relationship itself - the exact "does it handle relational integrity" question a top commenter on the Show HN thread asked, already answered in the docs.

The repo is the open-source core of a larger enterprise sale, and it says so plainly rather than hiding it: the CE/EE comparison table lists what Community Edition does today (single-system pipelines, Python-multiprocessing scale, an MCP adapter) against what the paid Enterprise Platform adds (a Rust fastpath, billion-record scale, a PII scanner, audit dashboards, and "deployed in regulated EU banking environments," with references available under NDA - a claim this desk could not independently verify). A different Show HN commenter flagged something this desk also could not verify by re-fetching the marketing page: that datamimic.io runs a chat widget with a blinking "1 new message" badge behind no actual message, the kind of manufactured urgency the rest of the page's compliance-vendor register otherwise avoids. A static page fetch doesn't execute that widget's JavaScript, so it stays attributed to the commenter rather than confirmed here.

Reach for it if your CI or your coding agent currently either points at a copy of production data or invents fixtures by hand; it replaces both, for the single-database case CE covers. Delete the anonymization script that scrubs a production export instead of never touching one. Tradeoffs: the open-source edition tops out at single-system pipelines and Python-multiprocessing throughput, with the "billion-record" and multi-system claims reserved for the paid platform; the project predates its own agent-facing CLI by a year and a half, so the AGENTS.md workflow is newer than the engine underneath it; four contributors and 181 commits over nearly two years is a modest pace for infrastructure regulated customers are asked to depend on; and the "regulated EU banking" deployment claim is sourced to the vendor's own site, with the references it names unreachable behind an NDA.

github.com/rapiddweller/datamimicdiscussion ↗

04

The security-audit skill Cloudflare shrank a 128-repo pipeline down into one file you can npx install

security-audit-skill (MIT, JavaScript, 5,517 stars - the single biggest one-day gain in today's whole candidate pool, +1,434 - 335 forks, created June 18, 14 commits, 3 contributors) is a coding-agent skill that runs a structured six-phase security audit: reconnaissance into an architecture map and a coverage ledger, coverage-led hunting by isolated sub-agents, candidate validation by a fresh verifier whose job is to try to disprove each finding, structured output split into confirmed, needs_validation and rejected records against a JSON schema, independent re-verification of the survivors, and a target-neutral report. Two of its own design principles do the real work: "the agent that checks a finding is never the agent that found it," and "a single run found roughly half of the vulnerabilities that repeated runs found in total" - so the skill is built to be re-run, not trusted on one pass. It installs with npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit and activates when you ask a coding agent for a security audit, a pen-test, or to find vulnerabilities.

This is not a green-field idea with a demo attached - the README says outright that it is "the single-repo starting point" Cloudflare's own production system evolved from, and links the blog post, published the same calendar day this repository was created, that describes what it grew into. The production Vulnerability Discovery Harness and its companion Vulnerability Validation System scanned 128 of Cloudflare's 145 repositories, generating 20,799 raw candidate findings; independent validation cut that to roughly 12,057 survivors, and deduplication brought it down to 7,245 findings actually sent to engineering teams. A single repo scan runs 3 to 4 hours, the largest just over 14; across iterations, the initial validation rejection rate fell from 40% to 11% and the share of high-integrity findings rose from 35% to 58%. None of that is reproducible from the public skill alone - it needs its own gated infrastructure - but the methodology it runs on is, by the README's account, "substantially" unchanged from the 450-line prototype.

Reach for it before you ask a coding agent to review something for security issues in one shot and take whatever it hands back; it replaces that single-pass prompt with a structured, adversarially checked process, and it replaces nothing you currently pay for. Delete the habit of treating an agent's first-pass vulnerability list as a finding rather than a lead. Tradeoffs: it explicitly requires an OS-enforced sandbox with networking disabled for any step that runs target code - build, test, fuzz, browser - and without one the workflow stays at needs_validation rather than confirming anything, so a careless setup produces a report that looks confident and isn't; a coverage-led process across isolated sub-agents costs meaningfully more tokens than one prompt; 14 commits and 3 contributors is a thin trail for a repository this widely starred, which tracks with it being a skill definition rather than a piece of running software; and the "roughly half" repeated-run finding is Cloudflare's own internal test result, not something this skill's public repo lets an outside user verify.

github.com/cloudflare/security-audit-skill

05

Pizza Bot — the inbox Amazon built for agents that keep working after you close the laptop

Pizza Bot (Apache-2.0, TypeScript, 235 stars, 15 forks, created June 26, 79 commits, 6 contributors, v1.0.0 released September 8) organizes long-running AI work the way an email client organizes messages: start or schedule a task, walk away, and completed runs collect in an Unread queue while runs waiting on a decision collect in a separate Action queue. Its own README states plainly that it "was developed at Amazon and is released under the Apache 2.0 license" - a claim this desk is taking from the source rather than an outside filing, since nothing about the repository's org name signals it. Under the hood it's a stateful DeepAgents/LangGraph runtime shared across an Electron desktop app, a browser build and a terminal CLI, all talking to one api-server over HTTP/SSE; checkpointed runs survive a client disconnect, cron or webhook triggers can start work with no conversation open at all, and skills become tool-scoped subagents whose progress shows up in an Activity panel. File access is opt-in per folder under Settings, with no default home-directory grant. Model providers on offer: Bedrock, Anthropic, Gemini, OpenAI, OpenRouter, Ollama.

Today's Show HN reads as the wider announcement of a launch that already happened: v1.0.0 shipped eight days earlier, and the top reply congratulates the team on the public launch. More useful is the thread's comparative texture: esafak asks how this differs from pointing an agent at a ticket tracker like Linear's own agent-dispatch feature, boplicity says they've been running a similar tool called GrokBot and would prefer an open-source equivalent for the same async-agent pattern, and scottydelta asks why this needs to be a desktop app instead of a self-hostable web service, a fair question the docs partly answer since a "Standalone backend" mode does support remote Electron clients, static browser deployment, Docker, Compose and Kubernetes. One question goes unanswered in-thread: aaronax asks, reasonably, why not just use real email - the Unread/Action framing never quite argues against it.

Reach for it if you're running more than one long-lived agent and currently track their state in open terminal tabs or a personal Slack channel; it replaces that ad hoc tracking, and it replaces nothing you pay for since the desktop app is free and self-hosted. Delete the browser tab you keep open just to see if a background agent finished. Tradeoffs: v1.0.0 is eight days old, and six contributors with 79 commits is a small base for a tool meant to hold approval gates on consequential actions; the desktop build is the primary experience and the self-hostable backend is a secondary path documented separately; a running instance needs its own api-server process kept alive, so "background" still means something has to stay on; and the Amazon-origin claim, however plausible, is sourced entirely to the project's own README.

github.com/pizza-bot-app/pizza-botdiscussion ↗

06

Also on the desk. Capsule packages a whole app - HTML/CSS interface, schema, and a local SQLite database - into one portable .capsule file you can email, AirDrop or message like a document; opening one needs a free host player, and the real disagreement in its 143-comment Show HN thread is whether that's worth it over a PWA built on the Filesystem API, which several commenters said gets most of the same result with nothing to install. TabPFN-3.5 is Prior Labs' latest tabular foundation model, ranking first among 27-plus methods on the TabArena benchmark and up to 250 Elo points ahead on messy, text-rich business data; it ships as an open-source tabpfn package alongside a paid API. Tinycast is a native SwiftUI Raycast alternative - zero third-party dependencies, no Electron, and it runs actual Raycast extensions rendered natively - that gained 1,076 stars in a single day, the second-largest jump in today's pool, for reasons not evident from the repository itself; it's AGPL-3.0, free, and installed through a Homebrew tap.

Verification notes: star, fork, commit, contributor, license and creation-date figures are from the GitHub API on 2026-09-16; commit counts use the per_page=1 Link-header last-page trick (eve 1,415, bough 2,109, datamimic 181, security-audit-skill 14, pizza-bot 79). Open issue/PR splits use the GitHub search API's type:issue and type:pr filters rather than the repository object's combined open_issues_count, which conflates the two (eve: 337 issues and 501 PRs, not "838 open issues"). HN points, comments and quoted text are the Algolia API against each item's actual objectID, pulled from the candidate row's stored meta - an initial pass fetched the wrong items entirely by treating this project's internal candidate row IDs as HN item IDs. Every README quote was re-read from the raw GitHub contents API, not a summary. The Cloudflare blog post's publish date and the production-harness numbers (20,799 / 12,057 / 7,245 findings; 128 of 145 repos; 40%-to-11% and 35%-to-58% rate changes) are from blog.cloudflare.com/build-your-own-vulnerability-harness, dated June 18, 2026 - the same calendar day the security-audit-skill and Bough repositories were both created. Datamimic's chat-widget claim is a Show HN commenter's, not independently confirmed: a static fetch of datamimic.io does not execute the page's client-side JavaScript, so a widget loaded that way would not appear either way. Reddit returned zero rows again today; its last nonzero day in this database was May 9, 130 days ago - recent editions' "consecutive weeks" figure for this streak has drifted from that count and should be treated as unreliable until recomputed from the data rather than incremented by hand. github:trending returned 12 rows today across all five feeds (all 5, go 1, python 2, rust 3, typescript 1); Product Hunt's 15 rows, including a same-product resubmission of Appwrite 2.0 first covered as a Show HN on September 1, contributed nothing to the picks above.

One of these,
every weekday.

Free. Unsubscribe by replying with one word. No tracking pixels in the email.