From e6ace5c320067fb02f0a268b56570467f7aced25 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Thu, 23 Jul 2026 19:37:18 -0400 Subject: [PATCH] fix(fold): choose the projection in the crdt-gated daemon fixtures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cargo test --lib --features crdt` compiles two `#[cfg(feature = "crdt")]` daemon tests that call `build_fresh_frontend_view`. Both model a semantic session, so they pass `false` — the Q#FD21 value a `semantic_render` attach gets until Stage 3. Bet B8 in the framing is exactly this: the projection is chosen explicitly at every construction site, never inferred, so a new call site cannot silently default. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Q5BkezMppbpCgGAYk2ftxV --- src/daemon.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/daemon.rs b/src/daemon.rs index 8a3c727..141623b 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -3589,7 +3589,9 @@ mod tests { let mut editor = EditorState::new(); let fid = FrontendId(99); - let view = build_fresh_frontend_view(&mut editor); + // Both these fixtures model a SEMANTIC session (Q#FD21: no fold + // projection until Stage 3). + let view = build_fresh_frontend_view(&mut editor, false); editor.core.borrow_mut().register_frontend_view(fid, view); let before = editor @@ -3650,7 +3652,9 @@ mod tests { // Attach: window shares LOCAL's active (scratch). let fid = FrontendId(99); - let view = build_fresh_frontend_view(&mut editor); + // Both these fixtures model a SEMANTIC session (Q#FD21: no fold + // projection until Stage 3). + let view = build_fresh_frontend_view(&mut editor, false); editor.core.borrow_mut().register_frontend_view(fid, view); assert_eq!( editor