From 594734ad8d954c1514be49826876da762964ae3e Mon Sep 17 00:00:00 2001 From: Edward Langley Date: Tue, 22 Sep 2026 20:23:08 -0700 Subject: [PATCH] SetYanked is composed now, so it leaves the uncomposed list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A SEMANTIC merge conflict that auto-merged cleanly: PR #160 added `vocabulary_is_composed.rs`, whose `NOT_COMPOSED` list names `SetYanked` with the verdict "improvise-lut7: nothing resolves yank, so paste reads a permanently empty slot". This branch is the fix for improvise-lut7, so that entry is now false. git reported no textual conflict — the two sides touched different files — and `the_uncomposed_list_names_nothing_that_is_composed` caught it on the merged tree, which is exactly the both-directions check #160 added it for. Worth stating because the two PRs agree on the diagnosis: the list cites the ticket this branch closes, and the guard is what turned that agreement into a build failure rather than a stale sentence. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH --- .../src/vocabulary_is_composed.rs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/crates/improvise-protocol/src/vocabulary_is_composed.rs b/crates/improvise-protocol/src/vocabulary_is_composed.rs index 7add148f..5902d835 100644 --- a/crates/improvise-protocol/src/vocabulary_is_composed.rs +++ b/crates/improvise-protocol/src/vocabulary_is_composed.rs @@ -8,20 +8,12 @@ use crate::reduce::Command; /// A variant production composes nowhere, and why. Checked in **both** /// directions, so a composed entry fails here too (improvise-m0sx). -const NOT_COMPOSED: &[(&str, &str)] = &[ - ( - "SetYanked", - "improvise-lut7: nothing resolves yank, so paste reads a permanently \ - empty slot. Derived — effect::SetYanked exists — so this is a resolver \ - gap, not an invention.", - ), - ( - "SetSearchMode", - "improvise-fo0w item 1: derived from effect::SetSearchMode, and \ +const NOT_COMPOSED: &[(&str, &str)] = &[( + "SetSearchMode", + "improvise-fo0w item 1: derived from effect::SetSearchMode, and \ deliberately held back because search without search-navigate is a \ worse failure than the present silence.", - ), -]; +)]; #[test] fn every_command_variant_is_composed_by_production_code() {