feat: smart systray Léa (plyer), preflight GPU, fix tests, support qwen3-vl
- Smart systray (pystray+plyer) remplace PyQt5 : notifications toast, menu dynamique avec workflows, chat "Que dois-je faire ?", icône colorée - Preflight GPU : check_machine_ready() + @pytest.mark.gpu dans conftest - Correction 63 tests cassés → 0 failed (1200 passed) - Tests VWB obsolètes déplacés vers _a_trier/ - Support qwen3-vl:8b sur GPU (remplace qwen2.5vl:3b) - fix images < 32x32 (Ollama panic) - fix force_json=False (qwen3-vl incompatible) - fix temperature 0.1 (0.0 bloque avec images) - Fix captor Windows : Key.esc, _get_key_name() - Fix LeaServerClient : check_connection, list_workflows format - deploy_windows.py : packaging propre client Windows - VWB : edges visibles (#607d8b) + fitView automatique Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,6 +104,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session1.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session1)
|
||||
coaching_persistence.complete_session(session1.session_id, success=True)
|
||||
|
||||
# Verify session stats
|
||||
@@ -145,6 +146,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session2.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session2)
|
||||
coaching_persistence.complete_session(session2.session_id, success=True)
|
||||
print(f"Session 2 completed: {session2.stats}")
|
||||
|
||||
@@ -166,6 +168,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session)
|
||||
coaching_persistence.complete_session(session.session_id, success=True)
|
||||
print(f"Session {sess_num} completed: all accepted")
|
||||
|
||||
@@ -331,6 +334,7 @@ class TestCoachingE2E:
|
||||
workflow_id=workflow_id
|
||||
)
|
||||
|
||||
coaching_persistence.save_session(session)
|
||||
coaching_persistence.complete_session(session.session_id, success=True)
|
||||
|
||||
# Verify corrections captured in pack
|
||||
@@ -367,6 +371,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session)
|
||||
coaching_persistence.complete_session(session.session_id, success=True)
|
||||
|
||||
metrics = metrics_collector.get_workflow_metrics(workflow_id)
|
||||
@@ -389,6 +394,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session)
|
||||
coaching_persistence.complete_session(session.session_id, success=True)
|
||||
|
||||
metrics = metrics_collector.get_workflow_metrics(workflow_id)
|
||||
@@ -426,6 +432,7 @@ class TestCoachingE2E:
|
||||
)
|
||||
session.add_decision(record)
|
||||
|
||||
coaching_persistence.save_session(session)
|
||||
coaching_persistence.complete_session(session.session_id, success=True)
|
||||
|
||||
# Get global metrics
|
||||
|
||||
Reference in New Issue
Block a user