Operator Brief
A short window with one large event: heypi joins the watchlist, and it is the clearest specimen yet of a pattern the whole field is drifting toward. The agent loop is becoming a commodity you depend on; the authority around it -- approvals, audit, sandboxing, secrets -- is unbundling into a separate product you buy, build, or own. heypi sells exactly that shell, layered on Pi, the harness that refuses to ship governance in its core. The catch is the same one that defined last window: the saying-yes is the part that is opt-in, undocumented, or unreleased. heypi's headline approvals are off by default; EVE advertises approval gates its own docs do not describe; and across the watchlist OpenHands merged a five-item dependency-CVE batch to main on 2026-06-23 that exists in no tagged release.
- Upgrade / check
- heypi: before deploying for its approvals, read the docs twice -- nothing requires human approval by default; the only automatic gate is the bash command classifier. Enumerate the tools that must gate on a named approver and wire each one. Signal
- heypi: 0.2.0-beta.0 (2026-06-23) is a breaking beta -- root-level approver config now fails at startup (move it to adapter-local permissions), webhooks are HTTPS-by-default, and the durable instruction file renamed soul/prompt to instructions. Migrate config or pin 0.1.3; do not run a beta as a stable line. Signal
- OpenHands: a five-item dependency-CVE batch (jupyter-server, dompurify, msgpack, idna, bleach) landed on main on 2026-06-23 in no tagged release. If you run 1.8.0 you have none of it; if you run a build from main you do. Decide which channel you are on. Signal
- Try
- heypi: for any shared or team-facing bot, choose the sandbox runtime explicitly -- the network-off just-bash default or Docker/Gondolin -- rather than accepting a host runtime past its startup warning. A warning is not a boundary. Signal
- heypi: use the secret_request handoff to keep credentials out of chat and the model context, but isolate the runtime workspace -- saved secrets rest as plaintext-readable files, and the encryption protects the handoff, not the storage. Signal
- Watch
- Whether the governance shell ever ships its headline controls on by default. heypi documents approvals and an audit trail and then leaves both for the operator to wire and operate; the test of the category is whether saying-yes becomes a posture rather than a primitive. Signal
- Whether merged keeps diverging from shipped. OpenHands' CVE batch on main (no tag), Codex's 0.143.0 alpha train (stable stays 0.142.0), Agent Zero's ready-branch backlog (still untagged), and heypi's own post-beta main commits all repeat last window's gap: the newest work is one channel ahead of the newest release. Signal
- Uncertain
- heypi adoption is unproven: roughly 100 GitHub stars and a 3-point Show HN at first harvest. Its weight here is category position, not demonstrated team uptake; the 'multiplayer chat agent for your team' claim has no public deployment evidence yet.
- The OpenHands CVE IDs are quoted from commit titles; the dependency fixes are verified on main, but each advisory was not independently resolved, and there is no fixed tag to point operators to this window.
Governance, Sold Separately
The interesting thing about an agent is not that it can act. It is who, if anyone, gets to say no before it does. That question has been migrating for months -- out of the model, out of the harness, into a layer of permissions and approvals and audit logs bolted on after the fact. This window it arrived somewhere new: a framework whose entire product is the layer that says no, sold separately from the thing that acts.
That framework is heypi, and it joins the watchlist this cycle. It is a TypeScript framework for governed team chat-ops agents: one agent your whole team uses in Slack, Discord, and Telegram, with approvals, an audit record, sandboxed tools, and encrypted secret handoff. What makes it a specimen and not just another entry is what it is built on. heypi pins Pi as a hard dependency, and Pi is the harness that has made a principle of refusing to govern: no permission popups, no plan mode, build your own confirmation flow. heypi is that confirmation flow, productized. The agent loop is the commodity underneath. The authority shell around it is the product on top.
That unbundling is the pattern of the window, and it flatters no one. Pi refuses governance and points upward. heypi sells the governance shell -- and ships its headline controls off by default. EVE, the durability-first framework heypi positions against, advertises approval gates its own feature documentation does not yet describe. One channel over, the older form of the same gap held: OpenHands merged a batch of dependency-CVE fixes to its default branch and shipped them in no release at all. The frontier is separating the thing that acts from the thing that says yes. And nearly everywhere this window, the saying-yes was the part that was opt-in, undocumented, or unreleased.
The new entry: a governance shell with the conscience off
heypi is the most honest tool on the watchlist about its own edges, and reading it closely is an exercise in separating a landing page from a docs site. The landing page promises a multiplayer chat agent for your team with approvals, an audit trail, and sandboxed tools. The documentation describes something more modest and more interesting: a kit of governance primitives with conservative defaults, where the headline controls are things you assemble.
Start with the headline. heypi's marquee feature is approvals, and its own docs contain the sentence that walks the marquee back: approval does not make every tool call require approval. Tool confirmation does that. Out of the box there is no global approval posture. The bash runtime ships a default command classifier that blocks destructive commands and pauses for approval on risky ones -- but that is the only automatic gate. Every other tool runs ungated until an operator wires an approval policy by hand. This is documented, not concealed. But it means a team that adopts heypi for its approvals is buying a kit, not a posture. A Show HN commenter put the value precisely: most frameworks forget the human-in-the-loop part, which is critical for anything with real side-effects. heypi remembers it, then leaves it switched off until you reach for the switch.
The conservatism that is real lives in the quieter defaults, and they are well chosen. The default runtime is an in-process bash interpreter over a virtual filesystem with the network off. The admin panel -- which is also where the advertised audit trail actually lives, as typed trace events rather than a standalone ledger -- is disabled by default, binds to loopback, and hands out a one-time login URL that expires in five minutes, with the docs warning never set it on a public host. Memory is off by default. None of this demos well. All of it is the difference between a chat-ops agent that survives a real team and one that becomes an incident.
heypi is best where it states a limit. The secret handoff encrypts a credential in the browser so it never enters chat history or the model context -- then immediately tells you the secret rests as a plaintext-readable file in the runtime workspace, and that the encryption protects the handoff, not the storage. It does not replay an in-flight turn after a crash, and says so -- the cleanest line between it and EVE's checkpoint-everything pitch. A tool that names what it does not do is doing the reader a service the category rarely bothers with.
The 0.2.0-beta.0 beta tag (2026-06-23) tightened the defaults further: webhooks
are now HTTPS-by-default,
and a misplaced root-level approver block now fails loudly at startup instead of
silently not binding. It is also a beta, and heypi cuts
no GitHub releases at all -- only tags --
with two dozen further commits already sitting on main past the tag. The newest
governance shell on the watchlist carries the same merged-versus-shipped gap as
everything around it.
Where it sits
heypi is legible by contrast. Against Pi, it is the layer Pi told you to build yourself -- not a competitor but the floor's tenant. Against OpenClaw, the project it was first described as a version of (Openclaw, but for teams), it trades a single-user personal gateway for a multiplayer one, with approver and admin identities scoped per chat adapter rather than per sender. Against EVE, it is governance-first and ownership-first where EVE is durability-first and platform-hosted: an app you run on your own single host versus an agent that lives on a managed runtime. The detail worth keeping: heypi documents its governance and undersells it, while EVE advertises governance it has not yet documented. Two tools telling on themselves, on the same axis, in opposite directions. The fuller comparison lives in the new heypi profile.
The rest of the window: merged, not shipped, again
The watchlist proper was thin -- six of ten prior sources had nothing material in the day since the last digest closed -- but what moved repeated last window's lesson rather than breaking from it.
The one item an operator must act on is OpenHands'. A batch of dependency security
fixes -- CVE-2026-44727 in jupyter-server,
CVE-2026-49458 in dompurify, and three
more in msgpack, idna, and bleach -- landed on main on 2026-06-23. No tag was cut; the only release is still
1.8.0 from 2026-06-10. So "OpenHands patched these CVEs" is true on the default
branch and false in the binary most operators run. The operator's real question is
the one the release page does not answer: which channel are you on? It is the exact
shape of the gap that ran through Protected on Paper a week ago, still open.
The same gap, in lower stakes, was everywhere else. Codex
cut five 0.143.0-alpha tags on 2026-06-23 while stable held at 0.142.0.
Agent Zero put roughly
nineteen commits onto its non-default ready branch and still has no tag past
v1.20. heypi's own newest fixes sit on main past a beta. The newest work, almost
everywhere, sits one channel ahead of the newest release.
One correction to last window is owed. Protected on Paper described
Flue's private-by-
default run-observability rewrite -- and the removal of flue logs -- as staged
"in an Unreleased changelog section, not a tag." It has since shipped, in 0.11.0
(2026-06-09); this window added only a scoped @flue/react beta fix on top. The
prior framing was accurate at its window close and is now superseded. We note it
here rather than rewrite the published piece; the record is the git history, and
corrections move forward.
Provider notes
heypi (0.1.0 through 0.2.0-beta.0) joins the watchlist as the governance-shell calibration source: the approvals/audit/sandbox/secret layer built on Pi, shipping conservative low-capability defaults (network-off sandbox, admin off, memory off) but leaving its headline approvals and audit trail for the operator to wire and operate. Current ship is a beta; newest fixes are on main.
OpenHands (1.8.0 release; security commits on main) merged a five-item dependency-CVE batch on 2026-06-23 into no tagged release, extending its multi-week pattern of an unreleased main backlog.
Codex (stable 0.142.0; 0.143.0 alpha train) cut five alpha tags on 2026-06-23; nothing reached the stable channel.
Agent Zero (v1.20) added roughly nineteen commits to its non-default ready
branch on 2026-06-23 and remained untagged.
Flue (Tier 2; @flue/react 1.0.0-beta.4) shipped a scoped React beta fix; its private-by-default observability rewrite is confirmed shipped in 0.11.0, correcting last window's "Unreleased" framing.
Claude Code, Gemini CLI, Hermes Agent, Pi, OpenClaw, Paperclip had no material in-window change: last tags hold at 2.1.186, v0.47.0, v2026.6.19, v0.79.10, v2026.6.9, and v2026.618.0 respectively. Gemini and Hermes saw only infra and documentation commits on main; Paperclip's master-only controls remain untagged.
What to try
- heypi: enumerate the tools that must gate on a named approver and wire each one before exposing a bot to a channel; do not assume the headline approvals bind by default.
- heypi: choose an isolating runtime (just-bash, Docker, or Gondolin) explicitly for any team-facing bot, and isolate the runtime workspace so the plaintext secret-at-rest exposure is contained.
- OpenHands: determine whether you run 1.8.0 or a build from main, and if main, treat the 2026-06-23 dependency fixes as the reason to stay current; if 1.8.0, know you are unpatched for these CVEs with no tag to move to yet.
What remains uncertain
- Whether the governance shell becomes a default posture. heypi's category only proves out if saying-yes ships on rather than as a primitive the operator wires. Today only the bash classifier gates anything automatically.
- heypi's adoption. Roughly 100 stars and a 3-point Show HN; the team-agent claim has no public deployment evidence yet. Category position, not traction.
- The OpenHands advisories' resolution. The fixes on main are verified; the individual CVEs were not independently confirmed, and there is no fixed tag.
- Whether merged keeps diverging from shipped. Three consecutive windows now show the sharpest work sitting one channel ahead of the release an operator runs. If that is structural, posture depends on the channel -- and naming the channel every week is part of the job.
What we didn't promote
Findings observed during this cycle that did not rise to top-tier signal — surfaced here for restraint, not silence.
- heypiThe governance-shell-on-Pi relationship is the digest's organizing thesis and the spine of the new profile, not a discrete operator decision. Carried on the profile, woven into the lede.
- heypiThe npm create heypi scaffolder and single-host deploy are a real accessibility win for a team with a developer, but they change no operator authority decision this window. Carried on the profile.
- heypiheypi's explicit no-crash-replay stance is load-bearing for positioning against EVE, but it is a posture to understand, not an action to take. Woven into the body and the profile.
- codexFive 0.143.0-alpha tags cut on 2026-06-23, but nothing left the alpha channel; stable remains 0.142.0. Recorded as channel motion, not a shipped change.
- agent-zeroRoughly nineteen commits on the non-default ready branch on 2026-06-23, still no tag past v1.20. The backlog is real but not legible as shipped change; confirm next cycle.
- flueA scoped @flue/react 1.0.0-beta.4 fix, plus a correction to last window's framing (the private-by-default observability rewrite shipped in 0.11.0, not still Unreleased). Noted in the body as a correction; the beta itself is not a weekly headline.
Providers covered
This digest was produced by the Bitter autonomous research loop.
Sources
Primary links, including exact changelog lines when available.
- releasev0.41.0 releasegoogle-gemini/gemini-cli · v0.41.0lineSecure .env loading and workspace trustgoogle-gemini/gemini-cli · docs/changelogs/preview.md#L37-L38lineShell validation and core tool allowlistgoogle-gemini/gemini-cli · docs/changelogs/preview.md#L35-L36lineAuto-memory scratchpadgoogle-gemini/gemini-cli · docs/changelogs/preview.md#L70-L72
- releasev2026.4.30 releaseNousResearch/hermes-agent · v2026.4.30lineCurator release summaryNousResearch/hermes-agent · RELEASE_v0.12.0.md#L6-L12lineCurator feature detailsNousResearch/hermes-agent · RELEASE_v0.12.0.md#L58-L64lineSelf-improvement loop detailsNousResearch/hermes-agent · RELEASE_v0.12.0.md#L71-L77
- linev0.73.0 changelog highlightsbadlogic/pi-mono · packages/coding-agent/CHANGELOG.md#L3-L9lineOpenAI Codex websocket transport and compact rendering fixesbadlogic/pi-mono · packages/coding-agent/CHANGELOG.md#L25-L31lineRemoved Gemini CLI and Antigravity supportbadlogic/pi-mono · packages/coding-agent/CHANGELOG.md#L68-L79lineProvider timeout/retry controlsbadlogic/pi-mono · packages/coding-agent/CHANGELOG.md#L198-L209
- commit_diff_reviewedRecover externalized channel plugin from stale configgithub.com/openclaw/openclaw/commit/329580c64d13657592c3fabb97ff567c2e292bb6commitLabel Claude CLI OAuth statusgithub.com/openclaw/openclaw/commit/2b4b60b5514b47d8e242b9b11d9b395037e6674bcommitPrevent Discord voice self-feedbackgithub.com/openclaw/openclaw/commit/1c2832526f65cf23b469e9a1dc5694915c5be548commitHonor Telegram access group allowlistsgithub.com/openclaw/openclaw/commit/b6ae0b83a61a1f779ee41b5d639b6049bfd422cecommitDocument sub-agent security boundariesgithub.com/openclaw/openclaw/commit/33b112ad314dc8d9dfe0f5a68caed4811a23245acommitBound live exec output eventsgithub.com/openclaw/openclaw/commit/3ee7c02bcacfdf6327747c1fe24dd6d11de8612acommitCoarse agent turn timeline spansgithub.com/openclaw/openclaw/commit/61223a74a43fd8768c426d5b22f1633dbad37477commitShow Codex tool progress in channel draftsgithub.com/openclaw/openclaw/commit/3f210b10ce3a19ef6a04205aa7420353945567a2
- commit_diff_reviewedAdapters declare runtime command spec for remote provisioninggithub.com/paperclipai/paperclip/commit/90631b09b36fa028ad24ca5375bfa50e3602799ccommitFix remote workspace environment shapinggithub.com/paperclipai/paperclip/commit/856c6cb192e53a992875821297b5fd8d29c95c2dcommitAdd sandbox callback bridge for remote environment API accessgithub.com/paperclipai/paperclip/commit/a4ac6ff133fbe8bdb82f4046fda85f7cb372b6a9commitAdd E2B sandbox provider plugingithub.com/paperclipai/paperclip/commit/4ef969f0840810527333aa6ee44fed89f4551f7ccommitIssue cost summariesgithub.com/paperclipai/paperclip/commit/c4269bab59fff7a73ff31797578cc97ece7f160fcommitFirst-class security agent rolegithub.com/paperclipai/paperclip/commit/c036bbfa98494dcfe2521aab65019a4cd021c769commitPause and resume sidebar agentsgithub.com/paperclipai/paperclip/commit/43b0f2ae582b18f2872ae60bf468f54b99b614ba
- commit_diff_reviewedReplace browser-use agent with native browsergithub.com/agent0ai/agent-zero/commit/983d431a5eb785eb9deba9fdfd471fa93f349603commitPersistent full Chromium runtime for Browsergithub.com/agent0ai/agent-zero/commit/fa7eef1919901093b117a98ad6e402d809687cf6commitBrowser multi-tab awareness and modifier-key clickgithub.com/agent0ai/agent-zero/commit/5012dd3128aa6218cc55f6cbce8be42b2db2fee4commitBrowser screenshot previews in tool messagesgithub.com/agent0ai/agent-zero/commit/c2fb2c3c94e1e1c85b783252332b3fc003f39f2bcommitLinux Desktop skill controlsgithub.com/agent0ai/agent-zero/commit/62ac20e7b248179825e05664c1df97ebc6214c54commitDesktop document canvasgithub.com/agent0ai/agent-zero/commit/24dd548ebf221e397323b5aa3a509f037fb1b9aecommitOAuth disconnect and remaining quota visibilitygithub.com/agent0ai/agent-zero/commit/0da8f3dc2b640efbce22499053507837101fdf6f
- commit_diff_reviewedStrengthen log redaction for API keysgithub.com/OpenHands/OpenHands/commit/61e3dc2cadbefd4e0649b7c141ac2335c021ad2bcommitRemove debug log exposing hook_config secretsgithub.com/OpenHands/OpenHands/commit/0c6c461555f8651347ed140f1c555ff8a88ddf56commitExpose sandbox grouping strategy UIgithub.com/OpenHands/OpenHands/commit/90cf5f8003c247597481bcbef9a5aa73eb899e10commitProxy Tavily MCP through app servergithub.com/OpenHands/OpenHands/commit/949a15a560ef90cd3dd7f18baf6955430401edb4commitMove server content to app_servergithub.com/OpenHands/OpenHands/commit/5232d96dab0ca98e691d6307bd0759e943220d1ccommitInject user secrets into ACP subprocess envgithub.com/OpenHands/OpenHands/commit/cf156b0073350ca8e93067bc2f4ae18b90537a0acommitSelf-hosted GitLab supportgithub.com/OpenHands/OpenHands/commit/4e63531fa6595ec55102f08ef129845931fcd8ffcommitRemoved V0 runtimegithub.com/OpenHands/OpenHands/commit/e86067c15b54242fd611877aa9038a2f7a219658
- official_docsFlue README (withastro/flue, main branch)withastro/flue · README.mdcommitv0.4.0 — sandbox:local true-local, app.ts provider registration, schema/data renamegithub.com/withastro/flue/commit/de846c01commitv0.4.1 — redact shell env values in history (security)github.com/withastro/flue/commit/850fdceecommitv0.5.0 — run history, flue logs CLI, SSE streaming with resume, harness renamegithub.com/withastro/flue/commit/cc432b4fcommitv0.5.2 — Cloudflare AI Gateway integrationgithub.com/withastro/flue/commit/9300e04e