Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mistral-vibe for openSUSE:Factory 
checked in at 2026-08-24 12:11:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mistral-vibe (Old)
 and      /work/SRC/openSUSE:Factory/.mistral-vibe.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mistral-vibe"

Mon Aug 24 12:11:11 2026 rev:15 rq:1373262 version:2.24.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/mistral-vibe/mistral-vibe.changes        
2026-08-13 13:17:02.108584016 +0200
+++ /work/SRC/openSUSE:Factory/.mistral-vibe.new.1258/mistral-vibe.changes      
2026-08-24 12:16:42.114854801 +0200
@@ -1,0 +2,50 @@
+Fri Aug 21 09:48:25 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 2.24.3:
+  - Added
+    - Slash commands and setting pickers can be used while the
+      agent or a command is running
+    - The process is named "Vibe CLI" and the bottom bar shows
+      its PID
+  - Changed
+    - Models are shown by display name instead of the raw config
+      alias
+    - Python dependencies updated to clear known security
+      advisories
+  - Fixed
+    - Connector bootstrap failures are surfaced instead of
+      reporting no connectors
+
+-------------------------------------------------------------------
+Thu Aug 20 17:12:04 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 2.24.2:
+  - Added
+    - In-app session picker with live preview
+    - /log-level command for runtime log-level control
+    - /retry is exposed to ACP clients
+    - Created worktrees are shown in the transcript
+    - Worktrees are cleaned up when their local session is
+      deleted
+  - Changed
+    - Faster startup: the TUI renders before session
+      initialization and imports are deferred
+    - Faster session resume
+    - Edit and read tool headers show paths relative to the
+      current directory
+    - Admin config fetch retries with exponential backoff
+    - Custom tools are flagged as deprecated
+  - Fixed
+    - New worktrees branch from the remote default instead of
+      local HEAD
+    - Configured temperature is respected for reasoning models
+    - Thinking setting updates correctly for routed models
+    - Path picker stays open on / and supports ../ traversal
+    - Escape sequences in command output no longer flood the
+      input box
+    - Live tool-permission bypass propagates to child agent loops
+    - Managed shell output is no longer sent to the LLM twice
+    - Adding a tool to the allowlist keeps the default allowlist
+    - OpenTelemetry traces are sent to the correct endpoint
+
+-------------------------------------------------------------------

Old:
----
  mistral-vibe-2.24.1.tar.gz

New:
----
  mistral-vibe-2.24.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mistral-vibe.spec ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:43.833916027 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:43.834916062 +0200
@@ -16,7 +16,7 @@
 #
 
 Name:           mistral-vibe
-Version:        2.24.1
+Version:        2.24.3
 Release:        0
 Summary:        Minimal CLI coding agent by Mistral
 License:        Apache-2.0
@@ -130,6 +130,7 @@
 Requires:       python3-tomli-w >= 1.2.0
 Requires:       python3-tree-sitter >= 0.26.0
 Requires:       python3-tree-sitter-bash >= 0.25.1
+Requires:       tree-sitter-bash
 Requires:       python3-truststore >= 0.10.4
 Requires:       python3-typing-extensions >= 4.15.0
 Requires:       python3-typing-inspection >= 0.4.2
@@ -239,6 +240,7 @@
 BuildRequires:  python3-tomlkit >= 0.13.0
 BuildRequires:  python3-tree-sitter >= 0.26.0
 BuildRequires:  python3-tree-sitter-bash >= 0.25.1
+BuildRequires:  tree-sitter-bash
 BuildRequires:  python3-truststore >= 0.10.4
 BuildRequires:  python3-typing-extensions >= 4.15.0
 BuildRequires:  python3-typing-inspection >= 0.4.2

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:43.928919410 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:43.935919660 +0200
@@ -1,5 +1,5 @@
-mtime: 1786541825
-commit: 846dbc5c4c7d20d9918e0df0ca9ad1c052377f039147c5f2fa90ab431b992103
+mtime: 1787498788
+commit: 3a58ca22ed6dcc68c96bd1ebdbbbc4b1eb49810d146d4f4e8b74865cd5de4bbc
 url: https://src.opensuse.org/AI/mistral-vibe.git
 revision: factory
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-08-23 17:26:28.000000000 +0200
@@ -0,0 +1,9 @@
+.assets
+_build.*
+*.obscpio
+*.obsinfo
+*.osc
+.pbuild
+_service:*
+mistral-vibe-*-build/
+.aider*

++++++ fix_tests.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:44.398936150 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:44.403936328 +0200
@@ -2,11 +2,11 @@
  vibe/core/tools/builtins/grep.py |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: mistral-vibe-2.24.1/vibe/core/tools/builtins/grep.py
+Index: mistral-vibe-2.24.3/vibe/core/tools/builtins/grep.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/vibe/core/tools/builtins/grep.py  2026-08-11 
17:43:49.506144252 +0200
-+++ mistral-vibe-2.24.1/vibe/core/tools/builtins/grep.py       2026-08-11 
17:43:54.974872349 +0200
-@@ -272,7 +272,7 @@
+--- mistral-vibe-2.24.3.orig/vibe/core/tools/builtins/grep.py  2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/vibe/core/tools/builtins/grep.py       2026-08-22 
13:40:22.402713050 +0200
+@@ -271,7 +271,7 @@
              "--no-heading",
              "--with-filename",
              "--smart-case",
