Skip to repository content
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T00:55:19.391Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitRevision diff
a6f8285b → dcd2ec55diff --git a/OMEGA_DELTAS.md b/OMEGA_DELTAS.md
index d80eb6f801..f4dab94524 100644
--- a/OMEGA_DELTAS.md
+++ b/OMEGA_DELTAS.md
@@ -2057,10 +2057,18 @@ than it sounds, because the harness omega#81's acceptance sentence names —
20572057 `refusal` stop reason and it is the wrong one: it means *the prompt and
20582058 everything after it will not be included in the next prompt*, and stock Zed
20592059 1.12.0 implements that literally — it dropped the turn and showed a refusal
2060- banner with **no disclosure at all**. That was watched happening before this
2061- shape was chosen. The turn genuinely ends, so it says `end_turn`, and what did
2062- not happen is in the message the operator reads and in the typed record beside
2063- it.
2060+ banner with **no disclosure at all**. The turn genuinely ends, so it says
2061+ `end_turn`, and what did not happen is in the message the operator reads and
2062+ in the typed record beside it. **Both shapes are photographed rendering**, in
2063+ stock Zed 1.12.0 attached to this crate's socket, same build and same prompt,
2064+ one value apart:
2065+ `crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-end_turn.png`
2066+ keeps the turn and shows the executor and origin disclosure;
2067+ `…-served-turn-refusal.png` shows what the rejected shape cost — the turn
2068+ gone from the thread and a bare "Request Refused" banner guessing at a
2069+ *content policy* violation that never happened. A test asserting
2070+ `stopReason == "refusal"` was green across that entire difference, which is
2071+ why this bullet is answered with pixels and not with a passing assertion.
20642072 - **What this does not cover.** The listener runs in the Omega process under the
20652073 supervisor's control, **not** inside the packaged `@openagentsinc/omega-effectd`
20662074 daemon; that daemon lives in the openagents repository and this packet is
diff --git a/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-end_turn.png b/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-end_turn.png
new file mode 100644
index 0000000000..7d86b12954
Binary files /dev/null and b/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-end_turn.png differ
diff --git a/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-refusal.png b/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-refusal.png
new file mode 100644
index 0000000000..ae5d389ed8
Binary files /dev/null and b/crates/omega_acp_server/evidence/2026-07-26-zed-1.12.0-served-turn-refusal.png differ
diff --git a/crates/omega_acp_server/src/main.rs b/crates/omega_acp_server/src/main.rs
index f9d3854ea8..8b568b3a88 100644
--- a/crates/omega_acp_server/src/main.rs
+++ b/crates/omega_acp_server/src/main.rs
@@ -40,6 +40,29 @@
4040 //! the **upstream** ACP SDK client over the same loopback socket — is
4141 //! `the_upstream_acp_client_reads_the_disclosure_off_a_real_socket` in the
4242 //! library, so the exit is reproducible without a windowing system.
43+//!
44+//! # The rendered exit, and why the stop reason is `end_turn`
45+//!
46+//! Photographed on 2026-07-26 against stock Zed 1.12.0:
47+//! `evidence/2026-07-26-zed-1.12.0-served-turn-end_turn.png`. The prompt
48+//! *"Start a Full Auto run on this project and pin the executor."* is kept in
49+//! the thread and answered with the executor disclosure, the session origin
50+//! (`loopback_acp · zed 1.12.0+stable… · unauthenticated`), and the statement
51+//! that the turn reached no executor.
52+//!
53+//! The companion image
54+//! `evidence/2026-07-26-zed-1.12.0-served-turn-refusal.png` is the same build,
55+//! the same host and the same prompt with **one** value changed — the served
56+//! turn answering ACP's `refusal` instead of `end_turn`. Stock Zed implements
57+//! `refusal` literally: it drops the turn out of the thread and renders a bare
58+//! "Request Refused" banner whose text guesses at a *content policy* violation
59+//! that never occurred. The disclosure goes with the turn, so the operator of
60+//! the external host is told nothing true.
61+//!
62+//! That pair is why the stop reason is not a cosmetic choice: a test asserting
63+//! `stopReason == "refusal"` was green while the only human who could act on
64+//! the refusal could see none of it. A served turn ends, and says what did not
65+//! happen.
4366
4467 fn main() {
4568 match omega_acp_server::start_if_enabled() {