From 1a7ca72f51581e4823d5b4a21debc63d0e0d1f76 Mon Sep 17 00:00:00 2001 From: Cameron Pfiffer Date: Thu, 6 Aug 2026 02:05:05 -0700 Subject: [PATCH] Keep the F3 precedence defense exact. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point the source-order regression at the guarded global handler so it still proves F3 precedes every modal branch without mistaking its own test fixture for production routing. Defense: Operations workspace criterion 12 requires the guarded global F3 route to remain ahead of every post-opening modal input branch. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code --- crates/misaligned-bevy/src/main.rs | 4 ++-- wiki/interface/operations-workspace.md | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/misaligned-bevy/src/main.rs b/crates/misaligned-bevy/src/main.rs index c72484fd..56b2282c 100644 --- a/crates/misaligned-bevy/src/main.rs +++ b/crates/misaligned-bevy/src/main.rs @@ -6749,8 +6749,8 @@ mod input_routing_tests { fn global_view_flip_precedes_every_post_opening_modal_input_branch() { let source = include_str!("main.rs"); let global = source - .find("if view_flip_input(&kb, &mut game, &mut mode)") - .expect("handle_input routes the shared global F3 handler"); + .find("if kb.just_pressed(KeyCode::F3) && view_flip_input(&kb, &mut game, &mut mode)") + .expect("handle_input guards and routes the shared global F3 handler"); for modal in [ "if game.ops.is_none() && game.sim.has_held_choice()", "if game.menu.is_some()", diff --git a/wiki/interface/operations-workspace.md b/wiki/interface/operations-workspace.md index b45352b3..af056817 100644 --- a/wiki/interface/operations-workspace.md +++ b/wiki/interface/operations-workspace.md @@ -1074,7 +1074,9 @@ state is not saved and never mutates or advances the sim. row becomes actionable. In Bevy, an idle global-input frame leaves `Game` unchanged so a rendered action or persona row survives through its Hovered-to-Pressed transition; pointer and keyboard reach the same bound - confirmation, persona rebind, and identity-creation commands. + confirmation, persona rebind, and identity-creation commands. The guarded + global F3 route remains source-ordered ahead of every Operations and other + post-opening modal branch. 13. Every Operations object may expose only earned related-object links with a named causal relation and stable semantic target. Following a link opens that exact canonical object and owning view in terminal, Bevy, and agent -- 2.51.2