@@ -15,7 +15,7 @@
              # Request one extra to detect truncation
              "--max-count",
              str(max_matches + 1),
-@@ -293,7 +293,7 @@
+@@ -292,7 +292,7 @@
      ) -> list[str]:
          max_matches = args.max_matches or self.config.default_max_matches
  

++++++ fix_ui_tests.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:44.435937468 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:44.444937789 +0200
@@ -1,16 +1,16 @@
 ---
  tests/app_server/test_vibe_code.py                |    2 +-
+ tests/cli/test_ui_config_and_model_picker.py      |   12 +++++++++++-
  tests/cli/test_ui_session_incremental_renderer.py |    2 ++
  tests/cli/test_ui_skill_dispatch.py               |    2 ++
  tests/cli/textual_ui/test_app_server_requests.py  |    2 ++
- tests/core/test_worktree.py                       |    7 ++++++-
  tests/test_ui_rewind.py                           |    2 ++
- 6 files changed, 15 insertions(+), 2 deletions(-)
+ 6 files changed, 20 insertions(+), 2 deletions(-)
 
-Index: mistral-vibe-2.24.1/tests/app_server/test_vibe_code.py
+Index: mistral-vibe-2.24.3/tests/app_server/test_vibe_code.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/app_server/test_vibe_code.py        
2026-08-11 17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/app_server/test_vibe_code.py     2026-08-11 
17:44:03.556013548 +0200
+--- mistral-vibe-2.24.3.orig/tests/app_server/test_vibe_code.py        
2026-08-22 13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/app_server/test_vibe_code.py     2026-08-22 
13:44:23.769739837 +0200
 @@ -68,7 +68,7 @@
          capture_output=True,
          env=env,
@@ -20,10 +20,46 @@
      )
  
      assert result.returncode == 0, result.stderr
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_session_incremental_renderer.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_session_incremental_renderer.py 
2026-08-11 17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_session_incremental_renderer.py      
2026-08-11 17:44:03.557260298 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_config_and_model_picker.py      
2026-08-22 13:44:10.539665525 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py   
2026-08-22 13:44:23.770218219 +0200
+@@ -1,5 +1,6 @@
+ from __future__ import annotations
+ 
++import time
+ from unittest.mock import AsyncMock, patch
+ 
+ import pytest
+@@ -41,6 +42,15 @@
+     return build_test_vibe_config(models=_model_configs(), active_model="", 
**kwargs)
+ 
+ 
++async def _wait_until_drained(pilot, app, timeout: float = 2.0) -> bool:
++    deadline = time.monotonic() + timeout
++    while time.monotonic() < deadline:
++        if not app._queue.draining:
++            return True
++        await pilot.pause(0.05)
++    return False
++
++
+ # --- /model command ---
+ 
+ 
+@@ -263,7 +273,7 @@
+         # Highlight starts on pinned "alpha" (index 1); move up to Default.
+         await pilot.press("up")
+         await pilot.press("enter")
+-        await pilot.pause(0.2)
++        assert await _wait_until_drained(pilot, app)
+ 
+         assert app.config.active_model_pinned is False
+         assert app._current_bottom_app == BottomApp.Input
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_session_incremental_renderer.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_session_incremental_renderer.py 
2026-08-22 13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_session_incremental_renderer.py      
2026-08-22 13:44:23.770518335 +0200
 @@ -5,6 +5,8 @@
  import time
  
@@ -33,10 +69,10 @@
  from textual.widgets import Button
  
  from tests.conftest import build_test_agent_loop
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_skill_dispatch.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_skill_dispatch.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_skill_dispatch.py       
2026-08-11 17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_skill_dispatch.py    2026-08-11 
17:44:03.557470925 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_skill_dispatch.py       
2026-08-22 13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_skill_dispatch.py    2026-08-22 
13:44:23.770763718 +0200
 @@ -7,6 +7,8 @@
  
  import pytest
@@ -46,10 +82,10 @@
  from tests.conftest import build_test_vibe_app, build_test_vibe_config
  from tests.skills.conftest import create_skill
  from vibe.app_server.models import CompletedEffectState, PublicEffectEntry
-Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_app_server_requests.py
+Index: mistral-vibe-2.24.3/tests/cli/textual_ui/test_app_server_requests.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_app_server_requests.py  
2026-08-11 17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_app_server_requests.py       
2026-08-11 17:44:03.556388917 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/textual_ui/test_app_server_requests.py  
2026-08-22 13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/cli/textual_ui/test_app_server_requests.py       
2026-08-22 13:44:23.771035260 +0200
 @@ -8,6 +8,8 @@
  
  import pytest
