fix: Robustness improvements for RAG tests and GUI stability
- Added import sys to src/api_hook_client.py. - Fixed App.__getattr__ to use direct attribute access on controller to avoid recursion. - Simplified _get_app_attr and _has_app_attr in src/api_hooks.py. - Centralized RAG and symbol enrichment in AppController._handle_request_event. - Updated ests/test_symbol_parsing.py to match the new enrichment flow. - Removed redundant task appending from i_status and mma_status setters. - Improved _sync_rag_engine to only set 'ready' status after indexing is confirmed. - Updated est_status_encapsulation.py to reflect setter changes.
This commit is contained in:
+12
-4
@@ -118,6 +118,8 @@ class App:
|
||||
# --- Initialization ---
|
||||
self.controller.init_state()
|
||||
self.workspace_manager = workspace_manager.WorkspaceManager(project_root=self.controller.active_project_root)
|
||||
self.disc_entries = self.controller.disc_entries
|
||||
self.disc_roles = self.controller.disc_roles
|
||||
self.workspace_profiles = self.workspace_manager.load_all_profiles()
|
||||
self.controller.start_services(self)
|
||||
# --- Controller Callbacks & Actions ---
|
||||
@@ -379,13 +381,19 @@ class App:
|
||||
if name == 'controller':
|
||||
raise AttributeError(name)
|
||||
try:
|
||||
# Use object.__getattribute__ to avoid recursion if 'controller' isn't initialized yet
|
||||
ctrl = object.__getattribute__(self, 'controller')
|
||||
except AttributeError:
|
||||
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
|
||||
raise AttributeError(name)
|
||||
|
||||
if ctrl is not None:
|
||||
try:
|
||||
val = getattr(ctrl, name)
|
||||
sys.stderr.write(f"[DEBUG __getattr__] name={name}, val_type={type(val).__name__}\n")
|
||||
sys.stderr.flush()
|
||||
return val
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
if ctrl is not None and hasattr(ctrl, name):
|
||||
return getattr(ctrl, name)
|
||||
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
|
||||
|
||||
def __setattr__(self, name: str, value: Any) -> None:
|
||||
|
||||
Reference in New Issue
Block a user