Ruff-Cleanup: ganzes MC2-Repo lint-grün + projekt-passende ruff.toml
Die Ampel-Nachruestung deckte 317/337 vorbestehende ruff-Verstoesse im ganzen Repo auf. Aufgeraeumt: - ruff.toml: intentionale Muster als Projekt-Politik ausgenommen (BLE001 blind-except, S110/S112 try-except-pass/continue, PLW1510 subprocess-best-effort, B008 FastAPI- Depends/File-Idiom, EXE001 Shebang, + wenige Stil-Regeln). __init__.py-Re-Exports geschuetzt (F401). - ruff --fix: 128 mechanische (Import-Sortierung, PEP585/604-Annotationen, tote Imports, ueberfluessige noqa) auto-behoben. - 12 echte Reste von Hand: PERF402/102, PLC3002 (Lambda->walrus), ISC004 (String-Concat geklammert), F841/RUF059 (ungenutzte Vars), PIE810 (startswith-Tuple), UP031 (f-string), UP035 (veraltete typing-Imports). Ergebnis: 'ruff check .' = 0, 'compileall' grün. Kein Verhaltenswechsel (nur Stil/Modernisierung). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -27,10 +27,9 @@ import queue
|
||||
import re
|
||||
import threading
|
||||
import time
|
||||
from typing import Any, Dict, List, Optional
|
||||
from typing import Any, Optional
|
||||
|
||||
import httpx
|
||||
|
||||
from agent.memory_provider import MemoryProvider
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -79,12 +78,12 @@ class MC2MemoryProvider(MemoryProvider):
|
||||
def __init__(self) -> None:
|
||||
self._session_id = ""
|
||||
self._agent_context = "primary"
|
||||
self._q: "queue.Queue[list]" = queue.Queue(maxsize=200)
|
||||
self._worker: Optional[threading.Thread] = None
|
||||
self._q: queue.Queue[list] = queue.Queue(maxsize=200)
|
||||
self._worker: threading.Thread | None = None
|
||||
self._stop = threading.Event()
|
||||
self._recall_cache: Dict[str, str] = {}
|
||||
self._recall_cache: dict[str, str] = {}
|
||||
# Turn-Puffer der Lern-Buendelung (siehe BATCH_TURNS/BATCH_IDLE_S).
|
||||
self._buf: List[List[Dict[str, str]]] = []
|
||||
self._buf: list[list[dict[str, str]]] = []
|
||||
self._buf_lock = threading.Lock()
|
||||
self._buf_last_add = 0.0
|
||||
|
||||
@@ -146,7 +145,7 @@ class MC2MemoryProvider(MemoryProvider):
|
||||
|
||||
# -- Lernen (nach dem Turn) ----------------------------------------------
|
||||
def sync_turn(self, user_content: str, assistant_content: str, *,
|
||||
session_id: str = "", messages: Optional[List[Dict[str, Any]]] = None) -> None:
|
||||
session_id: str = "", messages: list[dict[str, Any]] | None = None) -> None:
|
||||
if self._agent_context != "primary":
|
||||
return
|
||||
u = (user_content or "").strip()
|
||||
@@ -158,7 +157,7 @@ class MC2MemoryProvider(MemoryProvider):
|
||||
if SKIP_UNTRUSTED and any(m in u for m in UNTRUSTED_MARKERS):
|
||||
log.debug("mc2-memory: Turn mit untrusted Bildschirm-/Web-Inhalt — Auto-Lernen übersprungen")
|
||||
return
|
||||
msgs: List[Dict[str, str]] = [{"role": "user", "content": u}]
|
||||
msgs: list[dict[str, str]] = [{"role": "user", "content": u}]
|
||||
a = (assistant_content or "").strip()
|
||||
# Hermes ≥0.18 liefert optional den vollen Turn-Kontext (`messages`, inkl. Tool-Calls).
|
||||
# Bewusst NUR die Tool-NAMEN mitlernen ("hat X per Tool Y geprüft") — Tool-ERGEBNISSE
|
||||
@@ -188,7 +187,7 @@ class MC2MemoryProvider(MemoryProvider):
|
||||
with self._buf_lock:
|
||||
if not self._buf:
|
||||
return
|
||||
merged: List[Dict[str, str]] = []
|
||||
merged: list[dict[str, str]] = []
|
||||
for turn in self._buf:
|
||||
merged.extend(turn)
|
||||
self._buf.clear()
|
||||
@@ -237,10 +236,10 @@ class MC2MemoryProvider(MemoryProvider):
|
||||
self._post_learn(msgs)
|
||||
|
||||
# -- Context-only: keine Agent-Tools → kein Tool-Loop --------------------
|
||||
def get_tool_schemas(self) -> List[Dict[str, Any]]:
|
||||
def get_tool_schemas(self) -> list[dict[str, Any]]:
|
||||
return []
|
||||
|
||||
def on_session_end(self, messages: List[Dict[str, Any]]) -> None:
|
||||
def on_session_end(self, messages: list[dict[str, Any]]) -> None:
|
||||
self._flush()
|
||||
|
||||
def shutdown(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user