@@ -59,28 +95,10 @@
  from tests.conftest import (
      build_test_agent_loop,
      build_test_vibe_app,
-Index: mistral-vibe-2.24.1/tests/core/test_worktree.py
-===================================================================
---- mistral-vibe-2.24.1.orig/tests/core/test_worktree.py       2026-08-11 
17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/core/test_worktree.py    2026-08-11 
17:44:03.556790523 +0200
-@@ -21,7 +21,12 @@
- 
- 
- def _init_repo(root: Path, *, separate_git_dir: Path | None = None) -> Repo:
--    repo = Repo.init(root, initial_branch="main", 
separate_git_dir=separate_git_dir)
-+    repo = Repo.init(
-+        root,
-+        initial_branch="main",
-+        separate_git_dir=separate_git_dir,
-+        allow_unsafe_options=True,
-+    )
-     repo.config_writer().set_value("user", "name", "Tester").release()
-     repo.config_writer().set_value("user", "email", 
"[email protected]").release()
-     (root / "file.txt").write_text("hello\n")
-Index: mistral-vibe-2.24.1/tests/test_ui_rewind.py
+Index: mistral-vibe-2.24.3/tests/test_ui_rewind.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/test_ui_rewind.py   2026-08-11 
17:43:49.363141762 +0200
-+++ mistral-vibe-2.24.1/tests/test_ui_rewind.py        2026-08-11 
17:44:03.557055772 +0200
+--- mistral-vibe-2.24.3.orig/tests/test_ui_rewind.py   2026-08-22 
13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/test_ui_rewind.py        2026-08-22 
13:44:23.771389237 +0200
 @@ -6,6 +6,8 @@
  
  import pytest

++++++ history_properties_timeout.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:44.472938786 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:44.481939107 +0200
@@ -2,10 +2,10 @@
  tests/core/test_history_properties.py |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: mistral-vibe-2.23.3/tests/core/test_history_properties.py
+Index: mistral-vibe-2.24.3/tests/core/test_history_properties.py
 ===================================================================
---- mistral-vibe-2.23.3.orig/tests/core/test_history_properties.py     
2026-08-03 14:57:51.000000000 +0200
-+++ mistral-vibe-2.23.3/tests/core/test_history_properties.py  2026-08-05 
16:38:25.740805859 +0200
+--- mistral-vibe-2.24.3.orig/tests/core/test_history_properties.py     
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/core/test_history_properties.py  2026-08-22 
13:40:27.668515522 +0200
 @@ -118,7 +118,7 @@
  
  # -- core invariants over random text chains ---------------------------------

++++++ mistral-vibe-2.24.1.tar.gz -> mistral-vibe-2.24.3.tar.gz ++++++
++++ 44366 lines of diff (skipped)

++++++ no_network.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:46.230001366 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:46.243001829 +0200
@@ -1,33 +1,37 @@
 ---
- pyproject.toml                          |    3 +++
- tests/acp/test_acp_entrypoint_smoke.py  |    2 ++
- tests/e2e/test_cli_tui_fresh_install.py |    1 +
- tests/e2e/test_cli_tui_hooks.py         |    2 ++
- tests/e2e/test_cli_tui_onboarding.py    |    2 ++
- tests/e2e/test_cli_tui_session_exit.py  |    2 ++
- tests/e2e/test_cli_tui_streaming.py     |    2 ++
- tests/e2e/test_cli_tui_tool_approval.py |    2 ++
- tests/test_install_script.py            |    3 +++
- 9 files changed, 19 insertions(+)
+ pyproject.toml                                        |    1 +
+ tests/acp/test_acp_entrypoint_smoke.py                |    2 ++
+ tests/app_server/test_transport.py                    |    1 +
+ tests/cli/test_audio_config_boundary.py               |    3 +++
+ tests/cli/test_log_level_command.py                   |    1 +
+ tests/cli/test_ui_config_and_model_picker.py          |    1 +
+ tests/cli/textual_ui/test_custom_tools_deprecation.py |    2 ++
+ tests/conftest.py                                     |   11 +++++++++++
+ tests/e2e/test_cli_tui_fresh_install.py               |    1 +
+ tests/e2e/test_cli_tui_hooks.py                       |    2 ++
+ tests/e2e/test_cli_tui_onboarding.py                  |    2 ++
+ tests/e2e/test_cli_tui_session_exit.py                |    2 ++
+ tests/e2e/test_cli_tui_streaming.py                   |    2 ++
+ tests/e2e/test_cli_tui_tool_approval.py               |    2 ++
+ tests/test_install_script.py                          |    3 +++
+ 15 files changed, 36 insertions(+)
 
-Index: mistral-vibe-2.24.1/pyproject.toml
+Index: mistral-vibe-2.24.3/pyproject.toml
 ===================================================================
---- mistral-vibe-2.24.1.orig/pyproject.toml    2026-08-11 17:43:49.609146046 
+0200
-+++ mistral-vibe-2.24.1/pyproject.toml 2026-08-11 17:43:52.261274367 +0200
-@@ -261,6 +261,9 @@
- [tool.pytest.ini_options]
- addopts = "-vvvv -q -n auto --durations=10 --import-mode=importlib 
--maxschedchunk=1"
+--- mistral-vibe-2.24.3.orig/pyproject.toml    2026-08-20 19:38:11.000000000 
+0200
++++ mistral-vibe-2.24.3/pyproject.toml 2026-08-22 13:40:18.974703431 +0200
+@@ -271,6 +271,7 @@
  timeout = 10
-+markers = [
+ markers = [
+     "unified_supported: backend contract behavior implemented by the Unified 
Harness",
 +    "network: tests that require network-capable execution environment",
-+]
+ ]
  filterwarnings = [
      # (e2e) streaming mock server is started in a thread; and the cli is 
spawn in a fork
-     "ignore:This process \\(pid=.*\\) is multi-threaded, use of forkpty\\(\\) 
may lead to deadlocks in the child\\.:DeprecationWarning",
-Index: mistral-vibe-2.24.1/tests/acp/test_acp_entrypoint_smoke.py
+Index: mistral-vibe-2.24.3/tests/acp/test_acp_entrypoint_smoke.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/acp/test_acp_entrypoint_smoke.py    
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/acp/test_acp_entrypoint_smoke.py 2026-08-11 
17:43:52.261699137 +0200
+--- mistral-vibe-2.24.3.orig/tests/acp/test_acp_entrypoint_smoke.py    
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/acp/test_acp_entrypoint_smoke.py 2026-08-22 
13:40:18.975019507 +0200
 @@ -29,6 +29,8 @@
      "Sign into Mistral Vibe through your Mistral AI Studio account."
  )
@@ -37,10 +41,116 @@
  
  class _AcpSmokeClient(Client):
      def on_connect(self, conn: Any) -> None:
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_fresh_install.py
+Index: mistral-vibe-2.24.3/tests/app_server/test_transport.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_fresh_install.py   
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_fresh_install.py        
2026-08-11 17:43:52.262039669 +0200
+--- mistral-vibe-2.24.3.orig/tests/app_server/test_transport.py        
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/app_server/test_transport.py     2026-08-22 
13:40:18.977797014 +0200
+@@ -239,6 +239,7 @@
+     assert [json.loads(line) for line in writer.getvalue().splitlines()] == 
[{"id": 1}]
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_stdio_server_uses_the_same_json_rpc_lifecycle() -> None:
+     agent_loop = build_test_agent_loop()
+Index: mistral-vibe-2.24.3/tests/cli/test_audio_config_boundary.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/cli/test_audio_config_boundary.py   
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_audio_config_boundary.py        
2026-08-22 13:40:18.976615476 +0200
+@@ -29,6 +29,7 @@
+     return await _wait_until(pilot, lambda: not app._queue.draining, timeout)
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_voice_mode_is_persisted_before_local_application() -> None:
+     voice = FakeVoiceManager(is_voice_ready=False)
+@@ -60,6 +61,7 @@
+         assert voice.is_enabled is True
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_local_voice_failure_does_not_undo_accepted_config() -> None:
+     voice = FakeVoiceManager(is_voice_ready=False)
+@@ -84,6 +86,7 @@
+         assert notify.call_args.kwargs["severity"] == "warning"
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_narrator_sync_observes_accepted_config() -> None:
+     narrator = MagicMock()
+Index: mistral-vibe-2.24.3/tests/cli/test_log_level_command.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/cli/test_log_level_command.py       
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_log_level_command.py    2026-08-22 
13:40:18.976856901 +0200
+@@ -199,6 +199,7 @@
+     assert get_session_override() is None
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_picker_config_write_failure_surfaces_error(monkeypatch) -> 
None:
+     # When the inline (idle) config write fails, the picker must surface an
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_config_and_model_picker.py      
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py   
2026-08-22 13:40:18.977067178 +0200
+@@ -145,6 +145,7 @@
+             update_config.assert_not_awaited()
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_model_picker_select_model() -> None:
+     app = build_test_vibe_app(config=_make_config_with_models())
+Index: 
mistral-vibe-2.24.3/tests/cli/textual_ui/test_custom_tools_deprecation.py
+===================================================================
+--- 
mistral-vibe-2.24.3.orig/tests/cli/textual_ui/test_custom_tools_deprecation.py  
   2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/textual_ui/test_custom_tools_deprecation.py  
2026-08-22 13:40:18.977278536 +0200
+@@ -21,6 +21,7 @@
+     pytest.fail("Condition not met within timeout")
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_startup_warns_when_custom_tools_are_available(tmp_path: Path) 
-> None:
+     tools_dir = tmp_path / "tools"
+@@ -69,6 +70,7 @@
+     assert not app.query(CustomToolsDeprecationMessage)
+ 
+ 
[email protected]
+ @pytest.mark.asyncio
+ async def test_rebuilding_the_transcript_restores_the_custom_tools_warning(
+     tmp_path: Path,
+Index: mistral-vibe-2.24.3/tests/conftest.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/conftest.py 2026-08-20 19:38:11.000000000 
+0200
++++ mistral-vibe-2.24.3/tests/conftest.py      2026-08-22 13:40:18.977557692 
+0200
+@@ -237,6 +237,17 @@
+ 
+ 
+ @pytest.fixture(autouse=True)
++def _mock_fetch_managed_config(monkeypatch: pytest.MonkeyPatch) -> None:
++    from vibe.core.config.admin_config import ManagedConfigResult
++
++    async def fake_fetch(*args: Any, **kwargs: Any) -> ManagedConfigResult:
++        return ManagedConfigResult(error="Mocked: no network in tests")
++
++    monkeypatch.setattr("vibe.core.config.admin_config.fetch_managed_config", 
fake_fetch)
++    monkeypatch.setattr("vibe.app_server._resources.fetch_managed_config", 
fake_fetch)
++
++
[email protected](autouse=True)
+ def _mock_platform(monkeypatch: pytest.MonkeyPatch) -> None:
+     """Mock platform to be Linux with /bin/sh shell for consistent test 
behavior.
+ 
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_fresh_install.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_fresh_install.py   
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_fresh_install.py        
2026-08-22 13:40:18.975294035 +0200
 @@ -62,6 +62,7 @@
      return _venv_executable(venv_path, "vibe")
  
@@ -49,10 +159,10 @@
  @pytest.mark.timeout(90)
  def test_fresh_wheel_install_can_spawn_cli_and_complete_happy_path(
      streaming_mock_server: StreamingMockServer,
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_hooks.py
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_hooks.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_hooks.py   2026-08-11 
17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_hooks.py        2026-08-11 
17:43:52.262307063 +0200
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_hooks.py   2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_hooks.py        2026-08-22 
13:40:18.975501406 +0200
 @@ -18,6 +18,8 @@
  )
  from tests.e2e.mock_server import StreamingMockServer
@@ -62,10 +172,10 @@
  
  def _setup_recording_hook(vibe_home: Path, invocation_path: Path) -> None:
      script = vibe_home / "_record_hook.py"
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_onboarding.py
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_onboarding.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_onboarding.py      
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_onboarding.py   2026-08-11 
17:43:52.262557024 +0200
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_onboarding.py      
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_onboarding.py   2026-08-22 
13:40:18.975682106 +0200
 @@ -7,6 +7,8 @@
  
  from tests.e2e.common import SpawnedVibeProcessFixture, ansi_tolerant_pattern
@@ -75,10 +185,10 @@
  
  @pytest.mark.timeout(15)
  def test_spawn_cli_shows_onboarding_when_api_key_missing(
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_session_exit.py
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_session_exit.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_session_exit.py    
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_session_exit.py 2026-08-11 
17:43:52.262775486 +0200
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_session_exit.py    
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_session_exit.py 2026-08-22 
13:40:18.975875240 +0200
 @@ -23,6 +23,8 @@
  from tests.e2e.mock_server import StreamingMockServer
  from vibe.utils.io import read_safe
@@ -88,10 +198,10 @@
  
  def _usage_by_run_factory(
      request_index: int, _payload: object
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_streaming.py
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_streaming.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_streaming.py       
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_streaming.py    2026-08-11 
17:43:52.262991943 +0200
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_streaming.py       
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_streaming.py    2026-08-22 
13:40:18.976063916 +0200
 @@ -14,6 +14,8 @@
  )
  from tests.e2e.mock_server import StreamingMockServer
@@ -101,10 +211,10 @@
  
  @pytest.mark.timeout(15)
  def test_spawn_cli_to_send_and_receive_message(
-Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_tool_approval.py
+Index: mistral-vibe-2.24.3/tests/e2e/test_cli_tui_tool_approval.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_tool_approval.py   
2026-08-11 17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_tool_approval.py        
2026-08-11 17:43:52.263154390 +0200
+--- mistral-vibe-2.24.3.orig/tests/e2e/test_cli_tui_tool_approval.py   
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/test_cli_tui_tool_approval.py        
2026-08-22 13:40:18.976236071 +0200
 @@ -14,6 +14,8 @@
  )
  from tests.e2e.mock_server import ChatCompletionsRequestPayload, 
StreamingMockServer
@@ -114,10 +224,10 @@
  PREDICTABLE_OUTPUT = "__E2E_BASH_OK__"
  TOOL_ARGUMENTS = f'{{"command":"printf \\"{PREDICTABLE_OUTPUT}\\\\n\\""}}'
  
-Index: mistral-vibe-2.24.1/tests/test_install_script.py
+Index: mistral-vibe-2.24.3/tests/test_install_script.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/test_install_script.py      2026-08-11 
17:43:49.609146046 +0200
-+++ mistral-vibe-2.24.1/tests/test_install_script.py   2026-08-11 
17:43:52.263330892 +0200
+--- mistral-vibe-2.24.3.orig/tests/test_install_script.py      2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/test_install_script.py   2026-08-22 
13:40:18.976414006 +0200
 @@ -7,6 +7,8 @@
  import subprocess
  from textwrap import dedent

++++++ no_terminal.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:46.282003218 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:46.287003396 +0200
@@ -4,6 +4,7 @@
  pyproject.toml                                                 |    1 +
  tests/cli/test_switching_mode.py                               |    2 ++
  tests/cli/test_ui_clipboard_notifications.py                   |    2 ++
+ tests/cli/test_ui_config_and_model_picker.py                   |    3 +++
  tests/cli/test_ui_config_screen.py                             |    2 ++
  tests/cli/test_ui_exit_command.py                              |    2 ++
  tests/cli/test_ui_theme_picker.py                              |    2 ++
@@ -19,23 +20,23 @@
  tests/onboarding/test_ui_onboarding.py                         |    2 ++
  tests/tools/test_ui_bash_execution.py                          |    2 ++
  tests/vscode_extension_promo/test_ui_vscode_extension_promo.py |    2 ++
- 18 files changed, 35 insertions(+)
-Index: mistral-vibe-2.24.1/pyproject.toml
+ 19 files changed, 38 insertions(+)
+Index: mistral-vibe-2.24.3/pyproject.toml
 ===================================================================
---- mistral-vibe-2.24.1.orig/pyproject.toml    2026-08-11 17:43:52.261274367 
+0200
-+++ mistral-vibe-2.24.1/pyproject.toml 2026-08-11 17:43:56.972599493 +0200
-@@ -263,6 +263,7 @@
- timeout = 10
+--- mistral-vibe-2.24.3.orig/pyproject.toml    2026-08-22 13:42:27.422660226 
+0200
++++ mistral-vibe-2.24.3/pyproject.toml 2026-08-22 13:42:27.455279313 +0200
+@@ -272,6 +272,7 @@
  markers = [
+     "unified_supported: backend contract behavior implemented by the Unified 
Harness",
      "network: tests that require network-capable execution environment",
 +    "terminal: tests that require terminal-capable execution environment",
  ]
  filterwarnings = [
      # (e2e) streaming mock server is started in a thread; and the cli is 
spawn in a fork
-Index: mistral-vibe-2.24.1/tests/cli/test_switching_mode.py
+Index: mistral-vibe-2.24.3/tests/cli/test_switching_mode.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_switching_mode.py  2026-08-11 
17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_switching_mode.py       2026-08-11 
17:43:56.970825149 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_switching_mode.py  2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_switching_mode.py       2026-08-22 
13:42:27.455560854 +0200
 @@ -5,6 +5,8 @@
  
  import pytest
@@ -45,10 +46,10 @@
  from tests.conftest import build_test_agent_loop, build_test_vibe_app
  from tests.mock.utils import mock_llm_chunk
  from tests.stubs.fake_backend import FakeBackend
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_clipboard_notifications.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_clipboard_notifications.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_clipboard_notifications.py      
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_clipboard_notifications.py   
2026-08-11 17:43:56.972803507 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_clipboard_notifications.py      
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_clipboard_notifications.py   
2026-08-22 13:42:27.455841212 +0200
 @@ -3,6 +3,8 @@
  from unittest.mock import patch
  
@@ -58,10 +59,24 @@
  from textual.selection import Selection
  from textual.widget import Widget
  
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_config_screen.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_config_screen.py        
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_config_screen.py     2026-08-11 
17:43:56.971204534 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_config_and_model_picker.py      
2026-08-22 13:42:42.936887544 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_config_and_model_picker.py   
2026-08-22 13:44:10.539665525 +0200
+@@ -3,6 +3,9 @@
+ from unittest.mock import AsyncMock, patch
+ 
+ import pytest
++
++pytestmark = pytest.mark.terminal
++
+ from textual.widgets import OptionList
+ 
+ from tests.conftest import build_test_vibe_app, build_test_vibe_config
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_config_screen.py
+===================================================================
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_config_screen.py        
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_config_screen.py     2026-08-22 
13:42:27.456149493 +0200
 @@ -4,6 +4,8 @@
  import tomllib
  
@@ -71,10 +86,10 @@
  import tomli_w
  
  from tests.conftest import (
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_exit_command.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_exit_command.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_exit_command.py 2026-08-11 
17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_exit_command.py      2026-08-11 
17:43:56.971274246 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_exit_command.py 2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_exit_command.py      2026-08-22 
13:42:27.456446363 +0200
 @@ -4,6 +4,8 @@
  
  import pytest
@@ -84,11 +99,11 @@
  from tests.conftest import build_test_vibe_app
  from vibe.cli.textual_ui.widgets.chat_input.container import 
ChatInputContainer
  from vibe.cli.textual_ui.widgets.messages import SlashCommandMessage, 
UserMessage
-Index: mistral-vibe-2.24.1/tests/cli/test_ui_theme_picker.py
+Index: mistral-vibe-2.24.3/tests/cli/test_ui_theme_picker.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_ui_theme_picker.py 2026-08-11 
17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_ui_theme_picker.py      2026-08-11 
17:43:56.971598918 +0200
-@@ -5,6 +5,8 @@
+--- mistral-vibe-2.24.3.orig/tests/cli/test_ui_theme_picker.py 2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_ui_theme_picker.py      2026-08-22 
13:42:27.456693028 +0200
+@@ -7,6 +7,8 @@
  
  import pytest
  
@@ -97,10 +112,10 @@
  from tests.conftest import build_test_vibe_app, build_test_vibe_config
  from vibe.cli.textual_ui.app import BottomApp
  from vibe.cli.textual_ui.widgets.theme_picker import ThemePickerApp
-Index: mistral-vibe-2.24.1/tests/cli/test_whoami_command.py
+Index: mistral-vibe-2.24.3/tests/cli/test_whoami_command.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_whoami_command.py  2026-08-11 
17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_whoami_command.py       2026-08-11 
17:43:56.971807651 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_whoami_command.py  2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_whoami_command.py       2026-08-22 
13:42:27.456730528 +0200
 @@ -4,6 +4,8 @@
  
  import pytest
@@ -110,10 +125,10 @@
  from tests.conftest import build_test_vibe_app
  from tests.stubs.fake_account_gateway import FakeAccountGateway
  from tests.stubs.fake_identity_gateway import FakeIdentityGateway
-Index: mistral-vibe-2.24.1/tests/cli/test_word_selection.py
+Index: mistral-vibe-2.24.3/tests/cli/test_word_selection.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_word_selection.py  2026-08-11 
17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_word_selection.py       2026-08-11 
17:43:56.972060567 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_word_selection.py  2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_word_selection.py       2026-08-22 
13:42:27.457256380 +0200
 @@ -3,6 +3,8 @@
  from typing import Any, ClassVar, cast
  
@@ -123,10 +138,10 @@
  from textual import events
  from textual.geometry import Offset, Region
  from textual.screen import Screen
-Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_chat_input_word_drag.py
+Index: mistral-vibe-2.24.3/tests/cli/textual_ui/test_chat_input_word_drag.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_chat_input_word_drag.py 
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_chat_input_word_drag.py      
2026-08-11 17:43:56.972345374 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/textual_ui/test_chat_input_word_drag.py 
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/textual_ui/test_chat_input_word_drag.py      
2026-08-22 13:42:27.457520158 +0200
 @@ -1,6 +1,8 @@
  from __future__ import annotations
  
@@ -136,11 +151,11 @@
  from textual import events
  from textual.widgets.text_area import Selection
  
-Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_message_queue_ui.py
+Index: mistral-vibe-2.24.3/tests/cli/textual_ui/test_message_queue_ui.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_message_queue_ui.py     
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_message_queue_ui.py  
2026-08-11 17:43:56.972996742 +0200
-@@ -4,6 +4,8 @@
+--- mistral-vibe-2.24.3.orig/tests/cli/textual_ui/test_message_queue_ui.py     
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/textual_ui/test_message_queue_ui.py  
2026-08-22 13:42:27.457801147 +0200
+@@ -5,6 +5,8 @@
  
  import pytest
  
@@ -149,10 +164,10 @@
  from tests.conftest import build_test_vibe_app
  from vibe.cli.textual_ui.app import VibeApp
  from vibe.cli.textual_ui.widgets.chat_input.container import 
ChatInputContainer
-Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_resume.py
+Index: mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_resume.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_resume.py   
   2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_resume.py   
2026-08-11 17:43:56.973246532 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/e2e/agent_loop_characterization/test_resume.py   
   2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_resume.py   
2026-08-22 13:42:27.458043234 +0200
 @@ -8,6 +8,8 @@
  import pexpect
  import pytest
@@ -162,10 +177,10 @@
  from tests.e2e.agent_loop_characterization.support import (
      assert_assistant_tool_call_present,
      assert_message_content_present,
-Index: 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_subagents.py
+Index: 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_subagents.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_subagents.py
   2026-08-11 17:43:49.459143434 +0200
-+++ 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_subagents.py     
   2026-08-11 17:43:56.973510059 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/e2e/agent_loop_characterization/test_subagents.py
   2026-08-20 19:38:11.000000000 +0200
++++ 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_subagents.py     
   2026-08-22 13:42:27.458288687 +0200
 @@ -5,6 +5,8 @@
  import pexpect
  import pytest
@@ -175,10 +190,10 @@
  from tests.e2e.agent_loop_characterization.support import (
      assert_message_content_present,
      assert_tool_result_contains,
-Index: 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_execution.py
+Index: 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_tool_execution.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_tool_execution.py
      2026-08-11 17:43:49.459143434 +0200
-+++ 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_execution.py
   2026-08-11 17:43:56.973695007 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/e2e/agent_loop_characterization/test_tool_execution.py
      2026-08-20 19:38:11.000000000 +0200
++++ 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_tool_execution.py
   2026-08-22 13:42:27.458452165 +0200
 @@ -6,6 +6,8 @@
  import pexpect
  import pytest
@@ -188,10 +203,10 @@
  from tests.e2e.agent_loop_characterization.support import (
      answer_approval,
      assert_assistant_tool_call_present,
-Index: 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_permissions.py
+Index: 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_tool_permissions.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_tool_permissions.py
    2026-08-11 17:43:49.459143434 +0200
-+++ 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_permissions.py
 2026-08-11 17:43:56.973882481 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/e2e/agent_loop_characterization/test_tool_permissions.py
    2026-08-20 19:38:11.000000000 +0200
++++ 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_tool_permissions.py
 2026-08-22 13:42:27.458628026 +0200
 @@ -6,6 +6,8 @@
  import pexpect
  import pytest
@@ -201,10 +216,10 @@
  from tests.e2e.agent_loop_characterization.support import (
      answer_approval,
      assert_tool_result_contains,
-Index: 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_user_interaction.py
+Index: 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_user_interaction.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_user_interaction.py
    2026-08-11 17:43:49.459143434 +0200
-+++ 
mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_user_interaction.py
 2026-08-11 17:43:56.974060957 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/e2e/agent_loop_characterization/test_user_interaction.py
    2026-08-20 19:38:11.000000000 +0200
++++ 
mistral-vibe-2.24.3/tests/e2e/agent_loop_characterization/test_user_interaction.py
 2026-08-22 13:42:27.458825018 +0200
 @@ -7,6 +7,8 @@
  import pexpect
  import pytest
@@ -214,10 +229,10 @@
  from tests.e2e.agent_loop_characterization.support import (
      APPROVAL_INPUT_GRACE_PERIOD_S,
      assert_tool_result_contains,
-Index: mistral-vibe-2.24.1/tests/onboarding/test_ui_onboarding.py
+Index: mistral-vibe-2.24.3/tests/onboarding/test_ui_onboarding.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/onboarding/test_ui_onboarding.py    
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/onboarding/test_ui_onboarding.py 2026-08-11 
17:43:56.974284138 +0200
+--- mistral-vibe-2.24.3.orig/tests/onboarding/test_ui_onboarding.py    
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/onboarding/test_ui_onboarding.py 2026-08-22 
13:42:27.459090628 +0200
 @@ -10,6 +10,8 @@
  import keyring
  from keyring.errors import KeyringError
@@ -227,10 +242,10 @@
  from textual.content import Content
  from textual.events import Resize
  from textual.geometry import Size
-Index: mistral-vibe-2.24.1/tests/tools/test_ui_bash_execution.py
+Index: mistral-vibe-2.24.3/tests/tools/test_ui_bash_execution.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/tools/test_ui_bash_execution.py     
2026-08-11 17:43:49.459143434 +0200
-+++ mistral-vibe-2.24.1/tests/tools/test_ui_bash_execution.py  2026-08-11 
17:43:56.974623768 +0200
+--- mistral-vibe-2.24.3.orig/tests/tools/test_ui_bash_execution.py     
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/tools/test_ui_bash_execution.py  2026-08-22 
13:42:27.459450236 +0200
 @@ -5,6 +5,8 @@
  from pydantic import JsonValue
  import pytest
@@ -240,10 +255,10 @@
  from tests.conftest import build_test_agent_loop, build_test_vibe_app
  from tests.mock.utils import mock_llm_chunk
  from tests.stubs.fake_backend import FakeBackend
-Index: 
mistral-vibe-2.24.1/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
+Index: 
mistral-vibe-2.24.3/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
 ===================================================================
---- 
mistral-vibe-2.24.1.orig/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
    2026-08-11 17:43:49.459143434 +0200
-+++ 
mistral-vibe-2.24.1/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
 2026-08-11 17:43:56.974873057 +0200
+--- 
mistral-vibe-2.24.3.orig/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
    2026-08-20 19:38:11.000000000 +0200
++++ 
mistral-vibe-2.24.3/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py
 2026-08-22 13:42:27.459731196 +0200
 @@ -8,6 +8,8 @@
  
  import pytest

++++++ warning_cleanup.patch ++++++
--- /var/tmp/diff_new_pack.6EmyFi/_old  2026-08-24 12:16:46.332004998 +0200
+++ /var/tmp/diff_new_pack.6EmyFi/_new  2026-08-24 12:16:46.343005390 +0200
@@ -6,10 +6,10 @@
  vibe/core/config/event_bus.py                     |    7 +++----
  5 files changed, 10 insertions(+), 12 deletions(-)
 
-Index: mistral-vibe-2.24.1/tests/cli/test_connector_auth_app.py
+Index: mistral-vibe-2.24.3/tests/cli/test_connector_auth_app.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/tests/cli/test_connector_auth_app.py      
2026-08-11 17:43:49.315140926 +0200
-+++ mistral-vibe-2.24.1/tests/cli/test_connector_auth_app.py   2026-08-11 
17:44:06.382867945 +0200
+--- mistral-vibe-2.24.3.orig/tests/cli/test_connector_auth_app.py      
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/tests/cli/test_connector_auth_app.py   2026-08-22 
13:40:31.881109298 +0200
 @@ -259,7 +259,7 @@
  
          assert app._status_message == "Refreshing connector..."
@@ -19,10 +19,10 @@
          assert kwargs["group"] == "connector_refresh"
  
  
-Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/connector_auth_app.py
+Index: mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/connector_auth_app.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/connector_auth_app.py 
2026-08-11 17:43:49.315140926 +0200
-+++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/connector_auth_app.py      
2026-08-11 17:44:06.383453979 +0200
+--- mistral-vibe-2.24.3.orig/vibe/cli/textual_ui/widgets/connector_auth_app.py 
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/connector_auth_app.py      
2026-08-22 13:40:31.881565168 +0200
 @@ -98,7 +98,7 @@
          self._status_message = "Refreshing connector..."
          self._set_help_text(_HELP)
@@ -32,10 +32,10 @@
          )
  
      # ── workers ──────────────────────────────────────────────────────
-Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/mcp_app.py
+Index: mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/mcp_app.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/mcp_app.py    
2026-08-11 17:43:49.315140926 +0200
-+++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-11 
17:44:06.384162004 +0200
+--- mistral-vibe-2.24.3.orig/vibe/cli/textual_ui/widgets/mcp_app.py    
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-22 
13:40:31.882008323 +0200
 @@ -160,7 +160,7 @@
          if self._refresh_callback is None or self._refreshing:
              return
@@ -45,10 +45,10 @@
  
      async def _run_refresh(self) -> None:
          if self._refresh_callback is not None:
-Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/question_app.py
+Index: mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/question_app.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/question_app.py       
2026-08-11 17:43:49.315140926 +0200
-+++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/question_app.py    
2026-08-11 17:44:06.384511422 +0200
+--- mistral-vibe-2.24.3.orig/vibe/cli/textual_ui/widgets/question_app.py       
2026-08-20 19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/vibe/cli/textual_ui/widgets/question_app.py    
2026-08-22 13:40:31.882239840 +0200
 @@ -1,6 +1,5 @@
  from __future__ import annotations
  
@@ -71,10 +71,10 @@
                  if i not in self.answers
              )
              self._switch_question(new_idx)
-Index: mistral-vibe-2.24.1/vibe/core/config/event_bus.py
+Index: mistral-vibe-2.24.3/vibe/core/config/event_bus.py
 ===================================================================
---- mistral-vibe-2.24.1.orig/vibe/core/config/event_bus.py     2026-08-11 
17:43:49.315140926 +0200
-+++ mistral-vibe-2.24.1/vibe/core/config/event_bus.py  2026-08-11 
17:44:06.384772414 +0200
+--- mistral-vibe-2.24.3.orig/vibe/core/config/event_bus.py     2026-08-20 
19:38:11.000000000 +0200
++++ mistral-vibe-2.24.3/vibe/core/config/event_bus.py  2026-08-22 
13:40:31.882494340 +0200
 @@ -2,8 +2,6 @@
  
  from collections.abc import Callable

Reply via email to